summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/doc/manual/release-notes/rl-unstable.xml14
-rw-r--r--nixos/lib/testing.nix4
-rw-r--r--nixos/modules/installer/tools/nixos-rebuild.sh8
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/profiles/installation-device.nix5
-rw-r--r--nixos/modules/programs/environment.nix1
-rw-r--r--nixos/modules/programs/shadow.nix6
-rw-r--r--nixos/modules/rename.nix2
-rw-r--r--nixos/modules/security/grsecurity.nix35
-rw-r--r--nixos/modules/services/audio/mpd.nix10
-rw-r--r--nixos/modules/services/backup/tarsnap.nix34
-rw-r--r--nixos/modules/services/misc/docker-registry.nix2
-rw-r--r--nixos/modules/services/misc/ihaskell.nix76
-rw-r--r--nixos/modules/services/networking/i2p.nix42
-rw-r--r--nixos/modules/services/ttys/agetty.nix23
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix3
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/moodle.nix193
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/per-server-options.nix6
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/wordpress.nix209
-rw-r--r--nixos/modules/services/x11/xserver.nix21
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl4
-rw-r--r--nixos/modules/virtualisation/amazon-config.nix2
-rw-r--r--nixos/tests/networking.nix125
-rw-r--r--pkgs/applications/altcoins/default.nix4
-rw-r--r--pkgs/applications/altcoins/primecoin.nix52
-rw-r--r--pkgs/applications/audio/abcde/default.nix4
-rw-r--r--pkgs/applications/audio/chuck/default.nix4
-rw-r--r--pkgs/applications/audio/pamixer/default.nix13
-rw-r--r--pkgs/applications/audio/qmmp/default.nix4
-rw-r--r--pkgs/applications/audio/tomahawk/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/default.nix16
-rw-r--r--pkgs/applications/editors/emacs-24/darwin-new-sections.patch50
-rw-r--r--pkgs/applications/editors/emacs-24/default.nix35
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.5.nix103
-rw-r--r--pkgs/applications/editors/emacs-modes/cask/default.nix5
-rw-r--r--pkgs/applications/editors/idea/default.nix12
-rw-r--r--pkgs/applications/editors/yi/wrapper.nix36
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/LICENSE24
-rw-r--r--pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal17
-rw-r--r--pkgs/applications/editors/yi/yi-custom.nix40
-rw-r--r--pkgs/applications/graphics/feh/default.nix4
-rw-r--r--pkgs/applications/graphics/pencil/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/dbvisualizer/default.nix25
-rw-r--r--pkgs/applications/misc/keepass/default.nix4
-rw-r--r--pkgs/applications/misc/keybase-node-client/default.nix2
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--pkgs/applications/misc/ranger/default.nix10
-rw-r--r--pkgs/applications/misc/synergy/default.nix4
-rw-r--r--pkgs/applications/misc/xkblayout-state/default.nix5
-rw-r--r--pkgs/applications/misc/yate/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix2
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix19
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix3
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix8
-rw-r--r--pkgs/applications/networking/umurmur/default.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix4
-rw-r--r--pkgs/applications/version-management/subversion/default.nix4
-rw-r--r--pkgs/applications/video/aegisub/default.nix14
-rw-r--r--pkgs/applications/video/makemkv/default.nix6
-rw-r--r--pkgs/applications/window-managers/i3/default.nix11
-rw-r--r--pkgs/applications/window-managers/i3/status.nix4
-rw-r--r--pkgs/data/fonts/caladea/cambria-alias.conf18
-rw-r--r--pkgs/data/fonts/caladea/default.nix40
-rw-r--r--pkgs/data/fonts/carlito/calibri-alias.conf18
-rw-r--r--pkgs/data/fonts/carlito/default.nix40
-rw-r--r--pkgs/data/fonts/comfortaa/default.nix31
-rw-r--r--pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf18
-rw-r--r--pkgs/data/fonts/comic-relief/default.nix49
-rw-r--r--pkgs/data/fonts/corefonts/default.nix22
-rw-r--r--pkgs/data/fonts/corefonts/no-op.conf9
-rw-r--r--pkgs/data/fonts/crimson/default.nix28
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix34
-rw-r--r--pkgs/data/fonts/fira-mono/default.nix33
-rw-r--r--pkgs/data/fonts/fira/default.nix16
-rw-r--r--pkgs/data/fonts/lobster-two/default.nix75
-rw-r--r--pkgs/data/fonts/pecita/default.nix26
-rw-r--r--pkgs/data/fonts/quattrocento-sans/default.nix31
-rw-r--r--pkgs/data/fonts/quattrocento/default.nix29
-rw-r--r--pkgs/data/fonts/vista-fonts/default.nix19
-rw-r--r--pkgs/data/fonts/vista-fonts/no-op.conf9
-rw-r--r--pkgs/desktops/e19/efl.nix4
-rw-r--r--pkgs/desktops/e19/elementary.nix4
-rw-r--r--pkgs/desktops/e19/evas.nix4
-rw-r--r--pkgs/desktops/e19/rage.nix4
-rw-r--r--pkgs/development/compilers/ats2/default.nix4
-rw-r--r--pkgs/development/compilers/closure/default.nix4
-rw-r--r--pkgs/development/compilers/dmd/default.nix6
-rw-r--r--pkgs/development/compilers/ghcjs/default.nix9
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix8
-rw-r--r--pkgs/development/compilers/rdmd/default.nix11
-rw-r--r--pkgs/development/coq-modules/bedrock/default.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix49
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix69
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix15
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix20
-rw-r--r--pkgs/development/haskell-modules/diagrams-lib-flexible-contexts.patch11
-rw-r--r--pkgs/development/haskell-modules/dyre-nix.patch25
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1451
-rw-r--r--pkgs/development/interpreters/elixir/default.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix6
-rw-r--r--pkgs/development/interpreters/ruby/bundix/Gemfile2
-rw-r--r--pkgs/development/interpreters/ruby/bundix/Gemfile.lock4
-rw-r--r--pkgs/development/interpreters/ruby/bundix/gemset.nix4
-rw-r--r--pkgs/development/libraries/gecode/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix15
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix4
-rw-r--r--pkgs/development/libraries/libksba/default.nix4
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libsecret/default.nix15
-rw-r--r--pkgs/development/libraries/libvpx/default.nix204
-rw-r--r--pkgs/development/libraries/libvpx/git.nix178
-rw-r--r--pkgs/development/libraries/libzen/default.nix4
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix4
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix5
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix12
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/cl-wrapper.sh2
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix2
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix25
-rw-r--r--pkgs/development/ocaml-modules/pgocaml/default.nix12
-rw-r--r--pkgs/development/python-modules/generic/default.nix6
-rw-r--r--pkgs/development/python-modules/generic/wrap.sh7
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix8
-rw-r--r--pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix35
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix55
-rw-r--r--pkgs/development/tools/leksah/default.nix17
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix8
-rw-r--r--pkgs/development/tools/misc/gdb/edit-signals.patch25
-rw-r--r--pkgs/development/web/iojs/default.nix6
-rwxr-xr-xpkgs/development/web/iojs/update-iojs7
-rw-r--r--pkgs/games/bastet/default.nix28
-rw-r--r--pkgs/games/simutrans/default.nix195
-rw-r--r--pkgs/games/tibia/default.nix6
-rw-r--r--pkgs/games/xonotic/default.nix4
-rw-r--r--pkgs/misc/cups/filters.nix10
-rw-r--r--pkgs/misc/emulators/atari800/default.nix36
-rw-r--r--pkgs/misc/emulators/gxemul/default.nix (renamed from pkgs/misc/gxemul/default.nix)37
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix6
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix9
-rw-r--r--pkgs/os-specific/linux/checksec/default.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/grsec-path.patch13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.19.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.0.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/libcgroup/default.nix18
-rw-r--r--pkgs/os-specific/linux/spl/default.nix6
-rw-r--r--pkgs/os-specific/linux/spl/git.nix8
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix-git.patch173
-rw-r--r--pkgs/os-specific/linux/spl/install_prefix.patch447
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix9
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix10
-rw-r--r--pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch24
-rw-r--r--pkgs/os-specific/linux/zfs/nix-build-git.patch133
-rw-r--r--pkgs/os-specific/linux/zfs/nix-build.patch347
-rw-r--r--pkgs/servers/http/nginx/default.nix11
-rw-r--r--pkgs/servers/http/openresty/default.nix12
-rw-r--r--pkgs/servers/monitoring/bosun/default.nix4
-rw-r--r--pkgs/servers/monitoring/bosun/scollector.nix4
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix12
-rw-r--r--pkgs/servers/sql/mariadb/default.nix5
-rw-r--r--pkgs/servers/sslh/default.nix4
-rw-r--r--pkgs/servers/varnish/default.nix10
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix8
-rw-r--r--pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch22
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix12
-rw-r--r--pkgs/shells/es/default.nix45
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix44
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--pkgs/tools/filesystems/tmsu/default.nix4
-rw-r--r--pkgs/tools/filesystems/unionfs-fuse/default.nix7
-rw-r--r--pkgs/tools/misc/less/default.nix6
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/networking/hping/default.nix1
-rw-r--r--pkgs/tools/networking/i2p/default.nix13
-rw-r--r--pkgs/tools/networking/lftp/default.nix4
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix12
-rw-r--r--pkgs/tools/security/afl/README.md12
-rw-r--r--pkgs/tools/security/afl/default.nix39
-rw-r--r--pkgs/tools/security/afl/qemu-patches/afl-config.h5
-rw-r--r--pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h6
-rw-r--r--pkgs/tools/security/afl/qemu.nix2
-rw-r--r--pkgs/tools/security/gnupg/21.nix4
-rw-r--r--pkgs/tools/security/pass/default.nix24
-rw-r--r--pkgs/tools/security/pinentry/default.nix4
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix6
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix94
-rw-r--r--pkgs/top-level/emacs-packages.nix107
-rw-r--r--pkgs/top-level/haskell-packages.nix8
-rw-r--r--pkgs/top-level/lua-packages.nix33
-rw-r--r--pkgs/top-level/perl-packages.nix16
-rw-r--r--pkgs/top-level/python-packages.nix125
205 files changed, 4268 insertions, 2463 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 70937cdb75a5..be35c45e672b 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -60,6 +60,7 @@
   dbohdan = "Danyil Bohdan <danyil.bohdan@gmail.com>";
   DerGuteMoritz = "Moritz Heidkamp <moritz@twoticketsplease.de>";
   devhell = "devhell <\"^\"@regexmail.net>";
+  dezgeg = "Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>";
   dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
   doublec = "Chris Double <chris.double@double.co.nz>";
   ederoyd46 = "Matthew Brown <matt@ederoyd.co.uk>";
diff --git a/nixos/doc/manual/release-notes/rl-unstable.xml b/nixos/doc/manual/release-notes/rl-unstable.xml
index 34ffe1d6d323..cdbd074e7828 100644
--- a/nixos/doc/manual/release-notes/rl-unstable.xml
+++ b/nixos/doc/manual/release-notes/rl-unstable.xml
@@ -35,6 +35,20 @@ and old <literal>steam</literal> package -- to <literal>steamOriginal</literal>.
 was accordingly renamed to <literal>bomi</literal>
 </para></listitem>
 
+<listitem>
+    <para>
+        The default <literal>NIX_PATH</literal> for NixOS now includes
+        <literal>/nix/var/nix/profiles/per-user/root/channels</literal>, so it's
+        easy to add custom channels.
+    </para>
+    <para>
+        Moreover, whenever a <command>nixos-rebuild &lt;action&gt;
+        --upgrade</command> is issued, every channel that includes a file
+        called <filename>.update-on-nixos-rebuild</filename> will be upgraded
+        alongside of the <literal>nixos</literal> channel.
+    </para>
+</listitem>
+
 </itemizedlist>
 </para>
 
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 73b55ed6c060..c14f15a1ad5d 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -47,7 +47,7 @@ rec {
         ''
           mkdir -p $out/nix-support
 
-          LOGFILE=$out/log.xml tests='eval $ENV{testScript}; die $@ if $@;' ${driver}/bin/nixos-test-driver || failed=1
+          LOGFILE=$out/log.xml tests='eval $ENV{testScript}; die $@ if $@;' ${driver}/bin/nixos-test-driver
 
           # Generate a pretty-printed log.
           xsltproc --output $out/log.html ${./test-driver/log2html.xsl} $out/log.xml
@@ -63,8 +63,6 @@ rec {
             mkdir -p $out/coverage-data
             mv $i $out/coverage-data/$(dirname $(dirname $i))
           done
-
-          [ -z "$failed" ] || touch $out/nix-support/failed
         ''; # */
     };
 
diff --git a/nixos/modules/installer/tools/nixos-rebuild.sh b/nixos/modules/installer/tools/nixos-rebuild.sh
index 1d6df8cb3f71..ccafa30856c5 100644
--- a/nixos/modules/installer/tools/nixos-rebuild.sh
+++ b/nixos/modules/installer/tools/nixos-rebuild.sh
@@ -96,6 +96,14 @@ fi
 # If ‘--upgrade’ is given, run ‘nix-channel --update nixos’.
 if [ -n "$upgrade" -a -z "$_NIXOS_REBUILD_REEXEC" ]; then
     nix-channel --update nixos
+
+    # If there are other channels that contain a file called
+    # ".update-on-nixos-rebuild", update them as well.
+    for channelpath in /nix/var/nix/profiles/per-user/root/channels/*; do
+        if [ -e "$channelpath/.update-on-nixos-rebuild" ]; then
+            nix-channel --update "$(basename "$channelpath")"
+        fi
+    done
 fi
 
 # Make sure that we use the Nix package we depend on, not something
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index c2523a3cc329..312c24db98b9 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -214,6 +214,8 @@
       ripple-data-api = 186;
       mediatomb = 187;
       rdnssd = 188;
+      ihaskell = 189;
+      i2p = 190;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -405,6 +407,8 @@
       #ripple-data-api = 186; #unused
       mediatomb = 187;
       #rdnssd = 188; # unused
+      ihaskell = 189;
+      i2p = 190;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 17717c5988dc..8a4adfc24f52 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -193,6 +193,7 @@
   ./services/misc/gitlab.nix
   ./services/misc/gitolite.nix
   ./services/misc/gpsd.nix
+  ./services/misc/ihaskell.nix
   ./services/misc/mediatomb.nix
   ./services/misc/mesos-master.nix
   ./services/misc/mesos-slave.nix
diff --git a/nixos/modules/profiles/installation-device.nix b/nixos/modules/profiles/installation-device.nix
index 5aab2a2954e7..f1e733080573 100644
--- a/nixos/modules/profiles/installation-device.nix
+++ b/nixos/modules/profiles/installation-device.nix
@@ -30,11 +30,14 @@ with lib;
     # the full glibcLocales package.
     i18n.supportedLocales = ["en_US.UTF-8/UTF-8" "en_US/ISO-8859-1"];
 
+    # Automatically log in at the virtual consoles.
+    services.mingetty.autologinUser = "root";
+
     # Some more help text.
     services.mingetty.helpLine =
       ''
 
-        Log in as "root" with an empty password.  ${
+        The "root" account has an empty password.  ${
           optionalString config.services.xserver.enable
             "Type `start display-manager' to\nstart the graphical user interface."}
       '';
diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix
index e0379a2c02af..dce757ceb623 100644
--- a/nixos/modules/programs/environment.nix
+++ b/nixos/modules/programs/environment.nix
@@ -28,6 +28,7 @@ in
           [ "/nix/var/nix/profiles/per-user/root/channels/nixos"
             "nixpkgs=/etc/nixos/nixpkgs"
             "nixos-config=/etc/nixos/configuration.nix"
+            "/nix/var/nix/profiles/per-user/root/channels"
           ];
       };
 
diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix
index 895ecb122cb6..566398d839fd 100644
--- a/nixos/modules/programs/shadow.nix
+++ b/nixos/modules/programs/shadow.nix
@@ -100,8 +100,10 @@ in
         chgpasswd = { rootOK = true; };
       };
 
-    security.setuidPrograms = [ "passwd" "chfn" "su" "sg" "newgrp"
-      "newuidmap" "newgidmap"  # new in shadow 4.2.x
+    security.setuidPrograms = [ "su" "chfn" ]
+      ++ lib.optionals config.users.mutableUsers
+      [ "passwd" "sg" "newgrp"
+        "newuidmap" "newgidmap" # new in shadow 4.2.x
       ];
 
   };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index d90cffbd967f..fc83e7ed590a 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -135,7 +135,7 @@ in zipModules ([]
 
 ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ]
 
-++ obsolete [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]
+++ alias    [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]
 
 # XBMC
 ++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
index 35974f6890e6..b116d8bfef28 100644
--- a/nixos/modules/security/grsecurity.nix
+++ b/nixos/modules/security/grsecurity.nix
@@ -112,9 +112,6 @@ in
             <literal>kernel.grsecurity.grsec_lock</literal> to
             non-zero as soon as all sysctl options are set. *THIS IS
             EXTREMELY IMPORTANT*!
-
-            If disabled, this also turns off the
-            <literal>systemd-sysctl</literal> service.
           '';
         };
 
@@ -229,11 +226,8 @@ in
             kernel 3.19) to continue.
           '';
         }
-        { assertion = (cfg.stable -> !cfg.testing) || (cfg.testing -> !cfg.stable);
-          message   = ''
-            You must select either the stable or testing patch, not
-            both.
-          '';
+        { assertion = !(cfg.stable && cfg.testing);
+          message   = "Select either one of the stable or testing patch";
         }
         { assertion = (cfg.config.restrictProc -> !cfg.config.restrictProcWithGroup) ||
                       (cfg.config.restrictProcWithGroup -> !cfg.config.restrictProc);
@@ -282,22 +276,21 @@ in
 #     };
 #   };
 
-    system.activationScripts.grsec =
-      ''
-        mkdir -p /etc/grsec
-        if [ ! -f /etc/grsec/learn_config ]; then
-          cp ${pkgs.gradm}/etc/grsec/learn_config /etc/grsec
-        fi
-        if [ ! -f /etc/grsec/policy ]; then
-          cp ${pkgs.gradm}/etc/grsec/policy /etc/grsec
-        fi
-        chmod -R 0600 /etc/grsec
-      '';
+    system.activationScripts = lib.optionalAttrs (!cfg.config.disableRBAC) { grsec = ''
+      mkdir -p /etc/grsec
+      if [ ! -f /etc/grsec/learn_config ]; then
+        cp ${pkgs.gradm}/etc/grsec/learn_config /etc/grsec
+      fi
+      if [ ! -f /etc/grsec/policy ]; then
+        cp ${pkgs.gradm}/etc/grsec/policy /etc/grsec
+      fi
+      chmod -R 0600 /etc/grsec
+    ''; };
 
     # Enable AppArmor, gradm udev rules, and utilities
     security.apparmor.enable   = true;
     boot.kernelPackages        = customGrsecPkg;
-    services.udev.packages     = [ pkgs.gradm ];
-    environment.systemPackages = [ pkgs.gradm pkgs.paxctl pkgs.pax-utils ];
+    services.udev.packages     = lib.optional (!cfg.config.disableRBAC) pkgs.gradm;
+    environment.systemPackages = [ pkgs.paxctl pkgs.pax-utils ] ++ lib.optional (!cfg.config.disableRBAC) pkgs.gradm;
   };
 }
diff --git a/nixos/modules/services/audio/mpd.nix b/nixos/modules/services/audio/mpd.nix
index d9b5bf7b5e6f..06ba4b9b5acb 100644
--- a/nixos/modules/services/audio/mpd.nix
+++ b/nixos/modules/services/audio/mpd.nix
@@ -11,7 +11,7 @@ let
   mpdConf = pkgs.writeText "mpd.conf" ''
     music_directory     "${cfg.musicDirectory}"
     playlist_directory  "${cfg.dataDir}/playlists"
-    db_file             "${cfg.dataDir}/tag_cache"
+    db_file             "${cfg.dbFile}"
     state_file          "${cfg.dataDir}/state"
     sticker_file        "${cfg.dataDir}/sticker.sql"
     log_file            "syslog"
@@ -93,6 +93,14 @@ in {
         };
 
       };
+
+      dbFile = mkOption {
+        type = types.str;
+        default = "${cfg.dataDir}/tag_cache";
+        description = ''
+          The path to MPD's database.
+        '';
+      };
     };
 
   };
diff --git a/nixos/modules/services/backup/tarsnap.nix b/nixos/modules/services/backup/tarsnap.nix
index 155161945cd9..f8eeb4378443 100644
--- a/nixos/modules/services/backup/tarsnap.nix
+++ b/nixos/modules/services/backup/tarsnap.nix
@@ -5,20 +5,21 @@ with lib;
 let
   cfg = config.services.tarsnap;
 
-  optionalNullStr = e: v: if e == null then "" else v;
-
   configFile = cfg: ''
     cachedir ${config.services.tarsnap.cachedir}
     keyfile  ${config.services.tarsnap.keyfile}
     ${optionalString cfg.nodump "nodump"}
     ${optionalString cfg.printStats "print-stats"}
     ${optionalString cfg.printStats "humanize-numbers"}
-    ${optionalNullStr cfg.checkpointBytes "checkpoint-bytes "+cfg.checkpointBytes}
+    ${optionalString (cfg.checkpointBytes != null) ("checkpoint-bytes "+cfg.checkpointBytes)}
     ${optionalString cfg.aggressiveNetworking "aggressive-networking"}
     ${concatStringsSep "\n" (map (v: "exclude "+v) cfg.excludes)}
     ${concatStringsSep "\n" (map (v: "include "+v) cfg.includes)}
     ${optionalString cfg.lowmem "lowmem"}
     ${optionalString cfg.verylowmem "verylowmem"}
+    ${optionalString (cfg.maxbw != null) ("maxbw "+toString cfg.maxbw)}
+    ${optionalString (cfg.maxbwRateUp != null) ("maxbw-rate-up "+toString cfg.maxbwRateUp)}
+    ${optionalString (cfg.maxbwRateDown != null) ("maxbw-rate-down "+toString cfg.maxbwRateDown)}
   '';
 in
 {
@@ -166,6 +167,33 @@ in
                   slowing down the archiving process.
                 '';
               };
+
+              maxbw = mkOption {
+                type = types.nullOr types.int;
+                default = null;
+                description = ''
+                  Abort archival if upstream bandwidth usage in bytes
+                  exceeds this threshold.
+                '';
+              };
+
+              maxbwRateUp = mkOption {
+                type = types.nullOr types.int;
+                default = null;
+                example = literalExample "25 * 1000";
+                description = ''
+                  Upload bandwidth rate limit in bytes.
+                '';
+              };
+
+              maxbwRateDown = mkOption {
+                type = types.nullOr types.int;
+                default = null;
+                example = literalExample "50 * 1000";
+                description = ''
+                  Download bandwidth rate limit in bytes.
+                '';
+              };
             };
           }
         ));
diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix
index 67580a1c6277..d25fd13a77df 100644
--- a/nixos/modules/services/misc/docker-registry.nix
+++ b/nixos/modules/services/misc/docker-registry.nix
@@ -30,7 +30,7 @@ in {
     storagePath = mkOption {
       type = types.path;
       default = "/var/lib/docker/registry";
-      description = "Docker registry strorage path.";
+      description = "Docker registry storage path.";
     };
 
     extraConfig = mkOption {
diff --git a/nixos/modules/services/misc/ihaskell.nix b/nixos/modules/services/misc/ihaskell.nix
new file mode 100644
index 000000000000..7f7f981de498
--- /dev/null
+++ b/nixos/modules/services/misc/ihaskell.nix
@@ -0,0 +1,76 @@
+{ pkgs, lib, config, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.ihaskell;
+  ihaskell = pkgs.ihaskell.override {
+    inherit (cfg.haskellPackages) ihaskell ghcWithPackages;
+    packages = self: cfg.extraPackages self;
+  };
+
+in
+
+{
+  options = {
+    services.ihaskell = {
+      enable = mkOption {
+        default = false;
+        example = true;
+        description = "Autostart an IHaskell notebook service.";
+      };
+
+      haskellPackages = mkOption {
+        default = pkgs.haskellngPackages;
+        defaultText = "pkgs.haskellngPackages";
+        example = literalExample "pkgs.haskell-ng.packages.ghc784";
+        description = ''
+          haskellPackages used to build IHaskell and other packages.
+          This can be used to change the GHC version used to build
+          IHaskell and the packages listed in
+          <varname>extraPackages</varname>.
+        '';
+      };
+
+      extraPackages = mkOption {
+        default = self: [];
+        example = literalExample ''
+          haskellPackages: [
+            haskellPackages.wreq
+            haskellPackages.lens
+          ]
+        '';
+        description = ''
+          Extra packages available to ghc when running ihaskell. The
+          value must be a function which receives the attrset defined
+          in <varname>haskellPackages</varname> as the sole argument.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers.ihaskell = {
+      group = config.users.extraGroups.ihaskell.name;
+      description = "IHaskell user";
+      home = "/var/lib/ihaskell";
+      createHome = true;
+      uid = config.ids.uids.ihaskell;
+    };
+
+    users.extraGroups.ihaskell.gid = config.ids.gids.ihaskell;
+
+    systemd.services.ihaskell = {
+      description = "IHaskell notebook instance";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = {
+        User = config.users.extraUsers.ihaskell.name;
+        Group = config.users.extraGroups.ihaskell.name;
+        ExecStart = "${pkgs.stdenv.shell} -c \"cd $HOME;${ihaskell}/bin/ihaskell-notebook\"";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/i2p.nix b/nixos/modules/services/networking/i2p.nix
new file mode 100644
index 000000000000..bad22c791388
--- /dev/null
+++ b/nixos/modules/services/networking/i2p.nix
@@ -0,0 +1,42 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.i2p;
+  homeDir = "/var/lib/i2p";
+in {
+  ###### interface
+  options.services.i2p = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enables i2p as a running service upon activation.
+        '';
+      };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    users.extraUsers.i2p = {
+      group = "i2p";
+      description = "i2p User";
+      home = homeDir;
+      createHome = true;
+      uid = config.ids.uids.i2p;
+    };
+    users.extraGroups.i2p.gid = config.ids.gids.i2p;
+    systemd.services.i2p = {
+      description = "I2P router with administration interface for hidden services";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "i2p";
+        WorkingDirectory = homeDir;
+        Restart = "on-abort";
+        ExecStart = "${pkgs.i2p}/bin/i2prouter-plain";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/ttys/agetty.nix b/nixos/modules/services/ttys/agetty.nix
index 3958be33df2c..85ee23c1a3dd 100644
--- a/nixos/modules/services/ttys/agetty.nix
+++ b/nixos/modules/services/ttys/agetty.nix
@@ -10,6 +10,15 @@ with lib;
 
     services.mingetty = {
 
+      autologinUser = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Username of the account that will be automatically logged in at the console.
+          If unspecified, a login prompt is shown as usual.
+        '';
+      };
+
       greetingLine = mkOption {
         type = types.str;
         default = ''<<< Welcome to NixOS ${config.system.nixosVersion} (\m) - \l >>>'';
@@ -46,28 +55,30 @@ with lib;
 
   ###### implementation
 
-  config = {
-
+  config = let
+    autologinArg = optionalString (config.services.mingetty.autologinUser != null) "--autologin ${config.services.mingetty.autologinUser}";
+    gettyCmd = extraArgs: "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}";
+  in {
     systemd.services."getty@" =
-      { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud %I 115200,38400,9600 $TERM";
+      { serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud %I 115200,38400,9600 $TERM";
         restartIfChanged = false;
       };
 
     systemd.services."serial-getty@" =
       { serviceConfig.ExecStart =
           let speeds = concatStringsSep "," (map toString config.services.mingetty.serialSpeed);
-          in "@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I ${speeds} $TERM";
+          in gettyCmd "%I ${speeds} $TERM";
         restartIfChanged = false;
       };
 
     systemd.services."container-getty@" =
       { unitConfig.ConditionPathExists = "/dev/pts/%I"; # Work around being respawned when "machinectl login" exits.
-        serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud pts/%I 115200,38400,9600 $TERM";
+        serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud pts/%I 115200,38400,9600 $TERM";
         restartIfChanged = false;
       };
 
     systemd.services."console-getty" =
-      { serviceConfig.ExecStart = "@${pkgs.utillinux}/sbin/agetty agetty --noclear --login-program ${pkgs.shadow}/bin/login --keep-baud console 115200,38400,9600 $TERM";
+      { serviceConfig.ExecStart = gettyCmd "--noclear --keep-baud console 115200,38400,9600 $TERM";
         serviceConfig.Restart = "always";
         restartIfChanged = false;
 	enable = mkDefault config.boot.isContainer;
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 2b5cba68d457..2885fd396525 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -231,6 +231,9 @@ let
     ${if cfg.sslServerCert != null then ''
       SSLCertificateFile ${cfg.sslServerCert}
       SSLCertificateKeyFile ${cfg.sslServerKey}
+      ${if cfg.sslServerChain != null then ''
+        SSLCertificateChainFile ${cfg.sslServerChain}
+      '' else ""}
     '' else ""}
 
     ${if cfg.enableSSL then ''
diff --git a/nixos/modules/services/web-servers/apache-httpd/moodle.nix b/nixos/modules/services/web-servers/apache-httpd/moodle.nix
new file mode 100644
index 000000000000..84c8281ecd8d
--- /dev/null
+++ b/nixos/modules/services/web-servers/apache-httpd/moodle.nix
@@ -0,0 +1,193 @@
+{ config, lib, pkgs, serverInfo, php, ... }:
+
+with lib;
+
+let
+
+  httpd = serverInfo.serverConfig.package;
+
+  version24 = !versionOlder httpd.version "2.4";
+
+  allGranted = if version24 then ''
+    Require all granted
+  '' else ''
+    Order allow,deny
+    Allow from all
+  '';
+
+  moodleConfig = pkgs.writeText "config.php"
+    ''
+      <?php
+      unset($CFG);
+      global $CFG;
+      $CFG = new stdClass();
+      $CFG->dbtype    = '${config.dbType}';
+      $CFG->dblibrary = 'native';
+      $CFG->dbhost    = '${config.dbHost}';
+      $CFG->dbname    = '${config.dbName}';
+      $CFG->dbuser    = '${config.dbUser}';
+      $CFG->dbpass    = '${config.dbPassword}';
+      $CFG->prefix    = '${config.dbPrefix}';
+      $CFG->dboptions = array(
+          'dbpersist' => false,
+          'dbsocket'  => false,
+          'dbport'    => "${config.dbPort}",
+      );
+      $CFG->wwwroot   = '${config.wwwRoot}';
+      $CFG->dataroot  = '${config.dataRoot}';
+      $CFG->directorypermissions = 02777;
+      $CFG->admin = 'admin';
+      ${optionalString (config.debug.noEmailEver == true) ''
+        $CFG->noemailever = true;
+      ''}
+
+      ${config.extraConfig}
+      require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit
+    '';
+  # Unpack Moodle and put the config file in its root directory.
+  moodleRoot = pkgs.stdenv.mkDerivation rec {
+    name= "moodle-2.8.5";
+
+    src = pkgs.fetchurl {
+      url = "https://download.moodle.org/stable28/${name}.tgz";
+      sha256 = "1a159a193010cddedce10ee009184502e6f732e4d7c85167d8597fe5dff9e190";
+    };
+
+    buildPhase =
+      ''
+      ''; 
+
+    installPhase =
+      ''
+        mkdir -p $out
+        cp -r * $out
+        cp ${moodleConfig} $out/config.php
+      '';
+  };
+
+in
+
+{
+
+  extraConfig =
+  ''
+    # this should be config.urlPrefix instead of /
+    Alias / ${moodleRoot}/
+    <Directory ${moodleRoot}>
+      DirectoryIndex index.php
+    </Directory>
+  '';
+
+  documentRoot = moodleRoot; # TODO: fix this, should be config.urlPrefix
+
+  enablePHP = true;
+
+  options = {
+
+    id = mkOption {
+      default = "main";
+      description = ''
+        A unique identifier necessary to keep multiple Moodle server
+        instances on the same machine apart.
+      '';
+    };
+
+    dbType = mkOption {
+      default = "postgres";
+      example = "mysql";
+      description = "Database type.";
+    };
+
+    dbName = mkOption {
+      default = "moodle";
+      description = "Name of the database that holds the Moodle data.";
+    };
+
+    dbHost = mkOption {
+      default = "localhost";
+      example = "10.0.2.2";
+      description = ''
+        The location of the database server.
+      '';
+    };
+
+    dbPort = mkOption {
+      default = ""; # use the default port
+      example = "12345";
+      description = ''
+        The port that is used to connect to the database server.
+      '';
+    };
+
+    dbUser = mkOption {
+      default = "moodle";
+      description = "The user name for accessing the database.";
+    };
+
+    dbPassword = mkOption {
+      default = "";
+      example = "password";
+      description = ''
+        The password of the database user.  Warning: this is stored in
+        cleartext in the Nix store!
+      '';
+    };
+    
+    dbPrefix = mkOption {
+      default = "mdl_";
+      example = "my_other_mdl_";
+      description = ''
+        A prefix for each table, if multiple moodles should run in a single database.
+      '';
+    };
+
+    wwwRoot = mkOption {
+      type = types.string;
+      example = "http://my.machine.com/my-moodle";
+      description = ''
+        The full web address where moodle has been installed.
+      '';
+    };
+
+    dataRoot = mkOption {
+      default = "/var/lib/moodledata";
+      example = "/var/lib/moodledata";
+      description = ''
+        The data directory for moodle. Needs to be writable!
+      '';
+      type = types.path;
+      };
+
+    
+    extraConfig = mkOption {
+      default = "";
+      example =
+        ''
+        '';
+      description = ''
+        Any additional text to be appended to Moodle's
+        configuration file.  This is a PHP script.
+      '';
+    };
+
+    debug = {
+      noEmailEver = mkOption {
+        default = false;
+	example = "true";
+	description = ''
+	  Set this to true to prevent Moodle from ever sending any email.
+	'';
+	};
+    };
+  };
+
+  startupScript = pkgs.writeScript "moodle_startup.sh" ''
+  echo "Checking for existence of ${config.dataRoot}"
+  if [ ! -e "${config.dataRoot}" ]
+  then
+    mkdir -p "${config.dataRoot}"
+    chown ${serverInfo.serverConfig.user}.${serverInfo.serverConfig.group} "${config.dataRoot}"
+  fi
+  '';
+
+}
diff --git a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
index 76f55a63e326..9fb25c37f5b1 100644
--- a/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
@@ -56,6 +56,12 @@ with lib;
     description = "Path to server SSL certificate key.";
   };
 
+  sslServerChain = mkOption {
+    type = types.path;
+    example = "/var/ca.pem";
+    description = "Path to server SSL chain file.";
+  };
+
   adminAddr = mkOption ({
     type = types.nullOr types.str;
     example = "admin@example.org";
diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
new file mode 100644
index 000000000000..01b6cfc62afb
--- /dev/null
+++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
@@ -0,0 +1,209 @@
+{ config, lib, pkgs, serverInfo, php, ... }:
+
+with lib;
+
+let
+  # https://wordpress.org/plugins/postgresql-for-wordpress/
+  # Wordpress plugin 'postgresql-for-wordpress' installation example
+  postgresqlForWordpressPlugin = pkgs.stdenv.mkDerivation {
+    name = "postgresql-for-wordpress-plugin";
+    # Download the theme from the wordpress site
+    src = pkgs.fetchurl {
+      url = https://downloads.wordpress.org/plugin/postgresql-for-wordpress.1.3.1.zip;
+      sha256 = "f11a5d76af884c7bec2bc653ed5bd29d3ede9a8657bd67ab7824e329e5d809e8";
+    };
+    # We need unzip to build this package
+    buildInputs = [ pkgs.unzip ];
+    # Installing simply means copying all files to the output directory
+    installPhase = "mkdir -p $out; cp -R * $out/";
+  };
+
+  # Our bare-bones wp-config.php file using the above settings
+  wordpressConfig = pkgs.writeText "wp-config.php" ''
+    <?php
+    define('DB_NAME',     '${config.dbName}');
+    define('DB_USER',     '${config.dbUser}');
+    define('DB_PASSWORD', '${config.dbPassword}');
+    define('DB_HOST',     '${config.dbHost}');
+    define('DB_CHARSET',  'utf8');
+    $table_prefix  = '${config.tablePrefix}';
+    if ( !defined('ABSPATH') )
+    	define('ABSPATH', dirname(__FILE__) . '/');
+    require_once(ABSPATH . 'wp-settings.php');
+    ${config.extraConfig}
+  '';
+
+  # .htaccess to support pretty URLs
+  htaccess = pkgs.writeText "htaccess" ''
+    <IfModule mod_rewrite.c>
+    RewriteEngine On
+    RewriteBase /
+    RewriteCond %{REQUEST_FILENAME} !-f
+    RewriteCond %{REQUEST_FILENAME} !-d
+    RewriteRule . /index.php [L]
+    </IfModule>
+  '';
+
+  # The wordpress package itself
+  wordpressRoot = pkgs.stdenv.mkDerivation rec {
+    name = "wordpress";
+    # Fetch directly from the wordpress site, want to upgrade?
+    # Just change the version URL and update the hash
+    src = pkgs.fetchurl {
+      url = http://wordpress.org/wordpress-4.1.1.tar.gz;
+      sha256 = "1s9y0i9ms3m6dswb9gqrr95plnx6imahc07fyhvrp5g35f6c12k1";
+    };
+    installPhase = ''
+      mkdir -p $out
+      # Copy all the wordpress files we downloaded
+      cp -R * $out/
+      # We'll symlink the wordpress config
+      ln -s ${wordpressConfig} $out/wp-config.php
+      # As well as our custom .htaccess
+      ln -s ${htaccess} $out/.htaccess
+      # And the uploads directory
+      ln -s ${config.wordpressUploads} $out/wp-content/uploads
+      # And the theme(s)
+      ${concatMapStrings (theme: "ln -s ${theme} $out/wp-content/themes/${theme.name}\n") config.themes}
+      # And the plugin(s)
+      # remove bundled plugin(s) coming with wordpress
+      rm -Rf $out/wp-content/plugins/akismet
+      # install plugins
+      ${concatMapStrings (plugin: "ln -s ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins ++ [ postgresqlForWordpressPlugin]) }
+    '';
+  };
+
+in
+
+{
+
+  # And some httpd extraConfig to make things work nicely
+  extraConfig = ''
+    <Directory ${wordpressRoot}>
+      DirectoryIndex index.php
+      Allow from *
+      Options FollowSymLinks
+      AllowOverride All
+    </Directory>
+  '';
+
+  enablePHP = true;
+
+  options = {
+    dbHost = mkOption {
+      default = "localhost";
+      description = "The location of the database server.";  
+      example = "localhost";
+    };
+    dbName = mkOption {
+      default = "wordpress";
+      description = "Name of the database that holds the Wordpress data.";
+      example = "localhost";
+    };
+    dbUser = mkOption {
+      default = "wordpress";
+      description = "The dbUser, read the username, for the database.";
+      example = "wordpress";
+    };
+    dbPassword = mkOption {
+      default = "wordpress";
+      description = "The password to the respective dbUser.";
+      example = "wordpress";
+    };
+    tablePrefix = mkOption {
+      default = "wp_";
+      description = ''
+        The $table_prefix is the value placed in the front of your database tables. Change the value if you want to use something other than wp_ for your database prefix. Typically this is changed if you are installing multiple WordPress blogs in the same database. See <link xlink:href='http://codex.wordpress.org/Editing_wp-config.php#table_prefix'/>.
+      '';
+    };
+    wordpressUploads = mkOption {
+    default = "/data/uploads";
+      description = ''
+        This directory is used for uploads of pictures and must be accessible (read: owned) by the httpd running user. The directory passed here is automatically created and permissions are given to the httpd running user.
+      '';
+    };
+    plugins = mkOption {
+      default = [];
+      type = types.listOf types.path;
+      description =
+        ''
+          List of path(s) to respective plugin(s) which are symlinked from the 'plugins' directory. Note: These plugins need to be packaged before use.
+        '';
+      example = ''
+        # Wordpress plugin 'akismet' installation example
+        akismetPlugin = pkgs.stdenv.mkDerivation {
+          name = "akismet-plugin";
+          # Download the theme from the wordpress site
+          src = pkgs.fetchurl {
+            url = https://downloads.wordpress.org/plugin/akismet.3.1.zip;
+            sha256 = "1i4k7qyzna08822ncaz5l00wwxkwcdg4j9h3z2g0ay23q640pclg";
+          };
+          # We need unzip to build this package
+          buildInputs = [ pkgs.unzip ];
+          # Installing simply means copying all files to the output directory
+          installPhase = "mkdir -p $out; cp -R * $out/";
+        };
+
+        And then pass this theme to the themes list like this:
+          plugins = [ akismetPlugin ];
+      '';
+    };
+    themes = mkOption {
+      default = [];
+      type = types.listOf types.path;
+      description =
+        ''
+          List of path(s) to respective theme(s) which are symlinked from the 'theme' directory. Note: These themes need to be packaged before use.
+        '';
+      example = ''
+        # For shits and giggles, let's package the responsive theme
+        responsiveTheme = pkgs.stdenv.mkDerivation {
+          name = "responsive-theme";
+          # Download the theme from the wordpress site
+          src = pkgs.fetchurl {
+            url = http://wordpress.org/themes/download/responsive.1.9.7.6.zip;
+            sha256 = "06i26xlc5kdnx903b1gfvnysx49fb4kh4pixn89qii3a30fgd8r8";
+          };
+          # We need unzip to build this package
+          buildInputs = [ pkgs.unzip ];
+          # Installing simply means copying all files to the output directory
+          installPhase = "mkdir -p $out; cp -R * $out/";
+        };
+
+        And then pass this theme to the themes list like this:
+          themes = [ responsiveTheme ];
+      '';
+    };
+    extraConfig = mkOption {
+      default = "";
+      example =
+        ''
+          define( 'AUTOSAVE_INTERVAL', 60 ); // Seconds
+        '';
+      description = ''
+        Any additional text to be appended to Wordpress's wp-config.php
+        configuration file.  This is a PHP script.  For configuration
+        settings, see <link xlink:href='http://codex.wordpress.org/Editing_wp-config.php'/>.
+      '';
+    };
+  }; 
+
+  documentRoot = wordpressRoot;
+
+  startupScript = pkgs.writeScript "init-wordpress.sh" ''
+    #!/bin/sh
+    mkdir -p ${config.wordpressUploads}
+    chown ${serverInfo.serverConfig.user} ${config.wordpressUploads}
+
+    # we should use systemd dependencies here
+    #waitForUnit("network-interfaces.target");
+    if [ ! -d ${serverInfo.fullConfig.services.mysql.dataDir}/${config.dbName} ]; then
+      # Wait until MySQL is up
+      while [ ! -e /var/run/mysql/mysqld.pid ]; do
+        sleep 1
+      done
+      ${pkgs.mysql}/bin/mysql -e 'CREATE DATABASE ${config.dbName};'
+      ${pkgs.mysql}/bin/mysql -e 'GRANT ALL ON ${config.dbName}.* TO ${config.dbUser}@localhost IDENTIFIED BY "${config.dbPassword}";'
+    fi
+  '';
+}
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 64e0d4d8050e..9be7bffaac10 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -147,6 +147,19 @@ in
         '';
       };
 
+      inputClassSections = mkOption {
+        type = types.listOf types.lines;
+        default = [];
+        example = [ ''
+           Identifier      "Trackpoint Wheel Emulation"
+           MatchProduct    "ThinkPad USB Keyboard with TrackPoint"
+           Option          "EmulateWheel"          "true
+           Option          "EmulateWheelButton"    "2"
+           Option          "Emulate3Buttons"       "false"
+	  '' ];
+        description = "Content of additional InputClass sections of the X server configuration file.";
+      };
+
       modules = mkOption {
         type = types.listOf types.path;
         default = [];
@@ -522,6 +535,14 @@ in
           Option "XkbVariant" "${cfg.xkbVariant}"
         EndSection
 
+	# Additional "InputClass" sections
+        ${flip concatMapStrings cfg.inputClassSections (inputClassSection: ''
+        Section "InputClass"
+          ${inputClassSection}
+        EndSection
+        '')}
+
+
         Section "ServerLayout"
           Identifier "Layout[all]"
           ${cfg.serverLayoutSection}
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 7aa4b12a6543..4289740322ad 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -322,7 +322,9 @@ foreach my $device (keys %$prevSwaps) {
 
 
 # Should we have systemd re-exec itself?
-my $restartSystemd = abs_path("/proc/1/exe") ne abs_path("@systemd@/lib/systemd/systemd");
+my $prevSystemd = abs_path("/proc/1/exe") or die;
+my $newSystemd = abs_path("@systemd@/lib/systemd/systemd") or die;
+my $restartSystemd = $prevSystemd ne $newSystemd;
 
 
 sub filterUnits {
diff --git a/nixos/modules/virtualisation/amazon-config.nix b/nixos/modules/virtualisation/amazon-config.nix
index a27e52a8e68c..809cdb4d108e 100644
--- a/nixos/modules/virtualisation/amazon-config.nix
+++ b/nixos/modules/virtualisation/amazon-config.nix
@@ -1,3 +1,3 @@
 {
-  imports = [ ./amazon-image.nix ];
+  imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];
 }
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index 46d0422f9c66..2ea96ecb7ca7 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -64,26 +64,26 @@ import ./make-test.nix ({ networkd, test, ... }:
             $client->fail("systemctl status dhcpcd.service");
 
             # Test vlan 1
-            $client->succeed("ping -c 1 192.168.1.1");
-            $client->succeed("ping -c 1 192.168.1.2");
-            $client->succeed("ping -c 1 192.168.1.3");
-            $client->succeed("ping -c 1 192.168.1.10");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.10");
 
-            $router->succeed("ping -c 1 192.168.1.1");
-            $router->succeed("ping -c 1 192.168.1.2");
-            $router->succeed("ping -c 1 192.168.1.3");
-            $router->succeed("ping -c 1 192.168.1.10");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.10");
 
             # Test vlan 2
-            $client->succeed("ping -c 1 192.168.2.1");
-            $client->succeed("ping -c 1 192.168.2.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
 
-            $router->succeed("ping -c 1 192.168.2.1");
-            $router->succeed("ping -c 1 192.168.2.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
 
             # Test default gateway
-            $router->succeed("ping -c 1 192.168.3.1");
-            $client->succeed("ping -c 1 192.168.3.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.3.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.3.1");
           '';
       };
       dhcpSimple = {
@@ -109,22 +109,22 @@ import ./make-test.nix ({ networkd, test, ... }:
             $router->waitForUnit("network.target");
 
             # Wait until we have an ip address on each interface
-            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
-            $client->succeed("while ! ip addr show dev eth2 | grep '192.168.2'; do true; done");
+            $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
+            $client->waitUntilSucceeds("ip addr show dev eth2 | grep -q '192.168.2'");
 
             # Test vlan 1
-            $client->succeed("ping -c 1 192.168.1.1");
-            $client->succeed("ping -c 1 192.168.1.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
 
-            $router->succeed("ping -c 1 192.168.1.1");
-            $router->succeed("ping -c 1 192.168.1.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
 
             # Test vlan 2
-            $client->succeed("ping -c 1 192.168.2.1");
-            $client->succeed("ping -c 1 192.168.2.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.2.2");
 
-            $router->succeed("ping -c 1 192.168.2.1");
-            $router->succeed("ping -c 1 192.168.2.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.2.2");
           '';
       };
       dhcpOneIf = {
@@ -147,26 +147,27 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to come up
             $client->waitForUnit("network-interfaces.target");
             $client->waitForUnit("network.target");
             $router->waitForUnit("network-interfaces.target");
             $router->waitForUnit("network.target");
 
             # Wait until we have an ip address on each interface
-            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
+            $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
 
             # Test vlan 1
-            $client->succeed("ping -c 1 192.168.1.1");
-            $client->succeed("ping -c 1 192.168.1.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
 
-            $router->succeed("ping -c 1 192.168.1.1");
-            $router->succeed("ping -c 1 192.168.1.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
 
             # Test vlan 2
-            $client->succeed("ping -c 1 192.168.2.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.2.1");
             $client->fail("ping -c 1 192.168.2.2");
 
-            $router->succeed("ping -c 1 192.168.2.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.2.1");
             $router->fail("ping -c 1 192.168.2.2");
           '';
       };
@@ -195,17 +196,18 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to come up
             $client1->waitForUnit("network-interfaces.target");
             $client1->waitForUnit("network.target");
             $client2->waitForUnit("network-interfaces.target");
             $client2->waitForUnit("network.target");
 
             # Test bonding
-            $client1->succeed("ping -c 2 192.168.1.1");
-            $client1->succeed("ping -c 2 192.168.1.2");
+            $client1->waitUntilSucceeds("ping -c 2 192.168.1.1");
+            $client1->waitUntilSucceeds("ping -c 2 192.168.1.2");
 
-            $client2->succeed("ping -c 2 192.168.1.1");
-            $client2->succeed("ping -c 2 192.168.1.2");
+            $client2->waitUntilSucceeds("ping -c 2 192.168.1.1");
+            $client2->waitUntilSucceeds("ping -c 2 192.168.1.2");
           '';
       };
       bridge = let
@@ -240,6 +242,7 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to come up
             $client1->waitForUnit("network-interfaces.target");
             $client1->waitForUnit("network.target");
             $client2->waitForUnit("network-interfaces.target");
@@ -248,17 +251,17 @@ import ./make-test.nix ({ networkd, test, ... }:
             $router->waitForUnit("network.target");
 
             # Test bridging
-            $client1->succeed("ping -c 1 192.168.1.1");
-            $client1->succeed("ping -c 1 192.168.1.2");
-            $client1->succeed("ping -c 1 192.168.1.3");
+            $client1->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client1->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $client1->waitUntilSucceeds("ping -c 1 192.168.1.3");
 
-            $client2->succeed("ping -c 1 192.168.1.1");
-            $client2->succeed("ping -c 1 192.168.1.2");
-            $client2->succeed("ping -c 1 192.168.1.3");
+            $client2->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client2->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $client2->waitUntilSucceeds("ping -c 1 192.168.1.3");
 
-            $router->succeed("ping -c 1 192.168.1.1");
-            $router->succeed("ping -c 1 192.168.1.2");
-            $router->succeed("ping -c 1 192.168.1.3");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
           '';
       };
       macvlan = {
@@ -278,23 +281,28 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to come up
             $client->waitForUnit("network-interfaces.target");
             $client->waitForUnit("network.target");
             $router->waitForUnit("network-interfaces.target");
             $router->waitForUnit("network.target");
 
             # Wait until we have an ip address on each interface
-            $client->succeed("while ! ip addr show dev eth1 | grep '192.168.1'; do true; done");
-            $client->succeed("while ! ip addr show dev macvlan | grep '192.168.1'; do true; done");
+            $client->waitUntilSucceeds("ip addr show dev eth1 | grep -q '192.168.1'");
+            $client->waitUntilSucceeds("ip addr show dev macvlan | grep -q '192.168.1'");
 
-            # Test macvlan
-            $client->succeed("ping -c 1 192.168.1.1");
-            $client->succeed("ping -c 1 192.168.1.2");
-            $client->succeed("ping -c 1 192.168.1.3");
+            # Print diagnosting information
+            $router->succeed("ip addr >&2");
+            $client->succeed("ip addr >&2");
 
-            $router->succeed("ping -c 1 192.168.1.1");
-            $router->succeed("ping -c 1 192.168.1.2");
-            $router->succeed("ping -c 1 192.168.1.3");
+            # Test macvlan creates routable ips
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $client->waitUntilSucceeds("ping -c 1 192.168.1.3");
+
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.1");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.2");
+            $router->waitUntilSucceeds("ping -c 1 192.168.1.3");
           '';
       };
       sit = let
@@ -323,20 +331,22 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to be configured
             $client1->waitForUnit("network-interfaces.target");
             $client1->waitForUnit("network.target");
             $client2->waitForUnit("network-interfaces.target");
             $client2->waitForUnit("network.target");
 
+            # Print diagnostic information
             $client1->succeed("ip addr >&2");
             $client2->succeed("ip addr >&2");
 
             # Test ipv6
-            $client1->succeed("ping6 -c 1 fc00::1");
-            $client1->succeed("ping6 -c 1 fc00::2");
+            $client1->waitUntilSucceeds("ping6 -c 1 fc00::1");
+            $client1->waitUntilSucceeds("ping6 -c 1 fc00::2");
 
-            $client2->succeed("ping6 -c 1 fc00::1");
-            $client2->succeed("ping6 -c 1 fc00::2");
+            $client2->waitUntilSucceeds("ping6 -c 1 fc00::1");
+            $client2->waitUntilSucceeds("ping6 -c 1 fc00::2");
           '';
       };
       vlan = let
@@ -364,6 +374,7 @@ import ./make-test.nix ({ networkd, test, ... }:
           ''
             startAll;
 
+            # Wait for networking to be configured
             $client1->waitForUnit("network-interfaces.target");
             $client1->waitForUnit("network.target");
             $client2->waitForUnit("network-interfaces.target");
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 1196e6d5ebd0..a49e4dc9f909 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -19,4 +19,8 @@ rec {
 
   namecoin  = callPackage ./namecoin.nix  { inherit namecoind; };
   namecoind = callPackage ./namecoind.nix { };
+
+  primecoin  = callPackage ./primecoin.nix { withGui = true; };
+  primecoind = callPackage ./primecoin.nix { withGui = false; };
+
 }
diff --git a/pkgs/applications/altcoins/primecoin.nix b/pkgs/applications/altcoins/primecoin.nix
new file mode 100644
index 000000000000..11ec35a71bda
--- /dev/null
+++ b/pkgs/applications/altcoins/primecoin.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, pkgconfig, openssl, db48, boost
+, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
+, withGui }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec{
+
+  name = "primecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  version = "0.8.6";
+
+  src = fetchurl {
+    url =  "https://github.com/primecoin/primecoin/archive/v${version}.tar.gz";
+    sha256 = "0cixnkici74204s9d5iqj5sccib5a8dig2p2fp1axdjifpg787i3";
+  };
+
+  buildInputs = [ pkgconfig openssl db48 boost zlib
+                  miniupnpc utillinux protobuf ]
+                  ++ optionals withGui [ qt4 qrencode ];
+
+  configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
+                     ++ optionals withGui [ "--with-gui=qt4" ];
+
+  configurePhase = optional withGui "qmake";
+
+  preBuild = optional (!withGui) "cd src; cp makefile.unix Makefile";
+
+  installPhase =
+    if withGui
+    then "install -D bitcoin-qt $out/bin/primecoin-qt"
+    else "install -D bitcoind $out/bin/primecoind";
+
+  meta = {
+    description = "A new type cryptocurrency which is proof-of-work based on searching for prime numbers.";
+    longDescription= ''
+      Primecoin is an innovative cryptocurrency, a form of digital
+      currency secured by cryptography and issued through a
+      decentralized mining market. Derived from Satoshi Nakamoto's
+      Bitcoin, Primecoin introduces an unique form of proof-of-work
+      based on prime numbers.
+
+      The innovative prime proof-of-work in Primecoin not only
+      provides security and minting to the network, but also generates
+      a special form of prime number chains of interest to mathematical
+      research. Thus primecoin network is energy-multiuse, compared to
+      bitcoin.
+    '';
+    homepage = http://primecoin.io/;
+    maintainers = with maintainers; [ AndersonTorres ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/abcde/default.nix b/pkgs/applications/audio/abcde/default.nix
index 1978fcf18749..b8c8c183753e 100644
--- a/pkgs/applications/audio/abcde/default.nix
+++ b/pkgs/applications/audio/abcde/default.nix
@@ -2,13 +2,13 @@
 , perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
 , makeWrapper }:
 
-let version = "2.5.4";
+let version = "2.6";
 in
   stdenv.mkDerivation {
     name = "abcde-${version}";
     src = fetchurl {
       url = "mirror://debian/pool/main/a/abcde/abcde_${version}.orig.tar.gz";
-      sha256 = "14g5lsgh53hza9848351kwpygc0yqpvvzp3s923aja77f2wpkdl5";
+      sha256 = "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8";
     };
 
     # FIXME: This package does not support MP3 encoding (only Ogg),
diff --git a/pkgs/applications/audio/chuck/default.nix b/pkgs/applications/audio/chuck/default.nix
index 7725ba1e4c80..bbce758be8ae 100644
--- a/pkgs/applications/audio/chuck/default.nix
+++ b/pkgs/applications/audio/chuck/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.4.0";
+  version = "1.3.5.0";
   name = "chuck-${version}";
 
   src = fetchurl {
     url = "http://chuck.cs.princeton.edu/release/files/chuck-${version}.tgz";
-    sha256 = "0cwbk8b1i18nkh2nxwzk2prranw83lgglxw7ccnp6b0r2b2yfpmn";
+    sha256 = "0rj2l5k6ncm4jaiq0igwfc2bzryzchk1is1jhk1n7wifxcf3d3k5";
   };
 
   buildInputs = [ bison flex libsndfile which ]
diff --git a/pkgs/applications/audio/pamixer/default.nix b/pkgs/applications/audio/pamixer/default.nix
index d273c2381778..c25e0518f43c 100644
--- a/pkgs/applications/audio/pamixer/default.nix
+++ b/pkgs/applications/audio/pamixer/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchgit, pulseaudio, boost }:
+{ stdenv, fetchurl, unzip, pulseaudio, boost }:
 
 let
-  tag = "1.1";
+  tag = "1.2.1";
 in
 
 stdenv.mkDerivation rec {
 
   name = "pamixer-${tag}";
 
-  src = fetchgit {
-    url = git://github.com/cdemoulins/pamixer;
-    rev = "refs/tags/${tag}";
-    sha256 = "03r0sbfj85wp6yxa87pjg69ivmk0mxxa2nykr8gf2c607igmb034";
+  src = fetchurl {
+    url = "https://github.com/cdemoulins/pamixer/archive/1.2.1.zip";
+    sha256 = "2e66bb9810c853ae2d020d5e6eeb2b68cd43c6434b2298ccc423d9810f0cbd6a";
   };
 
-  buildInputs = [ pulseaudio boost ];
+  buildInputs = [ unzip pulseaudio boost ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 0622194d2c26..1a447be56b4d 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -28,11 +28,11 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-0.8.2";
+  name = "qmmp-0.8.4";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1vwjy3bv1gj6k5kqkhw2q7aspashw6x4lxccl28iydjfzk7d7cd4";
+    sha256 = "1ld69xypyak3lzwmfvzbxsyd4fl841aaq0gmkfa7jpavbdlggydf";
   };
 
   buildInputs =
diff --git a/pkgs/applications/audio/tomahawk/default.nix b/pkgs/applications/audio/tomahawk/default.nix
index 60e66b9f591e..6e03bcb27fc4 100644
--- a/pkgs/applications/audio/tomahawk/default.nix
+++ b/pkgs/applications/audio/tomahawk/default.nix
@@ -15,11 +15,11 @@ let
   quazipQt4 = quazip.override { qt = qt4; };
 in stdenv.mkDerivation rec {
   name = "tomahawk-${version}";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchurl {
     url = "http://download.tomahawk-player.org/${name}.tar.bz2";
-    sha256 = "1bmkkpqhflpm42sn6zf7hxv3936h3p0kdiqzmj88jm7qfgw2wbaj";
+    sha256 = "0kjzkq21g3jl1lvadsm7gf0zvpbsv208kqf76wg2hnbm4k1a02wj";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 41be00bdb631..8964d6c64800 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -98,6 +98,22 @@ in {
         };
   };
 
+  eclipse_scala_sdk_40 = buildEclipse {
+    name = "eclipse-scala_sdk-4.0.0";
+    description = "Eclipse IDE for Scala Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl { # tested
+          url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86_64.tar.gz;
+          sha256  = "b65c5e8160e72c8389537e9e427138e6daa2065f9df3a943a86e40dd1543dd83";
+        }
+      else
+        fetchurl { # untested
+          url = http://downloads.typesafe.com/scalaide-pack/4.0.0.vfinal-luna-211-20150305/scala-SDK-4.0.0-vfinal-2.11-linux.gtk.x86.tar.gz;
+          sha256 = "f422aea5903c97d212264a5a43c6ebc638aecbd4ce5e6078d92618725bc5d31e";
+        };
+  };
+
   eclipse_cpp_36 = buildEclipse {
     name = "eclipse-cpp-3.6.2";
     description = "Eclipse IDE for C/C++ Developers";
diff --git a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch b/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
deleted file mode 100644
index dfd72fe3f511..000000000000
--- a/pkgs/applications/editors/emacs-24/darwin-new-sections.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-http://bazaar.launchpad.net/~naesten/emacs/nextstep-stuff/revision/108961
-
-diff -ru emacs-24.3-orig/src/unexmacosx.c emacs-24.3/src/unexmacosx.c
---- emacs-24.3-orig/src/unexmacosx.c	2013-01-01 21:37:17.000000000 +0100
-+++ emacs-24.3/src/unexmacosx.c	2014-08-09 18:39:52.000000000 +0200
-@@ -838,7 +838,7 @@
- 	  if (!(sectp->addr <= (unsigned long)my_edata
- 		&& my_size <= sectp->size))
- 	    unexec_error ("my_edata is not in section %s", SECT_DATA);
--	  if (!unexec_write (sectp->offset, (void *) sectp->addr, my_size))
-+          if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
- 	    unexec_error ("cannot write section %s", SECT_DATA);
- 	  if (!unexec_copy (sectp->offset + my_size, old_file_offset + my_size,
- 			    sectp->size - my_size))
-@@ -880,6 +880,27 @@
- 	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
- 	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
- 	}
-+      else if (strncmp (sectp->sectname, "__bss", 5) == 0
-+	       || strncmp (sectp->sectname, "__pu_bss", 8) == 0)
-+	{
-+	  sectp->flags = S_REGULAR;
-+	  
-+	  /* These sections are produced by GCC 4.6+.
-+
-+	     FIXME: We possibly ought to clear uninitialized local
-+	     variables in statically linked libraries like for
-+	     SECT_BSS (__bss) above, but setting up the markers we
-+	     need in lastfile.c would be rather messy.  See
-+	     darwin_output_aligned_bss () in gcc/config/darwin.c for
-+	     the root of the problem, keeping in mind that the
-+	     sections are numbered by their alignment in GCC 4.6, but
-+	     by log2(alignment) in GCC 4.7.  */
-+
-+	  if (!unexec_write (sectp->offset, (void *) sectp->addr, sectp->size))
-+	    unexec_error ("cannot copy section %.16s", sectp->sectname);
-+	  if (!unexec_write (header_offset, sectp, sizeof (struct section)))
-+	    unexec_error ("cannot write section %.16s's header", sectp->sectname);
-+	}
-       else if (strncmp (sectp->sectname, "__la_symbol_ptr", 16) == 0
- 	       || strncmp (sectp->sectname, "__nl_symbol_ptr", 16) == 0
- 	       || strncmp (sectp->sectname, "__got", 16) == 0
-@@ -891,6 +912,7 @@
- 	       || strncmp (sectp->sectname, "__program_vars", 16) == 0
- 	       || strncmp (sectp->sectname, "__mod_init_func", 16) == 0
- 	       || strncmp (sectp->sectname, "__mod_term_func", 16) == 0
-+	       || strncmp (sectp->sectname, "__static_data", 16) == 0
- 	       || strncmp (sectp->sectname, "__objc_", 7) == 0)
- 	{
- 	  if (!unexec_copy (sectp->offset, old_file_offset, sectp->size))
diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix
index 83774206b5c7..01895647a6b8 100644
--- a/pkgs/applications/editors/emacs-24/default.nix
+++ b/pkgs/applications/editors/emacs-24/default.nix
@@ -2,24 +2,36 @@
 , pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, texinfo, gconf, libxml2, imagemagick, gnutls
 , alsaLib, cairo
-, withX ? !stdenv.isDarwin, withGTK ? true
+, withX ? !stdenv.isDarwin
+, withGTK3 ? false, gtk3 ? null
+, withGTK2 ? true, gtk2
 }:
 
 assert (libXft != null) -> libpng != null;	# probably a bug
 assert stdenv.isDarwin -> libXaw != null;	# fails to link otherwise
+assert withGTK2 -> withX || stdenv.isDarwin;
+assert withGTK3 -> withX || stdenv.isDarwin;
+assert withGTK2 -> !withGTK3 && gtk2 != null;
+assert withGTK3 -> !withGTK2 && gtk3 != null;
+
+let
+  toolkit =
+    if withGTK3 then "gtk3"
+    else if withGTK2 then "gtk2"
+    else "lucid";
+in
 
 stdenv.mkDerivation rec {
-  name = "emacs-24.4";
+  name = "emacs-24.5";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url    = "mirror://gnu/emacs/${name}.tar.xz";
-    sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7";
+    sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [
-    ./darwin-new-sections.patch
     ./at-fdcwd.patch
   ];
 
@@ -28,17 +40,16 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isLinux dbus
     ++ stdenv.lib.optionals withX
       [ x11 libXaw Xaw3d libXpm libpng libjpeg libungif libtiff librsvg libXft
-        imagemagick gtk gconf ]
+        imagemagick gconf ]
+    ++ stdenv.lib.optional (withX && withGTK2) [ gtk2 ]
+    ++ stdenv.lib.optional (withX && withGTK3) [ gtk3 ]
     ++ stdenv.lib.optional (stdenv.isDarwin && withX) cairo;
 
   configureFlags =
-    ( if withX && withGTK then
-        [ "--with-x-toolkit=gtk" "--with-xft"]
-      else (if withX then
-        [ "--with-x-toolkit=lucid" "--with-xft" ]
-      else
-        [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
-          "--with-gif=no" "--with-tiff=no" ] ) );
+    if withX
+      then [ "--with-x-toolkit=${toolkit}" "--with-xft" ]
+      else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no"
+             "--with-gif=no" "--with-tiff=no" ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX)
     "-I${cairo}/include/cairo";
diff --git a/pkgs/applications/editors/emacs-24/macport-24.5.nix b/pkgs/applications/editors/emacs-24/macport-24.5.nix
new file mode 100644
index 000000000000..4ca1d334b97f
--- /dev/null
+++ b/pkgs/applications/editors/emacs-24/macport-24.5.nix
@@ -0,0 +1,103 @@
+{ stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
+}:
+
+stdenv.mkDerivation rec {
+  emacsName = "emacs-24.5";
+  name = "${emacsName}-mac-5.7";
+
+  #builder = ./builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gnu/emacs/${emacsName}.tar.xz";
+    sha256 = "0kn3rzm91qiswi0cql89kbv6mqn27rwsyjfb8xmwy9m5s8fxfiyx";
+  };
+
+  macportSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
+    sha256 = "1a86l3556h24x9ml6r8n6xbrxymb9gr38sicny3f0m281myhlsvv";
+  };
+
+  # patches = [ ./darwin-new-sections.patch ];
+
+  buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];
+
+  postUnpack = ''
+    mv $emacsName $name
+    tar xzf $macportSrc
+    mv $name $emacsName
+  '';
+
+  preConfigure = ''
+    substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
+    substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
+
+    patch -p1 < patch-mac
+
+    # The search for 'tputs' will fail because it's in ncursesw within the
+    # ncurses package, yet Emacs' configure script only looks in ncurses.
+    # Further, we need to make sure that the -L option occurs before mention
+    # of the library, so that it finds it within the Nix store.
+    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
+    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
+    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
+    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
+
+    configureFlagsArray=(
+      LDFLAGS=-L${ncurses}/lib
+      --with-xml2=yes
+      --with-gnutls=yes
+      --with-mac
+      --enable-mac-app=$out/Applications
+    )
+    makeFlagsArray=(
+      CFLAGS=-O3
+      LDFLAGS="-O3 -L${ncurses}/lib"
+    );
+  '';
+
+  postInstall = ''
+    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
+    ;; nixos specific load-path
+    (when (getenv "NIX_PROFILES") (setq load-path
+                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
+                             (split-string (getenv "NIX_PROFILES"))))
+                    load-path)))
+
+    ;; make tramp work for NixOS machines
+    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
+    EOF
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "GNU Emacs 24, the extensible, customizable text editor";
+    homepage    = http://www.gnu.org/software/emacs/;
+    license     = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jwiegley ];
+    platforms   = platforms.darwin;
+
+    longDescription = ''
+      GNU Emacs is an extensible, customizable text editor—and more.  At its
+      core is an interpreter for Emacs Lisp, a dialect of the Lisp
+      programming language with extensions to support text editing.
+
+      The features of GNU Emacs include: content-sensitive editing modes,
+      including syntax coloring, for a wide variety of file types including
+      plain text, source code, and HTML; complete built-in documentation,
+      including a tutorial for new users; full Unicode support for nearly all
+      human languages and their scripts; highly customizable, using Emacs
+      Lisp code or a graphical interface; a large number of extensions that
+      add other functionality, including a project planner, mail and news
+      reader, debugger interface, calendar, and more.  Many of these
+      extensions are distributed with GNU Emacs; others are available
+      separately.
+
+      This is "Mac port" addition to GNU Emacs 24. This provides a native
+      GUI support for Mac OS X 10.4 - 10.9. Note that Emacs 23 and later
+      already contain the official GUI support via the NS (Cocoa) port for
+      Mac OS X 10.4 and later. So if it is good enough for you, then you
+      don't need to try this.
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/cask/default.nix b/pkgs/applications/editors/emacs-modes/cask/default.nix
index 90c32f0e2bc4..7d987e73b913 100644
--- a/pkgs/applications/editors/emacs-modes/cask/default.nix
+++ b/pkgs/applications/editors/emacs-modes/cask/default.nix
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
     install -d "$out/bin"
     install bin/cask "$out/bin"
 
+    # We also need to install cask's templates in order for 'cask
+    # init' to work properly.
+    install -d "$out/templates"
+    install templates/* "$out/templates"
+
     # In order to work with cask's hard coded file paths (during bootstrap),
     # we have to create these links.
     ln -s "$out/share/emacs/site-lisp/"* "$out"
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 0d6851a79e8f..357e22f515ab 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -271,25 +271,25 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "4.0.5";
-    build = "139.1547";
+    version = "4.0.6";
+    build = "139.1659";
     description = "PyCharm 4.0 Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "16na04sp9q7z10kjx8wpf9k9bv9vgv7rmd9jnrn72nhwd7bp0n1i";
+      sha256 = "16lf2slssfgbds6zyp2rs0ssrg8aw5d2w7b755iqimiyfhyyv83s";
     };
   };
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "4.0.5";
-    build = "139.1547";
+    version = "4.0.6";
+    build = "139.1659";
     description = "PyCharm 4.0 Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "17cxznv7q47isym6l7kbp3jdzdgj02jayygy42x4bwjmg579v1gg";
+      sha256 = "0wavw41nzqnx75y3k3l5kq09i5d9j8hb4r6a0y3nxzqvmdfza55r";
     };
   };
 
diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix
new file mode 100644
index 000000000000..4887662bce54
--- /dev/null
+++ b/pkgs/applications/editors/yi/wrapper.nix
@@ -0,0 +1,36 @@
+# Note: this relies on dyre patched for NIX_GHC which is done in
+# haskell-ng only.
+#
+# To use this for hacking of your Yi config file, drop into a shell
+# with env attribute.
+{ stdenv, makeWrapper
+, haskellPackages
+, extraPackages ? (s: [])
+}:
+let
+  yiEnv = haskellPackages.ghcWithPackages
+    (self: [ self.yi ] ++ extraPackages self);
+in
+stdenv.mkDerivation {
+  name = "yi-custom";
+  version = "0.0.0.1";
+  unpackPhase = "true";
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    makeWrapper ${haskellPackages.yi}/bin/yi $out/bin/yi \
+      --set NIX_GHC ${yiEnv}/bin/ghc
+  '';
+
+  # For hacking purposes
+  env = yiEnv;
+
+  meta = with stdenv.lib; {
+    description = "Allows Yi to find libraries and the compiler easily.";
+    # This wrapper and wrapper only is under PD
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+
+}
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
deleted file mode 100644
index cf1ab25da034..000000000000
--- a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-This is free and unencumbered software released into the public domain.
-
-Anyone is free to copy, modify, publish, use, compile, sell, or
-distribute this software, either in source code form or as a compiled
-binary, for any purpose, commercial or non-commercial, and by any
-means.
-
-In jurisdictions that recognize copyright laws, the author or authors
-of this software dedicate any and all copyright interest in the
-software to the public domain. We make this dedication for the benefit
-of the public at large and to the detriment of our heirs and
-successors. We intend this dedication to be an overt act of
-relinquishment in perpetuity of all present and future rights to this
-software under copyright law.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-For more information, please refer to <http://unlicense.org>
diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
deleted file mode 100644
index d9ffbb8e4817..000000000000
--- a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal
+++ /dev/null
@@ -1,17 +0,0 @@
-name:           yi-custom
-version:        0.0.0.1
-category:       Yi
-synopsis:       Convenience wrapper for nix
-description:    Convenience wrapper for nix
-license:        PublicDomain
-license-file:   LICENSE
-author:         Mateusz Kowalczyk
-maintainer:     fuuzetsu@fuuzetsu.co.uk
-Cabal-Version:  >= 1.10
-build-type:     Simple
-
-library
-  hs-source-dirs: .
-  default-language: Haskell2010
-  build-depends: base, yi
-  ghc-options: -threaded
diff --git a/pkgs/applications/editors/yi/yi-custom.nix b/pkgs/applications/editors/yi/yi-custom.nix
deleted file mode 100644
index 3dbd46119988..000000000000
--- a/pkgs/applications/editors/yi/yi-custom.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-# This is a manually-written expression over an in-tree cabal file.
-# It's awkward but this way allows the package user to pass in
-# extraPackages without much extra hassle on their end, similarly how
-# the XMonad service handles it: the difference is that we don't have
-# anything like XMONAD_GHC…
-#
-# The idea is that the user changes their configs using any libraries
-# he likes and then builds it using this expression. Once that's done,
-# ‘reload’ and similar functions should all work as long as the user
-# doesn't need new libraries at which point they should add them to
-# extraPackages and rebuild from the expression.
-{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }:
-let
-  w = ghcWithPackages (self: [ yi ] ++ extraPackages self);
-  wrappedGhc = w.override { ignoreCollisions = true; };
-in
-cabal.mkDerivation (self: rec {
-  pname = "yi-custom";
-  version = "0.0.0.1";
-  src = ./yi-custom-cabal;
-  isLibrary = true;
-  buildDepends = [ yi ];
-  buildTools = [ makeWrapper ];
-  noHaddock = true;
-  doCheck = false;
-
-  postInstall = ''
-    makeWrapper ${yi}/bin/yi $out/bin/yi \
-      --set NIX_GHC ${wrappedGhc}/bin/ghc \
-      --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${self.ghc.version}
-  '';
-  meta = {
-    homepage = "http://haskell.org/haskellwiki/Yi";
-    description = "Wrapper over user-specified Haskell libraries for use in Yi config";
-    license = self.stdenv.lib.licenses.publicDomain;
-    platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ];
-  };
-
-})
\ No newline at end of file
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 5b6d745f0e98..ad6367722372 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -2,11 +2,11 @@
 , libXinerama, curl, libexif }:
 
 stdenv.mkDerivation rec {
-  name = "feh-2.12";
+  name = "feh-2.12.1";
 
   src = fetchurl {
     url = "http://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "0ckhidmsms2l5jycp0qf71jzmb3bpbhjq3bcgfpvfvszah7pmq30";
+    sha256 = "18b6yjk88ybqxsa5knk6qwi2xy7fclbzl5cpzwg0wmkr3phfq9lh";
   };
 
   buildInputs = [ makeWrapper x11 imlib2 libjpeg libpng libXinerama curl libexif ];
diff --git a/pkgs/applications/graphics/pencil/default.nix b/pkgs/applications/graphics/pencil/default.nix
index c9f1fc913287..fc1b5795d40c 100644
--- a/pkgs/applications/graphics/pencil/default.nix
+++ b/pkgs/applications/graphics/pencil/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, xulrunner }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.8";
+  version = "2.0.10";
   name = "pencil-${version}";
 
   src = fetchurl {
     url = "https://github.com/prikhi/pencil/releases/download/v${version}/Pencil-${version}-linux-pkg.tar.gz";
-    sha256 = "3426d0222b213649e448b06384556718c833667394f442682ff66da3cda1b881";
+    sha256 = "b5dcb12986108bf3eb13cdd1ee1fc1f8d1a88c7fadf2a5c44e7a59a254f2b0dd";
   };
 
   buildPhase = "";
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index d5a231ac7bd5..7d4cfec2f64c 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-2.23.0";
+  name = "calibre-2.24.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "0n99la1pacrw4ahb3wk0p68120p7j7v76mvpaf4qnkxy1vfdif7d";
+    sha256 = "1l9gdna8vzc48yh20kwidb5hfp04cawg6vggkkqnn5zh9dwcvm4d";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/dbvisualizer/default.nix b/pkgs/applications/misc/dbvisualizer/default.nix
new file mode 100644
index 000000000000..fd6ed0866cb3
--- /dev/null
+++ b/pkgs/applications/misc/dbvisualizer/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, jre, coreutils, makeWrapper }:
+
+stdenv.mkDerivation {
+  name = "dbvisualizer-9.2.5";
+
+  src = fetchurl {
+    url = https://www.dbvis.com/product_download/dbvis-9.2.5/media/dbvis_unix_9_2_5.tar.gz;
+    sha256 = "e9d3374e96cf63903ebd9dae498c6b69403813eb8723187ed70f285dd7119327";
+  };
+
+  buildInputs = [ makeWrapper ];
+  
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a . $out
+    ln -sf $out/dbvis $out/bin    
+    wrapProgram $out/bin/dbvis --set INSTALL4J_JAVA_HOME ${jre}
+  '';
+  
+  meta = {
+    description = "The universal database tool";
+    homepage = https://www.dbvis.com/;
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index e47e87d6338c..d46efc4e5e89 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "keepass-${version}";
-  version = "2.28";
+  version = "2.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/keepass/KeePass-${version}.zip";
-    sha256 = "0rlll6qriflaibqpw9qqfgqqr7cvhl404c3ph6n2i22j7xn5mizh";
+    sha256 = "16x7m899akpi036c0wlr41w7fz9q0b69yac9q97rqkixb03l4g9d";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/keybase-node-client/default.nix b/pkgs/applications/misc/keybase-node-client/default.nix
index 048b42159b8f..7f16b27c4bc4 100644
--- a/pkgs/applications/misc/keybase-node-client/default.nix
+++ b/pkgs/applications/misc/keybase-node-client/default.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 let 
-  nodePackages = callPackage (import <nixpkgs/pkgs/top-level/node-packages.nix>) {
+  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
     neededNatives = [] ++ optional (stdenv.isLinux) utillinux;
     self = nodePackages;
     generated = ./package.nix;
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index a1ed7b252a2d..ac128b2460ed 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, wxGTK, desktop_file_utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.72";
+  version = "0.7.73";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
-    sha256 = "04sqm2cziqvnghbla89f83vy46bmsfcvlq7f4m4kfcs24bjzfwr1";
+    sha256 = "14mbiy1xhj4nlp7hnfqvi518xn1f718b2vbl8xkjqr2sqjdf5jm7";
   };
 
   buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo wxGTK desktop_file_utils libSM imagemagick ];
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index de83cf22e047..ce2875656b6b 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.72";
+  version = "0.7.73";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.bz2";
-    sha256 = "04sqm2cziqvnghbla89f83vy46bmsfcvlq7f4m4kfcs24bjzfwr1";
+    sha256 = "14mbiy1xhj4nlp7hnfqvi518xn1f718b2vbl8xkjqr2sqjdf5jm7";
   };
 
   buildInputs = [ automake autoconf libtool pkgconfig libzen libmediainfo zlib ];
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 5f75c05a68f3..cc8bd42ec39f 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildPythonPackage, python, fetchurl }:
 
-buildPythonPackage {
-  name = "ranger-1.6.1";
+buildPythonPackage rec {
+  name = "ranger-1.7.0";
 
   meta = {
     description = "File manager with minimalistic curses interface";
@@ -12,11 +12,9 @@ buildPythonPackage {
   };
 
   src = fetchurl {
-    url = "http://ranger.nongnu.org/ranger-1.6.1.tar.gz";
-    sha256 = "0pnvfwk2a1p35246fihm3fsr1m7r2njirbxm28ba276psajk1cnc";
+    url = "http://ranger.nongnu.org/${name}.tar.gz";
+    sha256 = "066lp1k2zcz2lnww2aj0m3fgn9g5ms67kxgclhgq66pxkjwgc4kx";
   };
 
-  doCheck = false;
-
   propagatedBuildInputs = with python.modules; [ curses ];
 }
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 746b5e5ef465..0d3337b478f0 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "synergy-${version}";
-  version = "1.6.2";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "synergy";
     repo = "synergy";
     rev = version;
-    sha256 = "0himg6c50x5wz5nc6rgd54rph1w6nin6j9f08pa4spsxn9b5h8ks";
+    sha256 = "0n4zvz669vi2wyn6i6xhxp0j3nvjl4yzm441cqv6hb0d5k26wbcn";
   };
 
   patches = optional stdenv.isLinux ./cryptopp.patch;
diff --git a/pkgs/applications/misc/xkblayout-state/default.nix b/pkgs/applications/misc/xkblayout-state/default.nix
index 4ff838db653d..69b98bc6f444 100644
--- a/pkgs/applications/misc/xkblayout-state/default.nix
+++ b/pkgs/applications/misc/xkblayout-state/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "xkblayout-state-${version}";
+  name = "${pname}-${version}";
+  pname = "xkblayout-state";
   version = "1b";
 
   src = fetchurl {
-    url = "https://github.com/nonpop/${name}/archive/v${version}.tar.gz";
+    url = "https://github.com/nonpop/${pname}/archive/v${version}.tar.gz";
     sha256 = "1m1nnplrdb2mclhj0881wf78ckvdnyk24g4k4p5s5gpd96cxxwnx";
   };
 
diff --git a/pkgs/applications/misc/yate/default.nix b/pkgs/applications/misc/yate/default.nix
index e65faeac6c2a..dd3903cde271 100644
--- a/pkgs/applications/misc/yate/default.nix
+++ b/pkgs/applications/misc/yate/default.nix
@@ -1,13 +1,12 @@
-{ composableDerivation, fetchurl, lib, qt4, openssl, autoconf, automake, pkgconfig }:
+{ stdenv, fetchurl, lib, qt4, openssl, autoconf, automake, pkgconfig }:
 
-let inherit (composableDerivation) edf wwf; in
-
-composableDerivation.composableDerivation {} ( fixed : {
-  name = "yate-2.2.0_1";
+stdenv.mkDerivation rec {
+  name = "yate-${version}";
+  version = "5.4.2-1";
 
   src = fetchurl {
-    url = http://yate.null.ro/tarballs/yate2/yate2.tar.gz;
-    sha256 = "1z1rvzcw6449cvczig1dkh6rlp6f8zv649sk0ldz38mwkyd07257";
+    url = "http://voip.null.ro/tarballs/yate5/${name}.tar.gz";
+    sha256 = "08gwz0gipc5v75jv46p2yg8hg31xjp6x7jssd0rrgsa3szi5697n";
   };
 
   # TODO zaptel ? postgres ?
@@ -17,7 +16,7 @@ composableDerivation.composableDerivation {} ( fixed : {
   preConfigure =
     ''
       sed -i 's@,/dev/null@@' configure
-    ''; 
+    '';
 
   # --unresolved-symbols=ignore-in-shared-libs makes ld no longer find --library=yate? Why?
   preBuild =
@@ -28,12 +27,14 @@ composableDerivation.composableDerivation {} ( fixed : {
         -e 's@-Wl,--retain-symbols-file@@'
     '';
 
-  meta = { 
-    description = "YATE - Yet Another Telephony Engine";
+  meta = {
+    description = "Yet another telephony engine";
     homepage = http://yate.null.ro/;
-    license = ["GPL" "MPL"]; # Yate's license is GPL with an exception for linking with OpenH323 and PWlib (licensed under MPL).
+    # Yate's license is GPL with an exception for linking with
+    # OpenH323 and PWlib (licensed under MPL).
+    license = ["GPL" "MPL"];
     maintainers = [ lib.maintainers.marcweber ];
     platforms = lib.platforms.linux;
   };
 
-} )
+}
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index c8457427945a..5ebd26078412 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
     }
 
     mkdir -p $out/share/icons
-    ln -s $out/lib/${browserName}/browser/icons/mozicon128.png $out/share/icons/${browserName}.png
+    ln -s $out/lib/${browserName}${nameSuffix}/browser/icons/mozicon128.png $out/share/icons/${browserName}.png
 
     mkdir -p $out/share/applications
     cp $desktopItem/share/applications/* $out/share/applications
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index bf8f9234f5a2..e102f8037f15 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite }:
 
-let version = "3.9.0.6"; in
+let version = "3.10.3"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1dxhj4ijpl5m2r5f9p04kbaqcvivy3lrb1kdn5axqngshfrmczyf";
+    sha256 = "13fyg64vszq8zm1qb8g963cjar8mfz0gnymx86bvih1pjiwy4s3r";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
new file mode 100644
index 000000000000..149f62bb9816
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pidgin, intltool, python } :
+
+stdenv.mkDerivation rec {
+  name = "purple-plugin-pack-2.7.0";
+  src = fetchurl {
+    url = "https://bitbucket.org/rekkanoryo/purple-plugin-pack/downloads/${name}.tar.bz2";
+    sha256 = "0g5hmy7fwgjq59j52h9yps28jsjjrfkd4r18gyx6hfd3g3kzbg1b";
+  };
+
+  buildInputs = [ pidgin intltool python ];
+
+  meta = with stdenv.lib; {
+    homepage = https://bitbucket.org/rekkanoryo/purple-plugin-pack;
+    description = "Plugin pack for Pidgin 2.x";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainters = with maintainers; [ bdimcheff ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 7c60864b486c..40d302464f62 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-mailpath=" "--enable-smtp"
 
+    # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail
+    "ac_cv_path_SENDMAIL=sendmail"
+
     # This allows calls with "-d N", that output debug info into ~/.muttdebug*
     "--enable-debug"
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 8afe5650ca8c..f3215e7befd6 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, perl, flex, bison, libpcap, libnl, c-ares
-, gnutls, libgcrypt, geoip, heimdal, lua5, makeDesktopItem, python, libcap, glib
+, gnutls, libgcrypt, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
 , withGtk ? false, gtk ? null
 , withQt ? false, qt4 ? null
 }:
@@ -10,7 +10,7 @@ assert withQt -> !withGtk && qt4 != null;
 with stdenv.lib;
 
 let
-  version = "1.12.3";
+  version = "1.12.4";
   variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
 in
 
@@ -19,11 +19,11 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
-    sha256 = "1sikmjslxl68i3psxikghpff0znjfd6mb07nnn10jqqsrffhp5b9";
+    sha256 = "04n3xfakg6368ba49vj6n3csqnkzipac4sldsaavgr2jwac4x06y";
   };
 
   buildInputs = [
-    bison flex perl pkgconfig libpcap lua5 heimdal libgcrypt gnutls
+    bison flex perl pkgconfig libpcap lua5 openssl libgcrypt gnutls
     geoip libnl c-ares python libcap glib
   ] ++ optional withQt qt4
     ++ optional withGtk gtk;
diff --git a/pkgs/applications/networking/umurmur/default.nix b/pkgs/applications/networking/umurmur/default.nix
index 7e7d58c9a329..a8ae393598d4 100644
--- a/pkgs/applications/networking/umurmur/default.nix
+++ b/pkgs/applications/networking/umurmur/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "umurmur-${version}";
-  version = "0.2.15";
+  version = "0.2.16";
   
   src = fetchFromGitHub {
     owner = "fatbob313";
     repo = "umurmur";
     rev = version;
-    sha256 = "0q0apnnb3pszhpsbadw52k6mhdc0hk38rk7vnn7dl4fsisfhgmx2";
+    sha256 = "0njvdqvjda13v1a2yyjn47mb0l0cdfb2bfvb5s13wpgwy2xxk0px";
   };
   
   buildInputs = [ autoreconfHook openssl protobufc libconfig ];
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index 56e994258a6b..5fc704178836 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -26,7 +26,7 @@ let
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
 stdenv.mkDerivation rec {
-  version = "10.0.1";
+  version = "10.0.2";
 
   name = "mathematica-${version}";
 
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       already part of the store. Find the file on your Mathematica CD
       and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
     '';
-    sha256 = "1514qy5kbyislv8j7ryw8021k26y0z6dndliwy8hfi7w7kgb3ynq";
+    sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index a49e5e1033eb..ef400af73089 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
 
 stdenv.mkDerivation (rec {
 
-  version = "1.8.11";
+  version = "1.8.13";
 
   name = "subversion-${version}";
 
   src = fetchurl {
     url = "mirror://apache/subversion/${name}.tar.bz2";
-    sha1 = "161edaee328f4fdcfd2a7c10ecd3fbcd51c61275";
+    sha1 = "aa0bd14ac6a8f0fb178cc9ff325387de01cd7452";
   };
 
   buildInputs = [ zlib apr aprutil sqlite ]
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 9d54ac99273c..e7cc9b78195f 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -5,34 +5,35 @@
 , libass, fftw, ffms
 , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
 , icu, boost, intltool # New dependencies
-, spellChecking ? true, hunspell ? null
+, spellcheckSupport ? true, hunspell ? null
 , automationSupport ? true, lua ? null
 , openalSupport ? false, openal ? null
 , alsaSupport ? true, alsaLib ? null
 , pulseaudioSupport ? true, pulseaudio ? null
 , portaudioSupport ? false, portaudio ? null }:
 
-assert spellChecking -> (hunspell != null);
+assert spellcheckSupport -> (hunspell != null);
 assert automationSupport -> (lua != null);
 assert openalSupport -> (openal != null);
 assert alsaSupport -> (alsaLib != null);
 assert pulseaudioSupport -> (pulseaudio != null);
 assert portaudioSupport -> (portaudio != null);
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "aegisub-${version}";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchurl {
     url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
-    sha256 = "1p7qdnxyyyrlpvxdrrp15b5967d7bzpjl3vdy0q66g4aabr2h6ln";
+    sha256 = "11b83qazc8h0iidyj1rprnnjdivj1lpphvpa08y53n42bfa36pn5";
   };
 
   buildInputs = with stdenv.lib;
   [ pkgconfig intltool libX11 wxGTK fontconfig freetype mesa
     libass fftw ffms ffmpeg zlib icu boost boost.lib libiconv
   ]
-    ++ optional spellChecking hunspell
+    ++ optional spellcheckSupport hunspell
     ++ optional automationSupport lua
     ++ optional openalSupport openal
     ++ optional alsaSupport alsaLib
@@ -40,12 +41,11 @@ stdenv.mkDerivation rec {
     ++ optional portaudioSupport portaudio
     ;
 
-
   enableParallelBuilding = true;
 
   postInstall = "ln -s $out/bin/aegisub-* $out/bin/aegisub";
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "An advanced subtitle editor";
     longDescription = ''
       Aegisub is a free, cross-platform open source tool for creating and
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 777fbde904ec..583c800a8b4a 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -4,17 +4,17 @@
 
 stdenv.mkDerivation rec {
   name = "makemkv-${ver}";
-  ver = "1.9.1";
+  ver = "1.9.2";
   builder = ./builder.sh;
 
   src_bin = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-bin-${ver}.tar.gz";
-    sha256 = "0458ilchi64q8yw4kxck565anpn6lf5awrnkz17bk38qdgp0i2nq";
+    sha256 = "0hjby7imja9sg2h68al81n4zl72mc3y3fqmf61sf1sad4njs9bkj";
   };
 
   src_oss = fetchurl {
     url = "http://www.makemkv.com/download/makemkv-oss-${ver}.tar.gz";
-    sha256 = "1x4mjx32839gf9k2zrjz2250valnqcaa2q89kc7sipgsl4b7wrr2";
+    sha256 = "074scfz835jynzmb28i8q44hc6ixvfg3crgirmy02bbpxakyp1v6";
   };
 
   buildInputs = [openssl qt4 mesa zlib pkgconfig libav];
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index a8d2b42bb3bd..12a1e7530a67 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -1,14 +1,15 @@
 { fetchurl, stdenv, which, pkgconfig, makeWrapper, libxcb, xcbutilkeysyms
 , xcbutil, xcbutilwm, libstartup_notification, libX11, pcre, libev, yajl
-, xcb-util-cursor, coreutils, perl, pango, perlPackages, xdummy, libxkbcommon }:
+, xcb-util-cursor, coreutils, perl, pango, perlPackages, libxkbcommon
+, xorgserver, xvfb_run }:
 
 stdenv.mkDerivation rec {
   name = "i3-${version}";
-  version = "4.9.1";
+  version = "4.10.1";
 
   src = fetchurl {
     url = "http://i3wm.org/downloads/${name}.tar.bz2";
-    sha256 = "0hyw2rdxigiklqvv7fbhcdqdxkgcxvx56vk4r5v55l674zqfy3dp";
+    sha256 = "1qjpbrfy5pnk5d0dh9zs96ppw3jwad1jcy529zy4ja68mdgz6b8b";
   };
 
   buildInputs = [
@@ -16,6 +17,7 @@ stdenv.mkDerivation rec {
     libstartup_notification libX11 pcre libev yajl xcb-util-cursor perl pango
     perlPackages.AnyEventI3 perlPackages.X11XCB perlPackages.IPCRun
     perlPackages.ExtUtilsPkgConfig perlPackages.TestMore perlPackages.InlineC
+    xorgserver xvfb_run
   ];
 
   postPatch = ''
@@ -26,8 +28,7 @@ stdenv.mkDerivation rec {
 
   checkPhase = stdenv.lib.optionalString (stdenv.system == "x86_64-linux")
   ''
-    ln -sf "${xdummy}/bin/xdummy" testcases/Xdummy
-    (cd testcases && perl complete-run.pl -p 1)
+    (cd testcases && xvfb-run ./complete-run.pl -p 1 --keep-xserver-output)
     ! grep -q '^not ok' testcases/latest/complete-run.log
   '';
 
diff --git a/pkgs/applications/window-managers/i3/status.nix b/pkgs/applications/window-managers/i3/status.nix
index bf3367d78435..99562ebd6624 100644
--- a/pkgs/applications/window-managers/i3/status.nix
+++ b/pkgs/applications/window-managers/i3/status.nix
@@ -2,11 +2,11 @@
   }:
 
 stdenv.mkDerivation rec {
-  name = "i3status-2.8";
+  name = "i3status-2.9";
 
   src = fetchurl {
     url = "http://i3wm.org/i3status/${name}.tar.bz2";
-    sha256 = "1zh7z2qbw0jsrqdkc1irviq2n20mc5hq4h1mckyfcm238pfwa1mb";
+    sha256 = "1qwxbrga2fi5wf742hh9ajwa8b2kpzkjjnhjlz4wlpv21i80kss2";
   };
 
   buildInputs = [ confuse yajl alsaLib wirelesstools ];
diff --git a/pkgs/data/fonts/caladea/cambria-alias.conf b/pkgs/data/fonts/caladea/cambria-alias.conf
new file mode 100644
index 000000000000..f763e2a8c346
--- /dev/null
+++ b/pkgs/data/fonts/caladea/cambria-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Caladea as a metric-compatible alias for the
+       Microsoft Cambria font family. -->
+  <alias binding="same">
+    <family>Cambria</family>
+    <accept>
+      <family>Caladea</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Caladea</family>
+    <default>
+      <family>Cambria</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/caladea/default.nix b/pkgs/data/fonts/caladea/default.nix
new file mode 100644
index 000000000000..110405839a12
--- /dev/null
+++ b/pkgs/data/fonts/caladea/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "caladea-${version}";
+  version = "20130214";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz";
+    sha256 = "02addvvkbvf3bn21kfyj10j9w1c8hdxxld4wjmnc1j8ksqpir3f4";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf
+  '';
+
+  meta = with stdenv.lib; {
+    # This font doesn't appear to have any official web site but this
+    # one provides some good information and samples.
+    homepage = http://openfontlibrary.org/en/font/caladea;
+    description = "A serif font metric-compatible with Microsoft Cambria";
+    longDescription = ''
+      Caladea is a free font that is metric-compatible with the
+      Microsoft Cambria font. Developed by Carolina Giovagnoli and
+      Andrés Torresi at Huerta Tipográfica foundry.
+    '';
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `vista-fonts` package, then you probably will
+    # not want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/carlito/calibri-alias.conf b/pkgs/data/fonts/carlito/calibri-alias.conf
new file mode 100644
index 000000000000..294af3b6c784
--- /dev/null
+++ b/pkgs/data/fonts/carlito/calibri-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Carlito as a metric-compatible alias for the
+       Microsoft Calibri font family. -->
+  <alias binding="same">
+    <family>Calibri</family>
+    <accept>
+      <family>Carlito</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Carlito</family>
+    <default>
+      <family>Calibri</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/carlito/default.nix b/pkgs/data/fonts/carlito/default.nix
new file mode 100644
index 000000000000..b90d89c9779c
--- /dev/null
+++ b/pkgs/data/fonts/carlito/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "carlito-${version}";
+  version = "20130920";
+
+  src = fetchurl {
+    url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz";
+    sha256 = "0nmgzp6gdvv4dipswrw0l1bfjp4jbic2qvm7dpqiq71jpin2plab";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf
+  '';
+
+  meta = with stdenv.lib; {
+    # This font doesn't appear to have any official web site but this
+    # one provides some good information and samples.
+    homepage = http://openfontlibrary.org/en/font/carlito;
+    description = "A sans-serif font metric-compatible with Microsoft Calibri";
+    longDescription = ''
+      Carlito is a free font that is metric-compatible with the
+      Microsoft Calibri font. The font is designed by Łukasz Dziedzic
+      of the tyPoland foundry and based his Lato font.
+    '';
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `vista-fonts` package, then you probably will
+    # not want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix
new file mode 100644
index 000000000000..c773f3955921
--- /dev/null
+++ b/pkgs/data/fonts/comfortaa/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "comfortaa-${version}";
+  version = "2.004";
+
+  src = fetchurl {
+    url = "http://openfontlibrary.org/assets/downloads/comfortaa/38318a69b56162733bf82bc0170b7521/comfortaa.zip";
+    sha256 = "0js0kk5g6b7xrq92b68gz5ipbiv1havnbgnfqzvlw3k3nllwnl9z";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  buildInputs = [unzip];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    mkdir -p $out/share/doc/${name}
+    cp -v *.ttf $out/share/fonts/truetype/
+    cp -v FONTLOG.txt $out/share/doc/${name}/
+    cp -v donate.html $out/share/doc/${name}/
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;
+    description = "A clean and modern font suitable for headings and logos";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf b/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
new file mode 100644
index 000000000000..be5f6cca866d
--- /dev/null
+++ b/pkgs/data/fonts/comic-relief/comic-sans-ms-alias.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- Configure Comic Relief as a metric-compatible alias for the
+       Microsoft Comic Sans font family. -->
+  <alias binding="same">
+    <family>Comic Sans MS</family>
+    <accept>
+      <family>Comic Relief</family>
+    </accept>
+  </alias>
+  <alias binding="same">
+    <family>Comic Relief</family>
+    <default>
+      <family>Comic Sans MS</family>
+    </default>
+  </alias>
+</fontconfig>
diff --git a/pkgs/data/fonts/comic-relief/default.nix b/pkgs/data/fonts/comic-relief/default.nix
new file mode 100644
index 000000000000..a8b2b786efaf
--- /dev/null
+++ b/pkgs/data/fonts/comic-relief/default.nix
@@ -0,0 +1,49 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "comic-relief-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "https://dl.dropbox.com/u/56493902/loudifier/comicrelief.zip";
+    sha256 = "0wpf10m9zmcfvcxgc7dxzdm3syam7d7qxlfabgr1nxzq299kh8ch";
+  };
+
+  buildInputs = [unzip];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  unpackCmd = ''
+    mkdir -p ${name}
+    unzip -qq -d ${name} $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/etc/fonts/conf.d
+    mkdir -p $out/share/doc/${name}
+    mkdir -p $out/share/fonts/truetype
+    cp -v *.ttf $out/share/fonts/truetype
+    cp -v ${./comic-sans-ms-alias.conf} $out/etc/fonts/conf.d/30-comic-sans-ms.conf
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://loudifier.com/comic-relief/;
+    description = "A font metric-compatible with Microsoft Comic Sans";
+    longDescription = ''
+      Comic Relief is a typeface designed to be metrically equivalent
+      to the popular Comic Sans MS. Comic Relief can be used in place
+      of Comic Sans MS without having to move, resize, or reset any
+      part of the copy. It contains all glyphs and characters
+      available in Comic Sans MS.
+    '';
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+
+    # Reduce the priority of this package. The intent is that if you
+    # also install the `corefonts` package, then you probably will not
+    # want to install the font alias of this package.
+    priority = 10;
+  };
+}
diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix
index b26d3bd8c1d6..2030fb3ab1dc 100644
--- a/pkgs/data/fonts/corefonts/default.nix
+++ b/pkgs/data/fonts/corefonts/default.nix
@@ -34,18 +34,34 @@ stdenv.mkDerivation {
 
   buildInputs = [cabextract];
 
-  buildCommand = "
+  buildCommand = ''
     for i in $exes; do
         cabextract --lowercase $i
     done
 
     cabextract --lowercase viewer1.cab
-  
+
     fontDir=$out/share/fonts/truetype
     mkdir -p $fontDir
     cp *.ttf $fontDir
 
     # Also put the EULA there to be on the safe side.
     cp ${eula} $fontDir/eula.html
-  ";
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Andale-Mono Arial-Black Arial Comic-Sans-MS \
+                Courier-New Georgia Impact Times-New-Roman \
+                Trebuchet Verdana Webdings ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname "''${name//-/ }"
+    done
+  '';
+
+  meta = {
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
+  };
 }
diff --git a/pkgs/data/fonts/corefonts/no-op.conf b/pkgs/data/fonts/corefonts/no-op.conf
new file mode 100644
index 000000000000..503e62cfa295
--- /dev/null
+++ b/pkgs/data/fonts/corefonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/data/fonts/crimson/default.nix b/pkgs/data/fonts/crimson/default.nix
new file mode 100644
index 000000000000..f612f0770647
--- /dev/null
+++ b/pkgs/data/fonts/crimson/default.nix
@@ -0,0 +1,28 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "crimson-${version}";
+  version = "2014.10";
+
+  src = fetchurl {
+    url = "https://github.com/skosch/Crimson/archive/fonts-october2014.tar.gz";
+    sha256 = "0qyihrhqb89vwg9cfpaf5xqmcjvs4r4614bxy634vmqv9v1bzn5b";
+  };
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "Desktop Fonts/OTF/"*.otf $out/share/fonts/opentype
+    cp -v README.md $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://aldusleaf.org/crimson.html;
+    description = "A font family inspired by beautiful oldstyle typefaces";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
new file mode 100644
index 000000000000..930c0a22520b
--- /dev/null
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "fantasque-sans-mono-${version}";
+  version = "1.6.5";
+
+  src = fetchurl {
+    url = "https://github.com/belluzj/fantasque-sans/releases/download/v${version}/FantasqueSansMono.zip";
+    sha256 = "19a82xlbcnd7dxqmpp03b62gjvi33bh635r0bjw2l09lgir6alym";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  unpackCmd = ''
+    mkdir -p ${name}
+    unzip -qq -d ${name} $src
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "OTF/"*.otf $out/share/fonts/opentype
+    cp -v README.md $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/belluzj/fantasque-sans;
+    description = "A font family with a great monospaced variant for programmers";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/fira-mono/default.nix b/pkgs/data/fonts/fira-mono/default.nix
new file mode 100644
index 000000000000..92d6b1e25b5c
--- /dev/null
+++ b/pkgs/data/fonts/fira-mono/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "fira-mono-3.2";
+
+  src = fetchurl {
+    url = http://www.carrois.com/downloads/fira_mono_3_2/FiraMonoFonts3200.zip;
+    sha256 = "0g3i54q8czf3vylgasj62w2n7l1a2yrbyibjlx1qk3awh7fr1r7p";
+  };
+
+  buildInputs = [ unzip ];
+  phases = [ "unpackPhase" "installPhase" ];
+  sourceRoot = "FiraMonoFonts3200";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    find . -name "*.otf" -exec cp -v {} $out/share/fonts/opentype \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.carrois.com/fira-4-1/;
+    description = "Monospace font for Firefox OS";
+    longDescription = ''
+      Fira Mono is a monospace font designed by Erik Spiekermann,
+      Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
+      Type Design for Mozilla Firefox OS. Available in Regular,
+      Medium, and Bold.
+    '';
+    license = licenses.ofl;
+    maintainers = [ maintainers.rycee ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix
index 532abd4e5871..151c945ee9e6 100644
--- a/pkgs/data/fonts/fira/default.nix
+++ b/pkgs/data/fonts/fira/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "fira-4.004";
+  name = "fira-4.1";
 
   src = fetchurl {
-    url = "http://www.carrois.com/downloads/fira_4_0/FiraFonts4004.zip";
-    sha256 = "0mab1n4i8ayhzmpfm0dj07annghrfpnsfr2rhnwsyhkk5zxlh6v7";
+    url = "http://www.carrois.com/downloads/fira_4_1/FiraFonts4100.zip";
+    sha256 = "0mqmmq1m2p0hb0x4mr74gghqr75iglilah7psfb3vdc80fc9h6yk";
   };
 
   buildInputs = [unzip];
   phases = [ "unpackPhase" "installPhase" ];
-  sourceRoot = "FiraFonts4004";
+  sourceRoot = "FiraFonts4100";
 
   installPhase = ''
     mkdir -p $out/share/fonts/opentype
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.carrois.com/fira-4-0/;
-    description = "Sans-serif and monospace font for Firefox OS";
+    homepage = http://www.carrois.com/fira-4-1/;
+    description = "Sans-serif font for Firefox OS";
     longDescription = ''
       Fira Sans is a sans-serif font designed by Erik Spiekermann,
       Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
@@ -27,9 +27,7 @@ stdenv.mkDerivation rec {
       Spiekermann's FF Meta typeface.  Available in Two, Four, Eight,
       Hair, Thin, Ultra Light, Extra Light, Light, Book, Regular,
       Medium, Semi Bold, Bold, Extra Bold, Heavy weights with
-      corresponding italic versions.  Fira Mono is a matching
-      monospace variant of Fira Sans.  It is available in regular, and
-      bold weights.
+      corresponding italic versions.
     '';
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/lobster-two/default.nix b/pkgs/data/fonts/lobster-two/default.nix
new file mode 100644
index 000000000000..84752fe6a1d7
--- /dev/null
+++ b/pkgs/data/fonts/lobster-two/default.nix
@@ -0,0 +1,75 @@
+{stdenv, fetchurl}:
+
+let
+
+  # HG revision in which this version of the font can be fount.
+  rev = "8e98053718f9a15184c93d6530885791be71b756";
+
+  urlBase = "https://googlefontdirectory.googlecode.com/hg-history/${rev}/ofl/lobstertwo";
+
+  # Just a small convenience function.
+  fetch = {name, path ? "/src", sha256}:
+    {
+      inherit name;
+      file = fetchurl {
+        url = "${urlBase}${path}/${name}";
+        inherit sha256;
+      };
+    };
+
+  fontlog =
+    fetch {
+      name = "FONTLOG.txt";
+      path = "";
+      sha256 = "0n405i8m70q95y8w43gzr5yvkj7gx7rd3xa4rx6y8qcqv5g7v9if";
+    };
+
+  bold =
+    fetch {
+      name = "LobsterTwo-Bold.otf";
+      sha256 = "0gkayn96vvgngs9xnmcyyf16q4payk79ghvl354rl93ayb3gf7x0";
+    };
+
+  boldItalic =
+    fetch {
+      name = "LobsterTwo-BoldItalic.otf";
+      sha256 = "0wznqkvwjqi9s4bg10fpp2345by3nxa0m0w6b3al3zaqyx2p1dxp";
+    };
+
+  italic =
+    fetch {
+      name = "LobsterTwo-Italic.otf";
+      sha256 = "0lpnzwgwl5fm6gqy8bylbryz0hy94mf1mp615y5sh0wikdvk570z";
+    };
+
+  regular =
+    fetch {
+      name = "LobsterTwo-Regular.otf";
+      sha256 = "147m3sa3sqqbkbw1hgjdwnw8w0y37x58g5p09s7q2vm74flcpbq1";
+    };
+in
+
+  stdenv.mkDerivation rec {
+    name = "lobstertwo-${version}";
+    version = "1.006";
+
+    phases = ["installPhase"];
+
+    installPhase = ''
+      mkdir -p $out/share/fonts/opentype
+      mkdir -p $out/share/doc/${name}
+      cp -v ${fontlog.file} $out/share/doc/${name}/${fontlog.name}
+      cp -v ${bold.file} $out/share/fonts/opentype/${bold.name}
+      cp -v ${boldItalic.file} $out/share/fonts/opentype/${boldItalic.name}
+      cp -v ${italic.file} $out/share/fonts/opentype/${italic.name}
+      cp -v ${regular.file} $out/share/fonts/opentype/${regular.name}
+    '';
+
+    meta = with stdenv.lib; {
+      homepage = http://www.impallari.com/lobstertwo;
+      description = "Script font with many ligatures";
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [maintainers.rycee];
+    };
+  }
diff --git a/pkgs/data/fonts/pecita/default.nix b/pkgs/data/fonts/pecita/default.nix
new file mode 100644
index 000000000000..d83d9afcdfdd
--- /dev/null
+++ b/pkgs/data/fonts/pecita/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "pecita-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://pecita.eu/b/Pecita.otf";
+    sha256 = "07krzpbmc5yhfbf3aklv1f150i2g1spaan9girmg3189jsn6qw6p";
+  };
+
+  phases = ["installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    cp -v ${src} $out/share/fonts/opentype/Pecita.otf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://pecita.eu/police-en.php;
+    description = "Handwritten font with connected glyphs";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/quattrocento-sans/default.nix b/pkgs/data/fonts/quattrocento-sans/default.nix
new file mode 100644
index 000000000000..116fdd25a04e
--- /dev/null
+++ b/pkgs/data/fonts/quattrocento-sans/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "quattrocento-sans-${version}";
+  version = "2.0";
+
+  src = fetchurl {
+    url = "http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
+    sha256 = "043jfdn18dgzpx3qb3s0hc541n6xv4gacsm4srd6f0pri45g4wh1";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  sourceRoot = "quattrocento-sans-v${version}";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "src/"*.otf $out/share/fonts/opentype
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.impallari.com/quattrocentosans/;
+    description = "A classic, elegant and sober sans-serif typeface";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/quattrocento/default.nix b/pkgs/data/fonts/quattrocento/default.nix
new file mode 100644
index 000000000000..7ef62d2300c5
--- /dev/null
+++ b/pkgs/data/fonts/quattrocento/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "quattrocento-${version}";
+  version = "1.1";
+
+  src = fetchurl {
+    url = "http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
+    sha256 = "09wmbfwkry1r2cf5z4yy67wd4yzlnsjigg01r5r80z1phl0axn9n";
+  };
+
+  buildInputs = [unzip];
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype
+    mkdir -p $out/share/doc/${name}
+    cp -v "src/"*.otf $out/share/fonts/opentype
+    cp -v FONTLOG.txt $out/share/doc/${name}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.impallari.com/quattrocento/;
+    description = "A classic, elegant, sober and strong serif typeface";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [maintainers.rycee];
+  };
+}
diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix
index 19996f3f1a31..f3165b33ccaf 100644
--- a/pkgs/data/fonts/vista-fonts/default.nix
+++ b/pkgs/data/fonts/vista-fonts/default.nix
@@ -18,13 +18,26 @@ stdenv.mkDerivation {
   
   buildPhase = "true";
   
-  installPhase = "
-    mkdir -p $out/share/fonts/truetype; cp *.ttf $out/share/fonts/truetype
-  ";
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    for name in Calibri Cambria Candara Consolas Constantia Corbel ; do
+      substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-''${name,,}.conf \
+        --subst-var-by fontname $name
+    done
+  '';
 
   meta = {
     description = "Some TrueType fonts from Microsoft Windows Vista (Calibri, Cambria, Candara, Consolas, Constantia, Corbel)";
     homepage = http://www.microsoft.com/typography/ClearTypeFonts.mspx;
     binaryDistribution = false; # haven't read the EULA, but we probably can't redistribute these files, so...
+
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
   };
 }
diff --git a/pkgs/data/fonts/vista-fonts/no-op.conf b/pkgs/data/fonts/vista-fonts/no-op.conf
new file mode 100644
index 000000000000..503e62cfa295
--- /dev/null
+++ b/pkgs/data/fonts/vista-fonts/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the Microsoft @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/desktops/e19/efl.nix b/pkgs/desktops/e19/efl.nix
index ac7577d91fd7..c8860a5f7daa 100644
--- a/pkgs/desktops/e19/efl.nix
+++ b/pkgs/desktops/e19/efl.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.13.1";
+  version = "1.13.2";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
-    sha256 = "0wjy2n2ggjd9mzv9y0ra21wfjdbw927hdh6pz537p820bnghcivy";
+    sha256 = "196293zf4pbyd5acs4nzb818yql9r67709ccfj7k3siyws6lsh4q";
   };
 
   buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL2 SDL mesa
diff --git a/pkgs/desktops/e19/elementary.nix b/pkgs/desktops/e19/elementary.nix
index 06166dd0978d..28ce894bfc74 100644
--- a/pkgs/desktops/e19/elementary.nix
+++ b/pkgs/desktops/e19/elementary.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, libcap, gdbm }:
 stdenv.mkDerivation rec {
   name = "elementary-${version}";
-  version = "1.13.1";
+  version = "1.13.2";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
-    sha256 = "0jfbw48krpzcj944rvyy1rmq7cykad6cwhjh54fhp52lh7c5savk";
+    sha256 = "0f8hz60aj4ar8lqnc63nlxkpf3b51scjalgy1iphgjc27hzxcb9i";
   };
   buildInputs = [ pkgconfig e19.efl gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
   preConfigure = ''
diff --git a/pkgs/desktops/e19/evas.nix b/pkgs/desktops/e19/evas.nix
index abc63e14f2a3..3ec3d53c69a1 100644
--- a/pkgs/desktops/e19/evas.nix
+++ b/pkgs/desktops/e19/evas.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, pkgconfig, e19, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
 stdenv.mkDerivation rec {
   name = "evas_generic_loaders-${version}";
-  version = "1.13.0";
+  version = "1.13.2";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
-    sha256 = "16yzjk58bxsd0rlnpzrr8as9fxjjiq01swzhpadsgkmq33abgg63";
+    sha256 = "06m8p8k8dpyvzdm690zhdzcr7n0ld12bcgjdssjfl66lil5z2mc4";
   };
   buildInputs = [ pkgconfig e19.efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
   meta = {
diff --git a/pkgs/desktops/e19/rage.nix b/pkgs/desktops/e19/rage.nix
index 2a5189f53f2c..0ccdb3bf3e39 100644
--- a/pkgs/desktops/e19/rage.nix
+++ b/pkgs/desktops/e19/rage.nix
@@ -2,10 +2,10 @@
 , makeWrapper, lib }:
 stdenv.mkDerivation rec {
   name = "rage-${version}";
-  version = "0.1.0";
+  version = "0.1.1";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz";
-    sha256 = "0d87n0rl24s7b8y3bdcg6i3yrzhil5f5vmgrmh451i4y38k84swk";
+    sha256 = "0jdhbzmnvl0i2zzmjs1wgvxmnv0lm76k7h5llbb8ai34xh4yp3fi";
   };
   buildInputs = [ e19.elementary e19.efl automake autoconf libtool pkgconfig
     makeWrapper ];
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index 43ac75271bea..994656a61d56 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "ats2-${version}";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-${version}.tgz";
-    sha256 = "0zcki97zj9r1dvlfriwfckp9b9z7iavw09q21v6i5ld90hw9588q";
+    sha256 = "0hxjgpyc0m44w58aqzglbgraqirijs3497q9s6ymam4fnj0i57s2";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 428346b78b6b..2135e75a07ac 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "closure-compiler-${version}";
-  version = "20130603";
+  version = "20150315";
 
   src = fetchurl {
     url = "http://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
-    sha256 = "0bk0s8p9r9an5m0l8y23wjlx490k15i4zah0a384a2akzji8y095";
+    sha256 = "1vzwyhpqbrndg7mri81f1b2yi8cshw5pghvdda9vdxgq465sa52f";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index c48d74249e19..068b29d47ced 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, unzip, curl }:
 
 stdenv.mkDerivation {
-  name = "dmd-2.066.1";
+  name = "dmd-2.067.0";
 
   src = fetchurl {
-    url = http://downloads.dlang.org/releases/2014/dmd.2.066.1.zip;
-    sha256 = "1qifwgrl6h232zsnvcx3kmb5d0fsy7j9zv17r3b4vln7x5rvzc66";
+    url = http://downloads.dlang.org/releases/2015/dmd.2.067.0.zip;
+    sha256 = "0b1b65694846ef3430de1de341c8cf353151a1a39656e6a1065fe56bc90fb60b";
   };
 
   buildInputs = [ unzip curl ];
diff --git a/pkgs/development/compilers/ghcjs/default.nix b/pkgs/development/compilers/ghcjs/default.nix
index d04bd842bf67..e9f036425894 100644
--- a/pkgs/development/compilers/ghcjs/default.nix
+++ b/pkgs/development/compilers/ghcjs/default.nix
@@ -39,7 +39,10 @@
 }:
 let
   version = "0.1.0";
-  libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.version}/ghcjs";
+  ghcArch = if pkgs.stdenv.system == "i686-linux"
+    then "i386-linux"
+    else pkgs.stdenv.system;
+  libDir = "share/ghcjs/${ghcArch}-${version}-${ghc.version}/ghcjs";
   ghcjsBoot = fetchgit {
     url = git://github.com/ghcjs/ghcjs-boot.git;
     rev = "8cd6144870470258fb037b3e04a0a2a98c2b6551"; # 7.10 branch
@@ -122,7 +125,5 @@ in mkDerivation (rec {
   description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API";
   license = stdenv.lib.licenses.bsd3;
   platforms = ghc.meta.platforms;
-  maintainers = with stdenv.lib.maintainers; [
-    jwiegley cstrahan
-  ];
+  maintainers = with stdenv.lib.maintainers; [ jwiegley cstrahan ];
 })
diff --git a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index eb40cff689a2..730b3b569c61 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "75";
+  patchVersion = "79";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "173ppi5d90hllqgys90wlv596bpj2iw8gsbsr6pk7xvd4l1wdhrw";
-  sha256_x86_64 = "040n50nglr6rcli2pz5rd503c2qqdqqbqynp6hzc4kakkchmj2a6";
+  sha256_i686 = "1hv9bmj08y8gavhhkip5w5dg96b1dy4sc2cidpjcbwpb2mzh5lhs";
+  sha256_x86_64 = "140xl5kfdrlmh8wh2x3j23x53dbil8qxsvc7gf3138mz4805vmr9";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
index 929ff59717d9..311f07e8e45b 100644
--- a/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7psu-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "76";
+  patchVersion = "80";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "0558p5garc4b5g7h11dkzn161kpk84az5ad1q5hhsblbx02aqff3";
-  sha256_x86_64 = "130ckrv846amyfzbnnd6skljkznc457yky7d6ajaw5ndsbzg93yf";
+  sha256_i686 = "1fjpm8pa74c4vgv93lnky6pd3igln56yxdn4kbhgcg12lwc17vcx";
+  sha256_x86_64 = "08wn62sammvsvlqac0n8grrikl0ykh9ikqdy823i2mcnccqsgnds";
   jceName = "UnlimitedJCEPolicyJDK7.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html;
   sha256JCE = "7a8d790e7bd9c2f82a83baddfae765797a4a56ea603c9150c87b7cdb7800194d";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index ea1c01ec5e56..014ed0db7c2f 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,10 +1,10 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "40";
+  patchVersion = "45";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "1bfabnmbar0kfx3i37wnxh97j7whkib8m6wqxrb1d9zf6k13bw50";
-  sha256_x86_64 = "0nfm4xqd57s8dmkgd0jsrhys8dhfw0fx5d57mq70ramq9dl2jq66";
+  sha256_i686 = "1y1zymydd1azv14r0hh12zjr8k64wa8wfdbz8sn1css84aqwl87d";
+  sha256_x86_64 = "0v9ilahx03isxdzh4ryv1bqmmzppckickz22hvgzs785769cm67j";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
-  sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
+  sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
 }
diff --git a/pkgs/development/compilers/rdmd/default.nix b/pkgs/development/compilers/rdmd/default.nix
index f70b8f448b48..38473897698d 100644
--- a/pkgs/development/compilers/rdmd/default.nix
+++ b/pkgs/development/compilers/rdmd/default.nix
@@ -1,14 +1,13 @@
-{stdenv, lib, fetchgit, dmd}:
+{stdenv, lib, fetchurl, dmd}:
 
 stdenv.mkDerivation {
-  name = "rdmd-20141113";
+  name = "rdmd-2.067.0";
 
   buildInputs = [ dmd ];
 
-  src = fetchgit {
-    url = git://github.com/D-Programming-Language/tools.git;
-    rev = "f496c68ee4e776597bd7382aa47f05da698a69e";
-    sha256 = "0vbhmz8nbh8ayml4vad0239kfg982vqfyqqrjv6wrlnjah97n5ms";
+  src = fetchurl {
+    url = "https://github.com/D-Programming-Language/tools/archive/v2.067.0.tar.gz";
+    sha256 = "2702ecda0427c675084d9b688449bc8c8392fd73e30257d79e2488640d5a9982";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/coq-modules/bedrock/default.nix b/pkgs/development/coq-modules/bedrock/default.nix
index 7aadead54281..478f74058bdf 100644
--- a/pkgs/development/coq-modules/bedrock/default.nix
+++ b/pkgs/development/coq-modules/bedrock/default.nix
@@ -15,12 +15,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildFlags = "cito";
+  buildPhase = ''
+    make -j$NIX_BUILD_CORES -C src/reification
+    make -j$NIX_BUILD_CORES -C src
+  '';
 
   installPhase = ''
     COQLIB=$out/lib/coq/${coq.coq-version}/
     mkdir -p $COQLIB/user-contrib/Bedrock
-    cp -pR src $COQLIB/user-contrib/Bedrock
+    cp -pR src/* $COQLIB/user-contrib/Bedrock
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 353acd3bfcba..631d0b713b8e 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -211,6 +211,15 @@ self: super: {
   # https://github.com/liamoc/wizards/issues/5
   wizards = doJailbreak super.wizards;
 
+  # https://github.com/tibbe/ekg-core/commit/c986d9750d026a0c049cf6e6610d69fc1f23121f, not yet in hackage
+  ekg-core = doJailbreak super.ekg-core;
+
+  # https://github.com/tibbe/ekg/commit/95018646f48f60d9ccf6209cc86747e0f132e737, not yet in hackage
+  ekg = doJailbreak super.ekg;
+
+  # https://github.com/diagrams/diagrams-rasterific/commit/2758e5760c64f8ca2528628bd11de502f354ab15, not yet in hackage
+  diagrams-rasterific = doJailbreak super.diagrams-rasterific;
+
   # https://github.com/NixOS/cabal2nix/issues/136
   glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib];
   gtk3 = super.gtk3.override { inherit (pkgs) gtk3; };
@@ -280,7 +289,6 @@ self: super: {
   amqp-conduit = dontCheck super.amqp-conduit;
   concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
   dbus = dontCheck super.dbus;                          # http://hydra.cryp.to/build/498404/log/raw
-  directory_1_2_2_0 = dontCheck super.directory_1_2_2_0; # https://github.com/haskell/directory/issues/24
   hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
   hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
   hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
@@ -494,6 +502,9 @@ self: super: {
   # https://github.com/joeyadams/haskell-stm-delay/issues/3
   stm-delay = dontCheck super.stm-delay;
 
+  # https://github.com/cgaebel/stm-conduit/issues/33
+  stm-conduit = dontCheck super.stm-conduit;
+
   # https://github.com/fumieval/call/issues/3
   call = markBrokenVersion "0.1.2" super.call;
   rhythm-game-tutorial = dontDistribute super.rhythm-game-tutorial;     # depends on call
@@ -529,6 +540,18 @@ self: super: {
   # Upstream notified by e-mail.
   MonadCompose = markBrokenVersion "0.2.0.0" super.MonadCompose;
 
+  # no haddock since this is an umbrella package.
+  cloud-haskell = dontHaddock super.cloud-haskell;
+
+  # Disable tests which couldn't be built.
+  distributed-process-async = dontCheck super.distributed-process-async;
+
+  # Disable tests which couldn't be built.
+  distributed-process-client-server = dontCheck super.distributed-process-client-server;
+
+  # Disable tests which couldn't be built.
+  distributed-process-extras = dontCheck super.distributed-process-extras;
+
   # Make distributed-process-platform compile until next version
   distributed-process-platform = overrideCabal super.distributed-process-platform (drv: {
     patchPhase = "mv Setup.hs Setup.lhs";
@@ -536,6 +559,15 @@ self: super: {
     doHaddock = false;
   });
 
+  # Disable tests due to a failure (Sequential Shutdown Ordering test.)
+  distributed-process-supervisor = dontCheck super.distributed-process-supervisor;
+
+  # Disable network test and errorneous haddock.
+  distributed-process-tests = overrideCabal super.distributed-process-tests (drv: {
+    doCheck = false;
+    doHaddock = false;
+  });
+
   # This packages compiles 4+ hours on a fast machine. That's just unreasonable.
   CHXHtml = dontDistribute super.CHXHtml;
 
@@ -719,16 +751,19 @@ self: super: {
   # Tries to run GUI in tests
   leksah = dontCheck super.leksah;
 
+  # Patch to consider NIX_GHC just like xmonad does
+  dyre = appendPatch super.dyre ./dyre-nix.patch;
+
 } // {
 
   # Not on Hackage.
   cabal2nix = self.mkDerivation {
     pname = "cabal2nix";
-    version = "20150318";
+    version = "20150414";
     src = pkgs.fetchgit {
       url = "http://github.com/NixOS/cabal2nix.git";
-      rev = "b56cc6de2c4900fb0d1dc3617591a2f536aca60d";
-      sha256 = "0pza9j3x1mfjqrzcqq6ndg0jiqx85mg0sw8n9fmq18fk5g4hzhis";
+      rev = "d08c2970e9c74948e81e7b926b64e5d7d1dd07b7";
+      sha256 = "1rqibfhvkvmfxj9k92brz87b4l40w8d7mq1s7zgfnrmay6h0956a";
       deepClone = true;
     };
     isLibrary = false;
@@ -736,12 +771,12 @@ self: super: {
     buildDepends = with self; [
       aeson base bytestring Cabal containers deepseq-generics directory
       filepath hackage-db lens monad-par monad-par-extras mtl pretty
-      prettyclass process regex-posix SHA split transformers utf8-string cartel
-    ];
+      process regex-posix SHA split transformers utf8-string cartel
+    ] ++ pkgs.lib.optional (pkgs.lib.versionOlder self.ghc.version "7.10") prettyclass;
     testDepends = with self; [
       aeson base bytestring Cabal containers deepseq deepseq-generics
       directory doctest filepath hackage-db hspec lens monad-par
-      monad-par-extras mtl pretty prettyclass process QuickCheck
+      monad-par-extras mtl pretty process QuickCheck
       regex-posix SHA split transformers utf8-string
     ];
     buildTools = [ pkgs.gitMinimal ];
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index 990066ab6409..8652b0108596 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -134,20 +134,16 @@ self: super: {
     '';
   });
 
-  # see: https://github.com/jaspervdj/hakyll/issues/343
-  hakyll = overrideCabal super.hakyll (drv: {
-    buildDepends = drv.buildDepends ++ [ self.time-locale-compat ];
-    patches = [
-      (pkgs.fetchpatch {
-         url = "https://github.com/jaspervdj/hakyll/pull/344.patch";
-         sha256 = "130c0icw3cj209p219siaq0n8avmm0fpmph0iyjgx67w62sffrli";
-      })
-    ];
+  # ekmett/linear#74
+  linear = overrideCabal super.linear (drv: {
+    prePatch = "sed -i 's/-Werror//g' linear.cabal";
   });
 
   # Cabal_1_22_1_1 requires filepath >=1 && <1.4
   cabal-install = dontCheck (super.cabal-install.override { Cabal = null; });
 
+  HStringTemplate = self.HStringTemplate_0_8_3;
+
   # We have Cabal 1.22.x.
   jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
 
@@ -183,6 +179,9 @@ self: super: {
   esqueleto = doJailbreak super.esqueleto;
   pointfree = doJailbreak super.pointfree;
 
+  # acid-state/safecopy#25 acid-state/safecopy#26
+  safecopy = dontCheck (super.safecopy);
+
   # bos/attoparsec#92
   attoparsec = dontCheck super.attoparsec;
 
@@ -227,23 +226,17 @@ self: super: {
   });
 
   wl-pprint = overrideCabal super.wl-pprint (drv: {
-    patchPhase = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
-  });
-
-  wl-pprint-text = overrideCabal super.wl-pprint-text (drv: {
-    patchPhase = ''
-      sed -i '71iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen/Text/Monadic.hs
-      sed -i '119iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen/Text.hs
-    '';
+    postPatch = "sed -i '113iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen.hs";
+    jailbreak = true;
   });
 
   # https://github.com/kazu-yamamoto/unix-time/issues/30
   unix-time = dontCheck super.unix-time;
 
   # Until the changes have been pushed to Hackage
-  mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
-    url = "https://github.com/snoyberg/mono-traversable/pull/68.patch";
-    sha256 = "11hqf6hi3sc34wl0fn4rpigdf7wfklcjv6jwp8c3129yphg8687h";
+  arithmoi = appendPatch super.arithmoi (pkgs.fetchpatch {
+    url = "https://github.com/cartazio/arithmoi/pull/3.patch";
+    sha256 = "1rqs796sh81inqkg2vadskcjpp6q92j6k8zpn370990wndndzzmq";
   });
   conduit-combinators = appendPatch super.conduit-combinators (pkgs.fetchpatch {
     url = "https://github.com/fpco/conduit-combinators/pull/16.patch";
@@ -269,4 +262,40 @@ self: super: {
     buildDepends = [ primitive ];
     license = pkgs.stdenv.lib.licenses.bsd3;
   }) {};
+
+  # diagrams/monoid-extras#19
+  monoid-extras = overrideCabal super.monoid-extras (drv: {
+    prePatch = "sed -i 's|4\.8|4.9|' monoid-extras.cabal";
+  });
+
+  # diagrams/statestack#5
+  statestack = overrideCabal super.statestack (drv: {
+    prePatch = "sed -i 's|4\.8|4.9|' statestack.cabal";
+  });
+
+  # diagrams/diagrams-core#83
+  diagrams-core = overrideCabal super.diagrams-core (drv: {
+    prePatch = "sed -i 's|4\.8|4.9|' diagrams-core.cabal";
+  });
+
+  # diagrams/diagrams-core#83
+  diagrams-lib = overrideCabal super.diagrams-lib (drv: {
+    prePatch = "sed -i 's|4\.8|4.9|' diagrams-lib.cabal";
+    patches = [ ./diagrams-lib-flexible-contexts.patch ];
+  });
+
+  timezone-series = doJailbreak super.timezone-series;
+  timezone-olson = doJailbreak super.timezone-olson;
+  libmpd = dontCheck super.libmpd;
+  xmonad-extras = overrideCabal super.xmonad-extras (drv: {
+    postPatch = ''
+      sed -i -e "s,<\*,<¤,g" XMonad/Actions/Volume.hs
+    '';
+  });
+
+  # Workaround for a workaround, see comment for "ghcjs" flag.
+  jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
+            in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
+                                          self.webkitgtk3-javascriptcore ];
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
index e9bdec89bd02..4eb2be5552f1 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
@@ -73,6 +73,15 @@ self: super: {
   mtl-prelude = self.mtl-prelude_1_0_3;
   equivalence = super.equivalence_0_2_5;        # required by Agda
 
+  # purescript requires mtl 2.2.x.
+  purescript = overrideCabal (super.purescript.overrideScope (self: super: {
+    mkDerivation = drv: super.mkDerivation (drv // { doCheck = false; });
+    mtl = super.mtl_2_2_1;
+    transformers = super.transformers_0_4_3_0;
+    haskeline = self.haskeline_0_7_2_1;
+    transformers-compat = disableCabalFlag super.transformers-compat "three";
+  })) (drv: {});
+
   # The test suite pulls in mtl 2.2.x
   command-qq = dontCheck super.command-qq;
 
@@ -96,7 +105,6 @@ self: super: {
   highlighter2 = markBroken super.highlighter2;
   hypher = markBroken super.hypher;
   miniforth = markBroken super.miniforth;
-  purescript = markBroken super.purescript;
   xhb-atom-cache = markBroken super.xhb-atom-cache;
   xhb-ewmh = markBroken super.xhb-ewmh;
   yesod-purescript = markBroken super.yesod-purescript;
@@ -112,4 +120,9 @@ self: super: {
   # Newer versions require base > 4.7
   gloss = super.gloss_1_9_2_1;
 
+  # Workaround for a workaround, see comment for "ghcjs" flag.
+  jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
+            in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
+                                          self.webkitgtk3-javascriptcore ];
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index 47b450afc4ea..8a212413b02e 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -85,4 +85,9 @@ self: super: {
   # https://github.com/ndmitchell/extra/issues/4
   extra = dontCheck super.extra;
 
+  # Workaround for a workaround, see comment for "ghcjs" flag.
+  jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
+            in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
+                                          self.webkitgtk3-javascriptcore ];
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index aad0da0604e3..e880f7e713e8 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -7,7 +7,7 @@ self: super: {
   # LLVM is not supported on this GHC; use the latest one.
   inherit (pkgs) llvmPackages;
 
-  jailbreak-cabal = pkgs.haskell-ng.packages.ghc7101.jailbreak-cabal;
+  inherit (pkgs.haskell-ng.packages.ghc7101) jailbreak-cabal alex happy;
 
   # Many packages fail with:
   #   haddock: internal error: expectJust getPackageDetails
@@ -71,7 +71,7 @@ self: super: {
       cat >> src/Reactive/Banana/Switch.hs <<EOF
       instance Functor (AnyMoment Identity) where
         fmap = liftM
-        
+
       instance Applicative (AnyMoment Identity) where
         pure = return
         (<*>) = ap
@@ -95,16 +95,8 @@ self: super: {
     '';
   });
 
-  "ghcjs-dom" = self.callPackage
-    ({ mkDerivation, base, mtl, text, ghcjs-base
-     }:
-     mkDerivation {
-       pname = "ghcjs-dom";
-       version = "0.1.1.3";
-       sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly";
-       buildDepends = [ base mtl text ghcjs-base ];
-       description = "DOM library that supports both GHCJS and WebKitGTK";
-       license = pkgs.stdenv.lib.licenses.mit;
-       hydraPlatforms = pkgs.stdenv.lib.platforms.none;
-     }) {};
+  ghcjs-dom = overrideCabal super.ghcjs-dom (drv: {
+    buildDepends = [ self.base self.mtl self.text self.ghcjs-base ];
+  });
+
 }
diff --git a/pkgs/development/haskell-modules/diagrams-lib-flexible-contexts.patch b/pkgs/development/haskell-modules/diagrams-lib-flexible-contexts.patch
new file mode 100644
index 000000000000..385bc75b5823
--- /dev/null
+++ b/pkgs/development/haskell-modules/diagrams-lib-flexible-contexts.patch
@@ -0,0 +1,11 @@
+diff -Naur diagrams-lib-1.2.0.9-orig/src/Diagrams/TwoD/Polygons.hs diagrams-lib-1.2.0.9/src/Diagrams/TwoD/Polygons.hs
+--- diagrams-lib-1.2.0.9-orig/src/Diagrams/TwoD/Polygons.hs	2015-04-02 22:13:26.000000000 -0400
++++ diagrams-lib-1.2.0.9/src/Diagrams/TwoD/Polygons.hs	2015-04-11 18:17:28.095156620 -0400
+@@ -4,6 +4,7 @@
+ {-# LANGUAGE TemplateHaskell           #-}
+ {-# LANGUAGE TypeFamilies              #-}
+ {-# LANGUAGE ViewPatterns              #-}
++{-# LANGUAGE FlexibleContexts          #-}
+ 
+ -----------------------------------------------------------------------------
+ -- |
diff --git a/pkgs/development/haskell-modules/dyre-nix.patch b/pkgs/development/haskell-modules/dyre-nix.patch
new file mode 100644
index 000000000000..458e540e0c4a
--- /dev/null
+++ b/pkgs/development/haskell-modules/dyre-nix.patch
@@ -0,0 +1,25 @@
+--- dyre-0.8.12/Config/Dyre/Compile.hs	2015-04-13 11:00:20.794278350 +0100
++++ dyre-0.8.12-patched/Config/Dyre/Compile.hs	2015-04-13 11:07:26.938893502 +0100
+@@ -10,11 +10,13 @@
+ import System.FilePath   ( (</>) )
+ import System.Directory  ( getCurrentDirectory, doesFileExist
+                          , createDirectoryIfMissing )
++import System.Environment ( lookupEnv )
++import Control.Applicative ((<$>))
+ import Control.Exception ( bracket )
+-import GHC.Paths         ( ghc )
+ 
+ import Config.Dyre.Paths  ( getPaths )
+ import Config.Dyre.Params ( Params(..) )
++import Data.Maybe         ( fromMaybe )
+ 
+ -- | Return the path to the error file.
+ getErrorPath :: Params cfgType -> IO FilePath
+@@ -47,6 +49,7 @@
+     errFile <- getErrorPath params
+     result <- bracket (openFile errFile WriteMode) hClose $ \errHandle -> do
+         ghcOpts <- makeFlags params configFile tempBinary cacheDir libsDir
++        ghc <- fromMaybe "ghc" <$> lookupEnv "NIX_GHC"
+         ghcProc <- runProcess ghc ghcOpts (Just cacheDir) Nothing
+                               Nothing Nothing (Just errHandle)
+         waitForProcess ghcProc
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 90e2c21aec18..4385dd9a08f4 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2557,12 +2557,12 @@ self: {
      }) {};
 
   "Concurrential" = callPackage
-    ({ mkDerivation, async, base }:
+    ({ mkDerivation, async, base, stm }:
      mkDerivation {
        pname = "Concurrential";
-       version = "0.1.0.0";
-       sha256 = "1fsqqc4nrfaq2r9vvvy7rjkahb92vn0bxyygbygqidbp2pbrfshi";
-       buildDepends = [ async base ];
+       version = "0.2.1.0";
+       sha256 = "09p9a1a1z8jp9152bl0cir340cv4g45dprajyrdrxqd96b6libhh";
+       buildDepends = [ async base stm ];
        homepage = "http://github.com/avieth/Concurrential";
        description = "Mix concurrent and sequential computation";
        license = stdenv.lib.licenses.bsd3;
@@ -7604,8 +7604,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaskellNet";
-       version = "0.4.3";
-       sha256 = "1y7i7yi2c025l89hrrj2avzrszgfdjl8a4pii04lnxngq4b3nhmz";
+       version = "0.4.4";
+       sha256 = "0df5q28y1x5irnzm5ma65b6ny6dds0375bzj6xczsw6xrlxaj3br";
        buildDepends = [
          array base base64-string bytestring cryptohash mime-mail mtl
          network old-time pretty text
@@ -8290,14 +8290,14 @@ self: {
 
   "HueAPI" = callPackage
     ({ mkDerivation, aeson, base, containers, lens, lens-aeson, mtl
-     , transformers, wreq
+     , time, transformers, wreq
      }:
      mkDerivation {
        pname = "HueAPI";
-       version = "0.2.3";
-       sha256 = "1c30i551f0lmcpima48dlpmbr4z7dly4d9s4iqn97qq3l9snb1k9";
+       version = "0.2.4";
+       sha256 = "0qpa2cmsqpxb311f2vyy0zm52c6z71yxbzl9ih1f8x2fz4cm5g6n";
        buildDepends = [
-         aeson base containers lens lens-aeson mtl transformers wreq
+         aeson base containers lens lens-aeson mtl time transformers wreq
        ];
        homepage = "https://github.com/sjoerdvisscher/HueAPI";
        description = "API for controlling Philips Hue lights";
@@ -13831,17 +13831,16 @@ self: {
      }) {};
 
   "TBit" = callPackage
-    ({ mkDerivation, base, containers, deepseq, fgl, free, haskeline
-     , hmatrix, integration, list-extras, mtl, numeric-tools, parallel
-     , stream-fusion
+    ({ mkDerivation, base, containers, deepseq, fgl, free, hmatrix
+     , integration, list-extras, mtl, numeric-tools, parallel
      }:
      mkDerivation {
        pname = "TBit";
-       version = "0.4.2.0";
-       sha256 = "0qccd23x1qcng207dl82h7wifh2cc7aaapf9qrg0m5jz3fa5cvkm";
+       version = "0.4.2.1";
+       sha256 = "1x11v42px02j9sgxrikan5ixqnwdv20ybc090gaklbhmf9xhics6";
        buildDepends = [
-         base containers deepseq fgl free haskeline hmatrix integration
-         list-extras mtl numeric-tools parallel stream-fusion
+         base containers deepseq fgl free hmatrix integration list-extras
+         mtl numeric-tools parallel
        ];
        jailbreak = true;
        description = "Utilities for condensed matter physics tight binding calculations";
@@ -14777,6 +14776,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "Weather" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HTTP, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "Weather";
+       version = "0.1.0.1";
+       sha256 = "18ixqj9lq1xaginhwxsk6ykcrs68jy1pn960imn3wm2wgvn2n1pi";
+       buildDepends = [
+         aeson base bytestring HTTP text unordered-containers
+       ];
+       homepage = "https://github.com/bstamour/weather";
+       description = "Library for interacting with the Weather Underground JSON API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "WebBits" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, pretty, syb }:
      mkDerivation {
@@ -17385,11 +17400,12 @@ self: {
     ({ mkDerivation, argparser, base, containers, threefish }:
      mkDerivation {
        pname = "alea";
-       version = "0.3.3.0";
-       sha256 = "1c5bdbazlds419qgpdghrap5y20i59z57qk2dnj35bl2n5mvlapl";
+       version = "0.4.0.0";
+       sha256 = "1j18hqyrfyyhngla4dikdchi659bi7gj1lsl38r08645hf9n5395";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ argparser base containers threefish ];
+       jailbreak = true;
        homepage = "https://github.com/Rnhmjoj/alea";
        description = "a diceware passphrase generator";
        license = stdenv.lib.licenses.mit;
@@ -17517,9 +17533,10 @@ self: {
     ({ mkDerivation, base, syb, template-haskell }:
      mkDerivation {
        pname = "algebraic-classes";
-       version = "0.5.2";
-       sha256 = "0kk0wafqwqr466qiz3dwagpf03vln922dnrrj90ay7kqp3623jnd";
+       version = "0.6";
+       sha256 = "0i34n1lmnw12xrnaqvmiydnnlm8m8ky12chwb9jmnsf3klv8qm61";
        buildDepends = [ base syb template-haskell ];
+       jailbreak = true;
        homepage = "https://github.com/sjoerdvisscher/algebraic-classes";
        description = "Conversions between algebraic classes and F-algebras";
        license = stdenv.lib.licenses.bsd3;
@@ -18722,8 +18739,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "annotated-wl-pprint";
-       version = "0.5.3";
-       sha256 = "0g8b4hmgh7jhiknfrlaqr9sxr7a6sikkpaws15dy8mg4r792bbis";
+       version = "0.6.0";
+       sha256 = "1rwjfw4fspyi564a847sb6k679sa6psajm2jybzpa1pvjq9z2a9x";
        buildDepends = [ base ];
        homepage = "https://github.com/david-christiansen/annotated-wl-pprint";
        description = "The Wadler/Leijen Pretty Printer, with annotation support";
@@ -19422,8 +19439,8 @@ self: {
      }:
      mkDerivation {
        pname = "appc";
-       version = "0.0.5";
-       sha256 = "0xilcg5rbi6bnwbs3xkysnf3v5h07hxn764sxim0s0n75vvlvidy";
+       version = "0.0.6";
+       sha256 = "0qns7kjp9sjrpdx6vfkci9q6xinb0gwkb1a9ssw8xfbqqhf9ljms";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -19473,6 +19490,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "applicative-parsec" = callPackage
+    ({ mkDerivation, base, containers, lens, mtl, QuickCheck
+     , test-framework, test-framework-quickcheck2, text
+     }:
+     mkDerivation {
+       pname = "applicative-parsec";
+       version = "0.1.0.0";
+       sha256 = "12y2j9lpaqpjcr2a9fk4anlvc1cw5rimyx031b6xa5dx500phrrx";
+       buildDepends = [ base containers lens mtl text ];
+       testDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+       ];
+       jailbreak = true;
+       homepage = "https://www.github.com/ktvoelker/AParsec";
+       description = "An applicative parser combinator library";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "applicative-quoters" = callPackage
     ({ mkDerivation, base, haskell-src-meta, template-haskell }:
      mkDerivation {
@@ -20951,6 +20986,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "audacity" = callPackage
+    ({ mkDerivation, base, deepseq, utility-ht }:
+     mkDerivation {
+       pname = "audacity";
+       version = "0.0";
+       sha256 = "1vfp5x5b6z7lwjiv8jla5bdwbcbafdm31zs9kr555idzz1n8wmqz";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base deepseq utility-ht ];
+       homepage = "http://code.haskell.org/~thielema/audacity";
+       description = "Interchange with the Audacity sound signal editor";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "audiovisual" = callPackage
     ({ mkDerivation, base, boundingboxes, colors, deepseq, directory
      , filepath, free, freetype2, hashable, JuicyPixels
@@ -21237,8 +21286,8 @@ self: {
      }:
      mkDerivation {
        pname = "avers";
-       version = "0.0.3";
-       sha256 = "0y58qixd9kjm0wp5spachm581mshp15pcvlyv48nsrabrzssn3ng";
+       version = "0.0.4";
+       sha256 = "0bd424ls3kfqx2y7fzcmhssss3r3bhra8bzmllx1slb1x04apgn6";
        buildDepends = [
          aeson attoparsec base base16-bytestring bytestring containers
          cryptohash inflections influxdb MonadRandom mtl network
@@ -23285,8 +23334,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary-list";
-       version = "1.1.0.2";
-       sha256 = "006a46yw1jcdw2yhpwimbjcpls0vrhzrhiylxh6vc136w2kb6qcd";
+       version = "1.1.1.0";
+       sha256 = "03fh5ipmmjzdyywm28m2kkbxn11yb4ygrs1q2igll1mbmpm2km6x";
        buildDepends = [
          base binary bytestring deepseq phantom-state transformers
        ];
@@ -24212,15 +24261,14 @@ self: {
      }:
      mkDerivation {
        pname = "binembed";
-       version = "0.1.0.2";
-       sha256 = "0cabiww0iczgpk7rrf4iqy3vamq65w5m1r5y90117llr6w610rks";
+       version = "0.1.0.3";
+       sha256 = "163cs2qfj68dvbsyfg37hzb29jp0ylfpqlnhzjswm4j8mrcfsl3r";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
          base bytestring Cabal containers directory dlist filepath
        ];
-       jailbreak = true;
-       homepage = "http://gitorious.org/binembed";
+       homepage = "http://code.mathr.co.uk/binembed";
        description = "Embed data into object files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -24230,13 +24278,12 @@ self: {
      }:
      mkDerivation {
        pname = "binembed-example";
-       version = "0.1";
-       sha256 = "069caz3gzpnc9fm553yxj3jwn07svb0i34kfqw4vzlkkpzs5r5g4";
+       version = "0.1.0.3";
+       sha256 = "06lw6jvg382k3wj8ybld05bj3nchb8dqk363a69mak3r5zxg43iy";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base binembed bytestring containers filepath ];
-       jailbreak = true;
-       homepage = "http://gitorious.org/binembed";
+       homepage = "http://code.mathr.co.uk/binembed";
        description = "Example project using binembed to embed data in object files";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -24489,6 +24536,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bitcoin-script" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bytestring, hspec
+     , hspec-expectations, text
+     }:
+     mkDerivation {
+       pname = "bitcoin-script";
+       version = "0.9.1";
+       sha256 = "0lh537bs9hj1jz98w27pcr9w1pdwcwrahdrfqk5aj0nmjzachn3f";
+       buildDepends = [ base base16-bytestring binary bytestring text ];
+       testDepends = [ base bytestring hspec hspec-expectations ];
+       homepage = "http://github.com/solatis/haskell-bitcoin-script";
+       description = "Compilation, manipulation and decompilation of Bitcoin scripts";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "bitcoin-tx" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bitcoin-script
+     , bytestring, hspec
+     }:
+     mkDerivation {
+       pname = "bitcoin-tx";
+       version = "0.9.0";
+       sha256 = "1yhpwjvbikf1kk2ikj1qgngchkd6mj1jikfyb7g233ixdihiykrg";
+       buildDepends = [
+         base base16-bytestring binary bitcoin-script bytestring
+       ];
+       testDepends = [ base bitcoin-script bytestring hspec ];
+       homepage = "http://www.leonmergen.com/opensource.html";
+       description = "Utility functions for manipulating bitcoin transactions";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "bitly-cli" = callPackage
     ({ mkDerivation, base, Bitly, directory, filepath, regexpr }:
      mkDerivation {
@@ -24725,12 +24804,11 @@ self: {
     ({ mkDerivation, array, base, bytestring, QuickCheck }:
      mkDerivation {
        pname = "bitwise";
-       version = "0.1.0.1";
-       sha256 = "0k3xzw6lcrffbv8hqgg4kaanizql8r888ap4bw22sh3l3rq7zasn";
+       version = "0.1.0.2";
+       sha256 = "195g09frdyyn3wsb4jyspdmz8dlmpymqdlbss6zyslkddkrs8hdf";
        buildDepends = [ array base bytestring ];
        testDepends = [ base QuickCheck ];
-       jailbreak = true;
-       homepage = "https://gitorious.org/bitwise";
+       homepage = "http://code.mathr.co.uk/bitwise";
        description = "fast multi-dimensional unboxed bit packed Bool arrays";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -25452,21 +25530,20 @@ self: {
      }) {};
 
   "blunt" = callPackage
-    ({ mkDerivation, aeson, array, base, bytestring, clay, containers
-     , flow, haskell-src-exts, http-types, jmacro, lucid, pointful, text
-     , transformers, wai, wai-extra, wai-websockets, warp, websockets
-     , wl-pprint-text
+    ({ mkDerivation, aeson, base, bytestring, clay, flow, http-types
+     , jmacro, lucid, pointfree, pointful, text, wai, wai-extra
+     , wai-websockets, warp, websockets, wl-pprint-text
      }:
      mkDerivation {
        pname = "blunt";
-       version = "0.0.16";
-       sha256 = "03pradwal8ncrpj7gin9ri753hsi78lpfj8zsihf26dli79g5vmk";
+       version = "1.0.0";
+       sha256 = "0l1pm29ihypq0g65s5dhvfh18fvlvi750amhcbarzxznanvn92y9";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
-         aeson array base bytestring clay containers flow haskell-src-exts
-         http-types jmacro lucid pointful text transformers wai wai-extra
-         wai-websockets warp websockets wl-pprint-text
+         aeson base bytestring clay flow http-types jmacro lucid pointfree
+         pointful text wai wai-extra wai-websockets warp websockets
+         wl-pprint-text
        ];
        homepage = "https://blunt.herokuapp.com";
        description = "Point-free Haskell as a service";
@@ -25841,6 +25918,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "breve" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, cryptohash
+     , directory, hashtables, mtl, random, simple, tconfig, transformers
+     , wai, wai-extra, warp, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "breve";
+       version = "0.0.4.0";
+       sha256 = "1bszsndpc67z1hg3snmflcbp2hpn7lhgi8fck9q3p12fg2sxx583";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base binary bytestring cryptohash directory hashtables mtl
+         random simple tconfig transformers wai wai-extra warp xdg-basedir
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/rnhmjoj/breve";
+       description = "a url shortener";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "brians-brain" = callPackage
     ({ mkDerivation, array, base, parallel, random, SDL }:
      mkDerivation {
@@ -27146,8 +27244,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-helper";
-       version = "0.3.1.0";
-       sha256 = "1hfprys4q4azfgqcv2xcyn14y8nybmvrl8y3z3ckx0v5r13ss75n";
+       version = "0.3.2.0";
+       sha256 = "06igjmr0n8418wid1pr74cgvlsmwni7ar72g9bddivlbxax1pfli";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -27424,8 +27522,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "cabal-scripts";
-       version = "0.1";
-       sha256 = "17wpmqkgr55wj5qzb7ph3fvifz4bzzhk98ypcmrx5q0caq1crdq8";
+       version = "0.1.1";
+       sha256 = "1ajgx29hvcsdd6lwc78dyhsjm5ikx2zn0kdbwnzn1kggz2l08ls4";
        buildDepends = [ base ];
        description = "Shell scripts for support of Cabal maintenance";
        license = stdenv.lib.licenses.bsd3;
@@ -27999,8 +28097,8 @@ self: {
     ({ mkDerivation, base, containers, haskeline, parsec, QuickCheck }:
      mkDerivation {
        pname = "calculator";
-       version = "0.3.0.2";
-       sha256 = "14fcb4zfx7pk0ha3hvlpj84mxp82jpn1ywyjnfmczm3ic4mq98m9";
+       version = "0.3.1.0";
+       sha256 = "0mis4wni2w5dbyf65wxk7005g7s4n8ad2kzcra9kaifvl2hpfz81";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base containers haskeline parsec ];
@@ -28779,8 +28877,8 @@ self: {
      }:
      mkDerivation {
        pname = "cblrepo";
-       version = "0.15.0";
-       sha256 = "1a7bhy3yvrmnirh7nmlz6d1nyxs5dng2ap17h8585yhx9k1a5n68";
+       version = "0.15.1";
+       sha256 = "1cwkkszbxx90jykd6b4r6kkjz4dpi86xx99fb8h3aqczyccn6hvw";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -29260,8 +29358,8 @@ self: {
     ({ mkDerivation, array, base, process, random }:
      mkDerivation {
        pname = "chalmers-lava2000";
-       version = "1.4.1";
-       sha256 = "19n7z5k6ycn6brnh1n8ykni3ix49d53p3rjggfaklw83knqnvxhy";
+       version = "1.5";
+       sha256 = "1xrzh1mqa6d3hwr7lfazfskh6bklbj3kv9vlm40n650l2l42arga";
        buildDepends = [ array base process random ];
        homepage = "http://projects.haskell.org/chalmers-lava2000/Doc/tutorial.pdf";
        description = "Hardware description EDSL";
@@ -30997,7 +31095,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/cloud-haskell";
        description = "The Cloud Haskell Application Platform";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cloudfront-signer" = callPackage
@@ -31341,8 +31438,8 @@ self: {
      }:
      mkDerivation {
        pname = "cndict";
-       version = "0.5.0";
-       sha256 = "095gin216bm2zrlw3j52byk924z51ijk90di2n5r1dbvf9liwj7l";
+       version = "0.5.2";
+       sha256 = "0jnrv15gs350zjd97a7z332f8k4g02y7v5r0ix4g5wp50mydm2zz";
        buildDepends = [
          base binary bytestring cassava containers file-embed text vector
        ];
@@ -32771,8 +32868,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-combinators";
-       version = "0.3.0.6";
-       sha256 = "0z2nzs89sw2wxrgvyd2bxyh9vs87r1g6rbjqiwcjvhjs25ppq22b";
+       version = "0.3.1";
+       sha256 = "14cvd9vs31gbgggy3v6rsg7wckr08msw1s0fwqbyal73krm79f2r";
        buildDepends = [
          base base16-bytestring base64-bytestring bytestring chunked-data
          conduit conduit-extra monad-control mono-traversable mwc-random
@@ -32818,8 +32915,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-extra";
-       version = "1.1.7.1";
-       sha256 = "1qpqjcqy44l92s21aivd2gvb7zz574102mld19a44w0n3yxvljx3";
+       version = "1.1.7.2";
+       sha256 = "0nb7sd8a5lbl9frypz9clr808ircln356244nzm7kl5qd53752iw";
        buildDepends = [
          attoparsec base blaze-builder bytestring conduit directory filepath
          monad-control network primitive process resourcet stm
@@ -34590,8 +34687,8 @@ self: {
     ({ mkDerivation, base, data-binary-ieee754, ieee754 }:
      mkDerivation {
        pname = "crackNum";
-       version = "1.1";
-       sha256 = "12sr5dqm4cgmc2hk4fhn5zd4dqnhjzzb5hqldmj4s75xhpsnws10";
+       version = "1.3";
+       sha256 = "06balzwvvpl69abfcq0gynv6zpy42aygvlicb9jsnrys2vyipv28";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ base data-binary-ieee754 ieee754 ];
@@ -35281,8 +35378,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptol";
-       version = "2.2.1";
-       sha256 = "06dl3jkv0ygyb42p89hifrsmcg8jipyag01ibwj3gr6kxm443cg7";
+       version = "2.2.2";
+       sha256 = "1rqnrjxvkisis7m5zfhyw8717a9jnjgdmm6nnbdrnbxmsabsad20";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -35292,6 +35389,7 @@ self: {
          template-haskell text tf-random transformers utf8-string
        ];
        buildTools = [ alex happy ];
+       jailbreak = true;
        homepage = "http://www.cryptol.net/";
        description = "Cryptol: The Language of Cryptography";
        license = stdenv.lib.licenses.bsd3;
@@ -35305,8 +35403,8 @@ self: {
      }:
      mkDerivation {
        pname = "cryptsy-api";
-       version = "0.2";
-       sha256 = "09sx9z6s1ii8p4hw84j4ahd81a6k4xz3fn1zi60r7grsmbx69pkw";
+       version = "0.2.1";
+       sha256 = "1knnzh77y4rr7ka2nfwr99z61v2pvx2p1mzji06ac0mjk2n80ybs";
        buildDepends = [
          aeson base bytestring deepseq either http-client http-client-tls
          old-locale pipes-attoparsec pipes-http text time transformers
@@ -35314,7 +35412,7 @@ self: {
        ];
        jailbreak = true;
        description = "Bindings for Cryptsy cryptocurrency exchange API";
-       license = "unknown";
+       license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -35356,16 +35454,18 @@ self: {
      }) {};
 
   "csound-expression" = callPackage
-    ({ mkDerivation, base, Boolean, colour, csound-expression-opcodes
-     , csound-expression-typed, data-default, process
+    ({ mkDerivation, base, Boolean, colour, csound-expression-dynamic
+     , csound-expression-opcodes, csound-expression-typed, data-default
+     , process, transformers
      }:
      mkDerivation {
        pname = "csound-expression";
-       version = "4.4.1";
-       sha256 = "03l7gbbiqs1djizda16hhi24pqgmqpdsfgl0dxvpzpvz703imfg5";
+       version = "4.5";
+       sha256 = "0h9rba2jvfc6dhrdkn6g33rw1qdnxzjmkvsqpbq2l5iqzw8j1s7k";
        buildDepends = [
-         base Boolean colour csound-expression-opcodes
-         csound-expression-typed data-default process
+         base Boolean colour csound-expression-dynamic
+         csound-expression-opcodes csound-expression-typed data-default
+         process transformers
        ];
        homepage = "https://github.com/anton-k/csound-expression";
        description = "library to make electronic music";
@@ -35378,8 +35478,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-dynamic";
-       version = "0.1.2";
-       sha256 = "05x9fbsm8ah2s7p81xzqmfvkxs81iplg1r334j6djcyab1waqa9i";
+       version = "0.1.3";
+       sha256 = "0pzdkzdlbllgz7ikz6sd89f8nfrvr3ryi01jcwk0ix0h0mwdg6n6";
        buildDepends = [
          array base Boolean containers data-default data-fix data-fix-cse
          transformers wl-pprint
@@ -35395,8 +35495,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-opcodes";
-       version = "0.0.1";
-       sha256 = "0lm95cx66i8bysr9y9gd455pfmx9didgk78cfld8fcwjj6rv1qa0";
+       version = "0.0.2";
+       sha256 = "0friwwx0ia2wk75ylmvlladswqfwhza8grsbnqfn5q8ffsjv632r";
        buildDepends = [
          base csound-expression-dynamic csound-expression-typed transformers
        ];
@@ -35411,8 +35511,8 @@ self: {
      }:
      mkDerivation {
        pname = "csound-expression-typed";
-       version = "0.0.7.1";
-       sha256 = "163jkx5x3mnlcj0zxx9595i4bpp29lz60fgcdkx07vmqky7hb1ng";
+       version = "0.0.7.2";
+       sha256 = "0fflw0pyyvzvnkizv57kszkfr933sapgsilsbkzkvx9xp6v5975d";
        buildDepends = [
          base Boolean colour containers csound-expression-dynamic
          data-default deepseq ghc-prim stable-maps transformers wl-pprint
@@ -35426,8 +35526,8 @@ self: {
     ({ mkDerivation, base, csound-expression, transformers }:
      mkDerivation {
        pname = "csound-sampler";
-       version = "0.0.4.0";
-       sha256 = "03mymb5yk4hlf6nsmakxw0nyspvrs7882dmpx9r65lkpsvgnaxyp";
+       version = "0.0.5.0";
+       sha256 = "14ya1sbq5kqg4nbl6iak181rhi8znj33vbcxnhzbbcybx1y6rsh1";
        buildDepends = [ base csound-expression transformers ];
        homepage = "https://github.com/anton-k/csound-sampler";
        description = "A musical sampler based on Csound";
@@ -35756,8 +35856,8 @@ self: {
     ({ mkDerivation, base, c2hs, cuda }:
      mkDerivation {
        pname = "cufft";
-       version = "0.1.2.0";
-       sha256 = "09d62g5nwl8bj80h8pz5k9bjcp59xcbsa5pmbygqybhcfhng25kg";
+       version = "0.1.2.1";
+       sha256 = "1qkrp2dwfpivf5j42a7wij61010a3rmldxng4j8ivkrc7vllv76j";
        buildDepends = [ base cuda ];
        buildTools = [ c2hs ];
        homepage = "http://github.com/robeverest/cufft";
@@ -36324,8 +36424,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "darcs-scripts";
-       version = "0.1";
-       sha256 = "1jyl04z76935kz71hmz2hdx9bw2ka2v8pai6lpy6iz63wamhkmps";
+       version = "0.1.1";
+       sha256 = "06gs18s89nc5qyicfpkj0hz999l5pf4glhlanm2yhyd6lxbfgkba";
        buildDepends = [ base ];
        description = "Shell scripts for support of darcs workflow";
        license = stdenv.lib.licenses.bsd3;
@@ -36624,8 +36724,8 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "data-clist";
-       version = "0.0.7.3";
-       sha256 = "0kabcqyvsajf5drihp3f6da2vbw76f85cc4gh20n9czxy19g35rq";
+       version = "0.0.7.4";
+       sha256 = "0vnrn8fcnibdbvwdf2smipnvmamgva0x7pszl4bykmh15ns417vn";
        buildDepends = [ base deepseq QuickCheck ];
        homepage = "https://github.com/sw17ch/data-clist";
        description = "Simple functional ring type";
@@ -37543,13 +37643,15 @@ self: {
      }) {};
 
   "dataflow" = callPackage
-    ({ mkDerivation, base, mtl }:
+    ({ mkDerivation, base, containers, hspec, HUnit, mtl }:
      mkDerivation {
        pname = "dataflow";
-       version = "0.3.1.0";
-       sha256 = "0rl396ll4m5vc6347d98bf7iyyvf7przgdsmh5l53qj7vl226fj6";
-       buildDepends = [ base mtl ];
+       version = "0.5.0.0";
+       sha256 = "0vkrmgf39mjvf1150dhwry663l1kvkb73d076jh95zzlksyg0xfp";
+       buildDepends = [ base containers mtl ];
+       testDepends = [ base hspec HUnit ];
        jailbreak = true;
+       homepage = "https://github.com/owickstrom/dataflow";
        description = "Generate Graphviz documents from a Haskell representation";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -38892,9 +38994,10 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "descrilo";
-       version = "0.1.0.2";
-       sha256 = "1wvq4gcda39k69hadz9kfxn5bsxqjag4chbbppiwmyp503y8f2k1";
+       version = "0.1.0.3";
+       sha256 = "19x78lv6rd5i5xvqj92q5snly1579jiiw2fgmxzxza0km9j9yiw2";
        buildDepends = [ base ];
+       jailbreak = true;
        description = "Loads a list of items with fields";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -40043,17 +40146,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "directory_1_2_2_0" = callPackage
-    ({ mkDerivation, base, filepath, time, unix }:
+  "directory_1_2_2_1" = callPackage
+    ({ mkDerivation, base, filepath, python, time, unix, which }:
      mkDerivation {
        pname = "directory";
-       version = "1.2.2.0";
-       sha256 = "1dbn6d48gdqh0n2rkh02asxv94ikd8849659ndc7p3h93kgj1dy4";
+       version = "1.2.2.1";
+       sha256 = "0ikhkmgzmpxvgl9w1piv168sbwkrvn0l2xdx9zb4sw75ci1ymb1y";
        buildDepends = [ base filepath time unix ];
-       testDepends = [ base ];
+       testDepends = [ base python which ];
        description = "Platform-agnostic library for filesystem operations";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+       broken = true;
+     }) { python = null;  which = null;};
 
   "directory-layout" = callPackage
     ({ mkDerivation, base, bytestring, command-qq, containers
@@ -40281,7 +40385,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/distributed-process-async";
        description = "Cloud Haskell Async API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-azure" = callPackage
@@ -40338,7 +40441,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/distributed-process-client-server";
        description = "The Cloud Haskell Application Platform";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-execution" = callPackage
@@ -40404,7 +40506,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/distributed-process-extras";
        description = "Cloud Haskell Extras";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-monad-control" = callPackage
@@ -40561,7 +40662,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/distributed-process-supervisor";
        description = "Supervisors for The Cloud Haskell Application Platform";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-task" = callPackage
@@ -40621,7 +40721,6 @@ self: {
        homepage = "http://github.com/haskell-distributed/distributed-process-tests";
        description = "Tests for distributed-process";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "distributed-process-zookeeper" = callPackage
@@ -40717,17 +40816,18 @@ self: {
 
   "diversity" = callPackage
     ({ mkDerivation, base, containers, fasta, math-functions
-     , optparse-applicative, parsec, split
+     , MonadRandom, optparse-applicative, parsec, random-shuffle
+     , scientific, split
      }:
      mkDerivation {
        pname = "diversity";
-       version = "0.4.0.1";
-       sha256 = "15baqhwzhdsbn2iz2r7vkf66nbv0p4ni1qkpnpwblwbcnvfk2lzq";
+       version = "0.5.0.2";
+       sha256 = "0zmwikcl11sllvdz49l8cxlsnxlmv7lbjpnbpxjxl5iczsyscgl7";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
-         base containers fasta math-functions optparse-applicative parsec
-         split
+         base containers fasta math-functions MonadRandom
+         optparse-applicative parsec random-shuffle scientific split
        ];
        homepage = "https://github.com/GregorySchwartz/diversity";
        description = "Return the diversity at each position for all sequences in a fasta file";
@@ -41333,6 +41433,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dozenal" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "dozenal";
+       version = "0.1.0.0";
+       sha256 = "0sqvxyj3aybqvjlrz2a93lnp1vbjiqikysm575wizri2rd3vfj1l";
+       buildDepends = [ base ];
+       homepage = "https://github.com/siddhanathan/dozenal";
+       description = "A Haskell library for using Dozenal (Duodecimal - Base 12) numbers";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "dph-base" = callPackage
     ({ mkDerivation, array, base, ghc-prim, pretty, random, vector }:
      mkDerivation {
@@ -41791,6 +41903,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dtw" = callPackage
+    ({ mkDerivation, base, containers, MemoTrie, QuickCheck
+     , test-framework, test-framework-quickcheck2, thyme, vector
+     , vector-space
+     }:
+     mkDerivation {
+       pname = "dtw";
+       version = "1.0.0.0";
+       sha256 = "0kcb773sly86lkvnb3ihsswrz432phi3ccizwbf1phzf72kdflzr";
+       buildDepends = [ base containers MemoTrie vector vector-space ];
+       testDepends = [
+         base containers MemoTrie QuickCheck test-framework
+         test-framework-quickcheck2 thyme vector vector-space
+       ];
+       description = "(Fast) Dynamic Time Warping";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dual-tree" = callPackage
     ({ mkDerivation, base, monoid-extras, newtype, semigroups }:
      mkDerivation {
@@ -42386,8 +42516,8 @@ self: {
      }:
      mkDerivation {
        pname = "ede";
-       version = "0.2.8";
-       sha256 = "1pzqjs7560xkw51aqpivm6sgysnxs6c5jy4fnalvds79gk37yryh";
+       version = "0.2.8.2";
+       sha256 = "0j0b0pn9apvpqxb0gnxxp51g32xc47jky4njb9jn0x59jssc1g1q";
        buildDepends = [
          aeson ansi-wl-pprint base bifunctors bytestring comonad directory
          filepath free lens mtl parsers scientific semigroups text
@@ -42470,7 +42600,9 @@ self: {
      mkDerivation {
        pname = "edit-distance";
        version = "0.2.1.2";
+       revision = "1";
        sha256 = "08dxsp1ar8mr4xrjy37lzl0s1rjnqsdq30p09nclip5pyhcw7g44";
+       editedCabalFile = "27d6fb19e1707aa05883ca4ffd6715dcc81db287c71508d6aaa420cefc8f29c1";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ array base containers random ];
@@ -42545,6 +42677,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) { inherit (pkgs) libedit;};
 
+  "editor-open" = callPackage
+    ({ mkDerivation, base, bytestring, process, temporary, unix }:
+     mkDerivation {
+       pname = "editor-open";
+       version = "0.2.0.0";
+       sha256 = "0lv7rkapyvhsrri1094ls4biv7s5p5a30zm20ghqaky3nka2n18p";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base bytestring process temporary unix ];
+       jailbreak = true;
+       homepage = "https://notabug.org/pharpend/editor-open";
+       description = "Open the user's $EDITOR for text input";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "effect-handlers" = callPackage
     ({ mkDerivation, base, free, hspec, hspec-discover, HUnit
      , kan-extensions, mtl, QuickCheck
@@ -42883,8 +43030,8 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-core";
-       version = "0.1.0.3";
-       sha256 = "0d2hvj9g62xkaah8iizgr668ij53164nnrdjkikhc2igi6wk31k4";
+       version = "0.1.0.4";
+       sha256 = "04ym37hc2l3k185dbkmfa4n7ya412cgc5zf0kynwgfvdwggjnxwh";
        buildDepends = [
          base containers ghc-prim text unordered-containers
        ];
@@ -42923,6 +43070,7 @@ self: {
        buildDepends = [
          base bytestring ekg-core text time unordered-containers
        ];
+       jailbreak = true;
        homepage = "https://github.com/adarqui/ekg-push";
        description = "Small framework to push metric deltas to a broadcast channel using the ekg-core library";
        license = stdenv.lib.licenses.bsd3;
@@ -42955,12 +43103,11 @@ self: {
      }:
      mkDerivation {
        pname = "ekg-statsd";
-       version = "0.2.0.1";
-       sha256 = "0s01bkir41189ss72sshlbg4y4qk2wvkr234m2j1y0169l067687";
+       version = "0.2.0.2";
+       sha256 = "1jblrhwpv579d51i66bin9zxmwkl899lxwygg4qqpm3cnx5vf859";
        buildDepends = [
          base bytestring ekg-core network text time unordered-containers
        ];
-       jailbreak = true;
        homepage = "https://github.com/tibbe/ekg-statsd";
        description = "Push metrics to statsd";
        license = stdenv.lib.licenses.bsd3;
@@ -43497,8 +43644,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io";
-       version = "1.2.4";
-       sha256 = "08445vp6ma2jids99b21grw8pds086yvbcbh6iyr8x3z74020y1m";
+       version = "1.2.5";
+       sha256 = "09hndfmgvganfj2y53zj5dpy1dn8rain3fyxknr14ln8c75jprah";
        buildDepends = [
          aeson async attoparsec base base64-bytestring bytestring either
          free monad-loops mwc-random stm stm-delay text transformers
@@ -43516,8 +43663,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io-snap";
-       version = "1.0.2";
-       sha256 = "0x2sb3b825ds1g2g15yyqxdrw6bh968ivmyd1933l47649qbs0xr";
+       version = "1.0.3";
+       sha256 = "0i2099b4drvzknz6ifi4dvgfibkqxfrz6w3a15k09nw3vxc14hbg";
        buildDepends = [
          attoparsec-enumerator base bytestring containers engine-io
          MonadCatchIO-transformers snap-core unordered-containers websockets
@@ -43534,10 +43681,8 @@ self: {
      }:
      mkDerivation {
        pname = "engine-io-yesod";
-       version = "1.0.1";
-       revision = "1";
-       sha256 = "0pczmiqrg046r367j071h2hr6p2amw93sqy7j1drd2gdiwaxzn02";
-       editedCabalFile = "5963c385f145309049f67eb35f835abf2530a7b117730bd9fe0c4991837a52aa";
+       version = "1.0.2";
+       sha256 = "15hjq128zn23kq5nlmpv7sbrhzhv1936psgf8aa7yxvx4xwy6baw";
        buildDepends = [
          base bytestring conduit conduit-extra engine-io http-types text
          unordered-containers wai wai-websockets websockets yesod-core
@@ -43951,17 +44096,20 @@ self: {
   "equivalence" = callPackage
     ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
      , template-haskell, test-framework, test-framework-quickcheck2
+     , transformers, transformers-compat
      }:
      mkDerivation {
        pname = "equivalence";
-       version = "0.3.0.1";
-       sha256 = "0ym4dlwajwh9qk6wgqzbwy0nfnq13a3f4lcfhw7g7xn63lkwm7ch";
-       buildDepends = [ base containers mtl STMonadTrans ];
+       version = "0.3.1";
+       sha256 = "0zi053l03r5qcnpsphnq8xqazd0cbgj9n44hn47s1hagdra3j1bs";
+       buildDepends = [
+         base containers mtl STMonadTrans transformers transformers-compat
+       ];
        testDepends = [
          base containers mtl QuickCheck STMonadTrans template-haskell
-         test-framework test-framework-quickcheck2
+         test-framework test-framework-quickcheck2 transformers
+         transformers-compat
        ];
-       jailbreak = true;
        homepage = "https://bitbucket.org/paba/equivalence/";
        description = "Maintaining an equivalence relation implemented as union-find using STT";
        license = stdenv.lib.licenses.bsd3;
@@ -44251,8 +44399,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "2.1.2.3";
-       sha256 = "0pa4j9xd8hk2imfggkjxk08314jpi0fh9z0pkr7f8mix6rvqm8ir";
+       version = "2.1.3";
+       sha256 = "1wsq058dm849ldxn5gjayagb6ds56b80dinyrpbjw8b0fr3s6v9d";
        buildDepends = [
          base conduit monad-logger persistent resourcet tagged text
          transformers unordered-containers
@@ -44607,6 +44755,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "exact-pi" = callPackage
+    ({ mkDerivation, base, groups }:
+     mkDerivation {
+       pname = "exact-pi";
+       version = "0.1.0.0";
+       sha256 = "01vljbgsqwiv6chlp1nfvmfc4wd3nq89mvn7x8s68dhfd8f8m2g6";
+       buildDepends = [ base groups ];
+       jailbreak = true;
+       homepage = "https://github.com/dmcclean/exact-pi";
+       description = "Exact rational multiples of pi (and integer powers of pi)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "exception-mailer" = callPackage
     ({ mkDerivation, base, hslogger, mime-mail, text }:
      mkDerivation {
@@ -44735,8 +44896,8 @@ self: {
      }:
      mkDerivation {
        pname = "exhaustive";
-       version = "1.1.0";
-       sha256 = "14pdf5iks0j2vpg3w48qs32lnj8ahkd0jljjhx1qap66mss0i3jl";
+       version = "1.1.1";
+       sha256 = "0bgzg2qhx91hd9711bxv6cr2qc7m23g29al4gb7yx20cs78bz1mg";
        buildDepends = [ base generics-sop template-haskell transformers ];
        homepage = "http://github.com/ocharles/exhaustive";
        description = "Compile time checks that a computation considers producing data through all possible constructors";
@@ -45065,12 +45226,13 @@ self: {
      }) {};
 
   "extensible" = callPackage
-    ({ mkDerivation, base, binary, constraints, template-haskell }:
+    ({ mkDerivation, base, constraints, profunctors, template-haskell
+     }:
      mkDerivation {
        pname = "extensible";
-       version = "0.3.2";
-       sha256 = "1fb027d14100s384mhl0g09jpjxqam85g6yh0pnwcn3g4fzq0fln";
-       buildDepends = [ base binary constraints template-haskell ];
+       version = "0.3.3";
+       sha256 = "0d574fra1f5cd0fakypjixkr9ag1zsgh7bc8l250sjqw1sjq4cmh";
+       buildDepends = [ base constraints profunctors template-haskell ];
        homepage = "https://github.com/fumieval/extensible";
        description = "Extensible, efficient, lens-friendly data types";
        license = stdenv.lib.licenses.bsd3;
@@ -45449,8 +45611,8 @@ self: {
     ({ mkDerivation, base, containers, parsec, split, text }:
      mkDerivation {
        pname = "fasta";
-       version = "0.5.1.3";
-       sha256 = "1p5a98riv7wjkd0mdinqfm3qmhx6q4dbibdhpp9a4r4zm4ccwpfb";
+       version = "0.5.1.5";
+       sha256 = "12qjgmrd8pvzcx6ssky3vjbbh69yki1kpppkyksv0afbvd81qkv5";
        buildDepends = [ base containers parsec split text ];
        homepage = "https://github.com/GregorySchwartz/fasta";
        description = "A simple, mindless parser for fasta files";
@@ -45579,8 +45741,8 @@ self: {
      }:
      mkDerivation {
        pname = "fay-builder";
-       version = "0.2.0.4";
-       sha256 = "0x1y9d2hgi3ky7f7ydc43dyd54dsmqcgxj6g8n2x3yfrcjkljq05";
+       version = "0.2.0.5";
+       sha256 = "18ii5dnzk866q79h43fspdz8dzg17mzfrykh3pl4p0q4qdnylv8i";
        buildDepends = [
          base Cabal data-default directory fay filepath safe split text
        ];
@@ -45672,8 +45834,8 @@ self: {
      }:
      mkDerivation {
        pname = "fb";
-       version = "1.0.8";
-       sha256 = "1cv722kkp6lbxajv3ka4088x2491yy41cfypqqkq753mm59x6s9m";
+       version = "1.0.9";
+       sha256 = "0f5zs1qnjkhrdlfvcl26l3j2xl58y97y7rh2dds12mvsyj7h446b";
        buildDepends = [
          aeson attoparsec base base16-bytestring base64-bytestring
          bytestring cereal conduit conduit-extra crypto-api cryptohash
@@ -46099,8 +46261,8 @@ self: {
      }) {};
 
   "ffmpeg-light" = callPackage
-    ({ mkDerivation, base, JuicyPixels, libavcodec, libavformat
-     , libavutil, libswscale, mtl, transformers, vector
+    ({ mkDerivation, base, ffmpeg, JuicyPixels, libavcodec, libavformat
+     , libswscale, mtl, transformers, vector
      }:
      mkDerivation {
        pname = "ffmpeg-light";
@@ -46109,13 +46271,13 @@ self: {
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ base JuicyPixels mtl transformers vector ];
-       pkgconfigDepends = [ libavcodec libavformat libavutil libswscale ];
+       pkgconfigDepends = [ ffmpeg libavcodec libavformat libswscale ];
        jailbreak = true;
        description = "Minimal bindings to the FFmpeg library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) { libavcodec = null;  libavformat = null;  libavutil = null;
-          libswscale = null;};
+     }) { inherit (pkgs) ffmpeg;  libavcodec = null;
+          libavformat = null;  libswscale = null;};
 
   "ffmpeg-tutorials" = callPackage
     ({ mkDerivation, base, bytestring, haskell98, hs-ffmpeg, SDL, stm
@@ -46358,8 +46520,8 @@ self: {
      }:
      mkDerivation {
        pname = "filediff";
-       version = "0.1.0.4";
-       sha256 = "0jqmwlg7xpz03kqchnydgrxyiz8cf4ijv3019nshwqxjwjyzf50r";
+       version = "0.1.0.6";
+       sha256 = "10lhp6d87r2xiw0xrj8x0h7x5nzr2240w4q1ks3hhvrcpczzgy5w";
        buildDepends = [
          base data-default data-memocombinators directory either mtl tasty
          tasty-hunit text time transformers Zora
@@ -47375,8 +47537,8 @@ self: {
     ({ mkDerivation, base, bytestring, c2hs, directory, process }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.1.0.1";
-       sha256 = "026cx8l24qjf91d8ikqyz7bj92apm3qzq0ml6rvybj44mrpd1c34";
+       version = "0.1.0.2";
+       sha256 = "11p957d12ivrf9r76zf2khjd736fdnhaj7qp0x6fbwmda2ifrij3";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ base bytestring directory process ];
@@ -47678,8 +47840,8 @@ self: {
     ({ mkDerivation, aeson, base, text }:
      mkDerivation {
        pname = "forecast-io";
-       version = "0.1.0.0";
-       sha256 = "0z2hv8lv75zij9arvxdircc0db0r0m86fgk5496hh1gvxxd5pqw6";
+       version = "0.2.0.0";
+       sha256 = "17wsqrq1zq1p80gnrfsvks5bhickfqj5mh2prbzzkzb3s28l1mby";
        buildDepends = [ aeson base text ];
        homepage = "https://github.com/stormont/forecast-io";
        description = "A Haskell library for working with forecast.io data.";
@@ -47714,7 +47876,9 @@ self: {
      mkDerivation {
        pname = "foreign-var";
        version = "0.1";
+       revision = "1";
        sha256 = "1rxfmzq9npj1170i85qhq5fhvvzb9j1wdi5lzmj57k4hlyxcwqjd";
+       editedCabalFile = "f9c906434533279cfa8e2897c6eed6ed9c279f373efc5180bda76b704601fa1c";
        buildDepends = [ base stm transformers ];
        homepage = "http://github.com/ekmett/foreign-var/";
        description = "Encapsulating mutatable state in external libraries";
@@ -48128,12 +48292,13 @@ self: {
      }:
      mkDerivation {
        pname = "free-functors";
-       version = "0.6.3.3";
-       sha256 = "05q3b5ls6c63piywyxpa87gzn0c46xwgisq6skb05a38q24za3a0";
+       version = "0.6.4.1";
+       sha256 = "1mc5y29j4khl222dwb9xcnfmn2jh3v47rkvkzwvlgrbg5bh81kzk";
        buildDepends = [
          algebraic-classes base comonad constraints template-haskell
          transformers void
        ];
+       jailbreak = true;
        homepage = "https://github.com/sjoerdvisscher/free-functors";
        description = "Provides free functors that are adjoint to functors that forget class constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -48385,17 +48550,16 @@ self: {
      }) {};
 
   "friday" = callPackage
-    ({ mkDerivation, base, bytestring, convertible, deepseq, primitive
-     , QuickCheck, ratio-int, test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, convertible, deepseq, primitive, QuickCheck
+     , ratio-int, test-framework, test-framework-quickcheck2
      , transformers, vector
      }:
      mkDerivation {
        pname = "friday";
-       version = "0.2.1.0";
-       sha256 = "02n0cdmd4fc3vi2i73s7q4pynnn29dpa1rh94z6j5lb5arcz9i8p";
+       version = "0.2.1.1";
+       sha256 = "1snbmr1q60lg94zzfxfc0pfzyi695m7dc79vpi66c8kb5anwahw8";
        buildDepends = [
-         base bytestring convertible deepseq primitive ratio-int
-         transformers vector
+         base convertible deepseq primitive ratio-int transformers vector
        ];
        testDepends = [
          base QuickCheck test-framework test-framework-quickcheck2 vector
@@ -48832,8 +48996,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "functor-monadic";
-       version = "0.1.0.1";
-       sha256 = "0791pqg4b9nr4ggfhi6ijjxmnwyf2yyqxfk9iahf6jn0y09lr7pm";
+       version = "0.1.0.2";
+       sha256 = "03jipdzark9dhwlym7ky887zzl3cdsc18wwwmg5szl1wgg30li1n";
        buildDepends = [ base ];
        homepage = "https://github.com/ombocomp/FunctorMonadic/";
        description = "Monad-style combinators for functors";
@@ -49756,8 +49920,8 @@ self: {
     ({ mkDerivation, base, containers, mtl, template-haskell }:
      mkDerivation {
        pname = "genifunctors";
-       version = "0.2.2.0";
-       sha256 = "0j0pxpb46iq5vqbr5x1cjng9dpjcbd3q2r53ds27b956pyi82m19";
+       version = "0.3";
+       sha256 = "16jsy5dyp1hqnk40nzjprkw3bfdbc92vkgzmwdds67ljh0jn6815";
        buildDepends = [ base containers mtl template-haskell ];
        testDepends = [ base containers mtl template-haskell ];
        homepage = "https://github.com/danr/genifunctors";
@@ -49955,8 +50119,8 @@ self: {
      }:
      mkDerivation {
        pname = "getopt-generics";
-       version = "0.2";
-       sha256 = "12zidbkxnksh05l8ds100y6sx29l0i8x0xy3zfczh4cir4lbz67g";
+       version = "0.3";
+       sha256 = "188zymhbnhcpbsljpbjsz6zhwax8zakjvlh7pqxqyag4fdd3qgc1";
        buildDepends = [ base base-compat generics-sop tagged ];
        testDepends = [
          base base-compat generics-sop hspec hspec-expectations silently
@@ -50838,8 +51002,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "5.20150406.1";
-       sha256 = "11r4i1bwkkwwffqqk0s9w9brbc7xnkjr6qw7amzagk4lfvcvpsvi";
+       version = "5.20150409";
+       sha256 = "0pap6sxzlxj43qs8m6dmrpy82123jprl4lva3j10yblgkpg4j9lf";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -51473,8 +51637,8 @@ self: {
      }:
      mkDerivation {
        pname = "gl";
-       version = "0.7.4";
-       sha256 = "08b7mayd1qfalqrr2zh8ra7mm05l2inifjamvxn84697mnvxhjg7";
+       version = "0.7.5";
+       sha256 = "0ffc9lks1fd4ch7pygdl8yfmy425aazykrn2niakb876kzzm5axi";
        buildDepends = [
          base containers directory filepath fixed half hxt split
          transformers
@@ -58978,6 +59142,7 @@ self: {
          base-prelude either hasql-backend hasql-postgres hspec
          monad-control mtl-prelude slave-thread text vector
        ];
+       jailbreak = true;
        homepage = "https://github.com/nikita-volkov/hasql";
        description = "A minimalistic general high level API for relational databases";
        license = stdenv.lib.licenses.mit;
@@ -59144,8 +59309,8 @@ self: {
     ({ mkDerivation, base, haste-compiler, transformers }:
      mkDerivation {
        pname = "haste-perch";
-       version = "0.1.0.8";
-       sha256 = "0p15wzl7rina4pnldhkm188addqlgmc9k4cryv7v2dr9i0wv5y8f";
+       version = "0.1.0.9";
+       sha256 = "1a92ahmphsr0dgj1jlp2cxpq5yy59b3avw3gzmv0jzrds41p3ic8";
        buildDepends = [ base haste-compiler transformers ];
        homepage = "https://github.com/agocorona/haste-perch";
        description = "Create, navigate and modify the DOM tree with composable syntax, with the haste compiler";
@@ -60341,9 +60506,9 @@ self: {
      mkDerivation {
        pname = "heist";
        version = "0.14.1";
-       revision = "1";
+       revision = "2";
        sha256 = "11g6nrg9xn9ypwrz7mj3hqjhg45ia1miihh1ydls7vfdm2fqlagy";
-       editedCabalFile = "2d58f7f1572a3a9ed3f20cb344a4f45e33303a40889b1e5bd8f83e4b972b195e";
+       editedCabalFile = "73ce4cfe9090a973644268118b4d765577c2e8ddeeb1ad245d335772f5369d34";
        buildDepends = [
          aeson attoparsec base blaze-builder blaze-html bytestring
          containers directory directory-tree dlist errors filepath hashable
@@ -62605,12 +62770,11 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-irr";
-       version = "0.1.1.5";
-       sha256 = "0xv8rmxf1534g6mbxlhmrx71w0amdrhhj1dwyw5dv91i743br5mp";
+       version = "0.1.1.6";
+       sha256 = "1w8f69ssr7g50w4mikfakznrw7y0lqcjr78ad5bwz37ppi4fhdvj";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base Cabal Decimal hledger-lib statistics time ];
-       jailbreak = true;
        description = "computes the internal rate of return of an investment";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -62750,6 +62914,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) { inherit (pkgs) git;  inherit (pkgs) openssl;};
 
+  "hlibsass" = callPackage
+    ({ mkDerivation, base, hspec, sass }:
+     mkDerivation {
+       pname = "hlibsass";
+       version = "0.1.1.0";
+       revision = "1";
+       sha256 = "1dq09m5ag63zzhfa5xkvh3vzrn2ywamvdl41gjrirmbiziqa86l8";
+       editedCabalFile = "768c79fd71253719dfd74821dbf070bd3d1ff30a298fd76d9e6c616bd4b5799a";
+       buildDepends = [ base ];
+       testDepends = [ base hspec ];
+       extraLibraries = [ sass ];
+       homepage = "https://github.com/jakubfijalkowski/hlibsass";
+       description = "Low-level bindings to libsass";
+       license = stdenv.lib.licenses.mit;
+     }) { sass = null;};
+
   "hlint" = callPackage
     ({ mkDerivation, ansi-terminal, base, cmdargs, containers, cpphs
      , directory, extra, filepath, haskell-src-exts, hscolour, process
@@ -62907,8 +63087,8 @@ self: {
     ({ mkDerivation, base, bytestring, cassava, hmatrix, vector }:
      mkDerivation {
        pname = "hmatrix-csv";
-       version = "0.1.0.1";
-       sha256 = "0xfh7gj4f5sb14j3m15mp9bddz90jk0g4qz0rjhfdwyd8k9k6hfp";
+       version = "0.1.0.2";
+       sha256 = "0cbnxzl9ymqnyrikwk13d660l3hmi4ln5zdx0q814k8b7hyvsnkb";
        buildDepends = [ base bytestring cassava hmatrix vector ];
        homepage = "https://github.com/grtlr/hmatrix-csv";
        description = "CSV encoding and decoding for hmatrix";
@@ -63939,8 +64119,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "4.2.39";
-       sha256 = "0n3sh13lhg9aip1390by0wfdfsrnqz61zgs6ji143ak7fdff1559";
+       version = "4.2.40";
+       sha256 = "11clwdqgsg38lw0jc382xkazlgm8lpa7d8sydgi14wkgwy4v9zqv";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -64430,19 +64610,19 @@ self: {
      }) {};
 
   "hp2pretty" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, containers
-     , filepath, floatshow, mtl
+    ({ mkDerivation, array, attoparsec, base, containers, filepath
+     , floatshow, mtl, text
      }:
      mkDerivation {
        pname = "hp2pretty";
-       version = "0.5";
-       sha256 = "1kjfvp29s8wwdwpkqx47qpqy5ybl1ynx42idraarngcv8i9bzfgm";
+       version = "0.6";
+       sha256 = "1bma881ljhwhzirj2q9rqf0bxx9xfy0ng2z9mrhdnaywnw4d8v4c";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
-         array attoparsec base bytestring containers filepath floatshow mtl
+         array attoparsec base containers filepath floatshow mtl text
        ];
-       homepage = "http://gitorious.org/hp2pretty";
+       homepage = "http://code.mathr.co.uk/hp2pretty";
        description = "generate pretty graphs from heap profiles";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -64640,8 +64820,8 @@ self: {
      }:
      mkDerivation {
        pname = "hplayground";
-       version = "0.1.2.9";
-       sha256 = "090j08ygfjsmhyfdg0azl0qwfm0i96yyk67xnwyv1as56r2pvn6r";
+       version = "0.1.3.1";
+       sha256 = "15yri40046lap05b762k4nk9nly8k6cbypic790zfmhj9ljjq1bv";
        buildDepends = [
          base containers data-default haste-compiler haste-perch monads-tf
          transformers
@@ -65506,6 +65686,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) { xenctrl = null;};
 
+  "hsass" = callPackage
+    ({ mkDerivation, base, data-default-class, filepath, hlibsass
+     , hspec, hspec-discover, monad-loops, mtl, temporary
+     }:
+     mkDerivation {
+       pname = "hsass";
+       version = "0.1.0";
+       sha256 = "1hl0lpjkzxhd4svkfvzl6p8gg32qvkggqdphz14fi11p34ksf41i";
+       buildDepends = [
+         base data-default-class filepath hlibsass monad-loops mtl
+       ];
+       testDepends = [
+         base data-default-class hspec hspec-discover temporary
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/jakubfijalkowski/hsass";
+       description = "Integrating Sass into Haskell applications";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hsay" = callPackage
     ({ mkDerivation, base, Hclip, HTTP, process, unix }:
      mkDerivation {
@@ -66434,8 +66634,8 @@ self: {
     ({ mkDerivation, base, haskeline }:
      mkDerivation {
        pname = "hsilop";
-       version = "0.1.0.0";
-       sha256 = "1yaghdyw94ynq5wg6qk5yswrwwf4vx6j7kpl43alym8dh754npw5";
+       version = "0.1.1.0";
+       sha256 = "001wwlwxd3qb3mcpn0l5qmd7nvpy8qlrcr5j3s5111pgfi8ib0sn";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base haskeline ];
@@ -66953,13 +67153,17 @@ self: {
      }) {};
 
   "hspec-contrib" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, HUnit, QuickCheck }:
+    ({ mkDerivation, base, hspec, hspec-core, HUnit, logging-facade
+     , QuickCheck
+     }:
      mkDerivation {
        pname = "hspec-contrib";
-       version = "0.2.0";
-       sha256 = "0p6jh3j84cq66gfp2pk957ha4ds7797vfbfri9lsg9gd4998dwkq";
-       buildDepends = [ base hspec-core HUnit ];
-       testDepends = [ base hspec hspec-core HUnit QuickCheck ];
+       version = "0.2.1";
+       sha256 = "0m7h0bl34qp8yc5pdlk9hn3a9drd11qy7qkqx3lqh2kzr7wbffj0";
+       buildDepends = [ base hspec-core HUnit logging-facade ];
+       testDepends = [
+         base hspec hspec-core HUnit logging-facade QuickCheck
+       ];
        homepage = "http://hspec.github.io/";
        description = "Contributed functionality for Hspec";
        license = stdenv.lib.licenses.mit;
@@ -67037,7 +67241,9 @@ self: {
      mkDerivation {
        pname = "hspec-expectations-lifted";
        version = "0.5.0";
+       revision = "1";
        sha256 = "0c3fxgwxjwqgwpnlxlbp2amhk44m34iq2lxs1rxkp3vjwkqi2m8b";
+       editedCabalFile = "43e88e0e7587ba1965ba3f2416500c239ad44ba19043bb249c6f307665e85208";
        buildDepends = [ base hspec-expectations transformers ];
        testDepends = [ base hspec ];
        description = "A version of hspec-expectations generalized to MonadIO";
@@ -67166,20 +67372,20 @@ self: {
   "hspec-snap" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , digestive-functors, directory, HandsomeSoup, hspec, hspec-core
-     , hxt, lens, mtl, snap, snap-core, snap-extras, text, transformers
+     , hxt, lens, mtl, snap, snap-core, text, transformers
      }:
      mkDerivation {
        pname = "hspec-snap";
-       version = "0.3.2.3";
-       sha256 = "187j2fhiwv3v2rlh1h9jdxpywdms9n37yp3597dmsbq2kggzsigh";
+       version = "0.3.2.4";
+       sha256 = "1sp1shbkdfphaj207993qnyxjh4jd0vkwf7157v2hg8cny6qvnbf";
        buildDepends = [
          base bytestring containers digestive-functors HandsomeSoup hspec
          hspec-core hxt lens mtl snap snap-core text transformers
        ];
        testDepends = [
          aeson base bytestring containers digestive-functors directory
-         HandsomeSoup hspec hspec-core hxt lens mtl snap snap-core
-         snap-extras text transformers
+         HandsomeSoup hspec hspec-core hxt lens mtl snap snap-core text
+         transformers
        ];
        jailbreak = true;
        homepage = "https://github.com/dbp/hspec-snap";
@@ -67999,6 +68205,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "html-entities" = callPackage
+    ({ mkDerivation, attoparsec, base, base-prelude, directory, doctest
+     , filepath, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "html-entities";
+       version = "1.0.0.2";
+       sha256 = "09djrc8ws8ijig8syanjj29b4fdgrf6cp7py3vx2x1gap4jg5zya";
+       buildDepends = [
+         attoparsec base-prelude text unordered-containers
+       ];
+       testDepends = [ base base-prelude directory doctest filepath ];
+       homepage = "https://github.com/nikita-volkov/html-entities";
+       description = "An \"attoparsec\" parser and a decoder of HTML entities";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "html-kure" = callPackage
     ({ mkDerivation, base, hxt, kure }:
      mkDerivation {
@@ -68072,8 +68295,8 @@ self: {
     ({ mkDerivation, base, containers, text }:
      mkDerivation {
        pname = "html5-entity";
-       version = "0.2.0.2";
-       sha256 = "1vy47b9k71jjrrhgakq9hla67cf006fvj6ggqxq14b0a1bclfkf7";
+       version = "0.2.0.3";
+       sha256 = "0bmmzshxanzw5y2y0hvgzz9yw18jqgv535i1xq2a5lf7w8wpj1if";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ base containers text ];
@@ -68242,8 +68465,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.4.11";
-       sha256 = "0lzrvkja3na2s6r4ixgnj7fx8gjm02bxxs101d69d6s3b0n80phb";
+       version = "0.4.11.1";
+       sha256 = "122h9g6nk17nwxrwqwni75gfbc221s1jvjjlmq6sh9ksgsyh09b4";
        buildDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive clock containers cookie data-default-class deepseq
@@ -69566,10 +69789,8 @@ self: {
     ({ mkDerivation, base, hxt, mtl }:
      mkDerivation {
        pname = "hxt-pickle-utils";
-       version = "0.1.0.2";
-       revision = "1";
-       sha256 = "06v4935lljcyyx4a5v0z4id3fz4v28aghsrzr94k6diibpnwcdz2";
-       editedCabalFile = "89173b402c57c3ee7ee0eb2814e58d81e46cce5742a4f01684980b841359d2fb";
+       version = "0.1.0.3";
+       sha256 = "1id9459yphsbxqa0z89dhsmqqcgvk2axv91d05aw3n6r4ygs3nwx";
        buildDepends = [ base hxt mtl ];
        homepage = "https://github.com/silkapp/hxt-pickle-utils";
        description = "Utility functions for using HXT picklers";
@@ -70345,16 +70566,19 @@ self: {
      }) {};
 
   "ideas" = callPackage
-    ({ mkDerivation, array, base, cgi, containers, directory, filepath
-     , parsec, QuickCheck, random, time, uniplate, wl-pprint
+    ({ mkDerivation, array, base, bytestring, containers, Diff
+     , directory, exceptions, filepath, mtl, multipart, network
+     , old-locale, old-time, parsec, QuickCheck, random, time, uniplate
+     , wl-pprint, xhtml
      }:
      mkDerivation {
        pname = "ideas";
-       version = "1.2";
-       sha256 = "13mj1xa1bpr0bj9id00vcm6fnai7cf2289s6gs52rmkbnhkp998m";
+       version = "1.3.1";
+       sha256 = "1rwvnxih9lb8hw3wvnv377z78szdq80qsrspnxbdqf37kfdw3fx0";
        buildDepends = [
-         array base cgi containers directory filepath parsec QuickCheck
-         random time uniplate wl-pprint
+         array base bytestring containers Diff directory exceptions filepath
+         mtl multipart network old-locale old-time parsec QuickCheck random
+         time uniplate wl-pprint xhtml
        ];
        jailbreak = true;
        homepage = "http://ideas.cs.uu.nl/www/";
@@ -70369,8 +70593,8 @@ self: {
      }:
      mkDerivation {
        pname = "ideas-math";
-       version = "1.1";
-       sha256 = "1wvxkav9c7d2na9wkzkl4pxhwihlw6iqdjga7gbjy7pmqn8xja51";
+       version = "1.2";
+       sha256 = "1s3pryjzc7dkmfdfrysag1w1j752y29cga4040a8fag10n9w7rr2";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base containers ideas parsec QuickCheck random ];
@@ -71495,8 +71719,8 @@ self: {
      }:
      mkDerivation {
        pname = "inflections";
-       version = "0.1.0.9";
-       sha256 = "10l7dnjc6h75bf61rp38w7pqm6yqvhssvjqmh01nwa2bxxayzl7m";
+       version = "0.1.0.10";
+       sha256 = "0v9iz9q4f5cx2hr0afvbzy5ax71kx1klbjrla14bqdfh55hzdhrp";
        buildDepends = [ base containers parsec ];
        testDepends = [
          base containers HUnit parsec QuickCheck test-framework
@@ -72145,7 +72369,7 @@ self: {
      }) {};
 
   "io-streams" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
+    ({ mkDerivation, attoparsec, base, bytestring, bytestring-builder
      , deepseq, directory, filepath, HUnit, mtl, network, primitive
      , process, QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, time, transformers, vector
@@ -72153,17 +72377,17 @@ self: {
      }:
      mkDerivation {
        pname = "io-streams";
-       version = "1.2.1.2";
-       sha256 = "03jwm9p4pmh6bra19lkgbkb08aghfylv4gjwg3mfcipw981dnzb8";
+       version = "1.3.0.0";
+       sha256 = "029qp0jfap6jczxdi2my1g4vcp8pr4zkxp64xfl7cyiigbapkimw";
        buildDepends = [
-         attoparsec base blaze-builder bytestring network primitive process
-         text time transformers vector zlib-bindings
+         attoparsec base bytestring bytestring-builder network primitive
+         process text time transformers vector zlib-bindings
        ];
        testDepends = [
-         attoparsec base blaze-builder bytestring deepseq directory filepath
-         HUnit mtl network primitive process QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 text time
-         transformers vector zlib zlib-bindings
+         attoparsec base bytestring bytestring-builder deepseq directory
+         filepath HUnit mtl network primitive process QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+         time transformers vector zlib zlib-bindings
        ];
        configureFlags = [ "-fnointeractivetests" ];
        description = "Simple, composable, and easy-to-use stream I/O";
@@ -72467,6 +72691,17 @@ self: {
        license = "unknown";
      }) {};
 
+  "irc-colors" = callPackage
+    ({ mkDerivation, base, text }:
+     mkDerivation {
+       pname = "irc-colors";
+       version = "0.1";
+       sha256 = "1xl38bq1b6w7z8q0frra4h76lyk63bsy5i1qd34pdgwvikd2rkh0";
+       buildDepends = [ base text ];
+       description = "Colourize your IRC strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "irc-conduit" = callPackage
     ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
      , connection, irc, irc-ctcp, network-conduit-tls, text, time, tls
@@ -73757,7 +73992,9 @@ self: {
      mkDerivation {
        pname = "jose-jwt";
        version = "0.5";
+       revision = "2";
        sha256 = "0pk6fq3wsbl6pl79dcyns1c94xmv98acfr6rbxhyfqmc5lys759s";
+       editedCabalFile = "e3f6e8d368c88a0be06d656e627e86b8ad481cf75578a97af2a5c29bf0bb55b6";
        buildDepends = [
          aeson base base64-bytestring byteable bytestring cereal cipher-aes
          containers crypto-cipher-types crypto-numbers crypto-pubkey
@@ -74153,20 +74390,20 @@ self: {
   "json-schema" = callPackage
     ({ mkDerivation, aeson, aeson-utils, attoparsec, base, bytestring
      , containers, generic-aeson, generic-deriving, mtl, scientific
-     , tagged, tasty, tasty-hunit, tasty-th, text, time
-     , unordered-containers, vector
+     , tasty, tasty-hunit, tasty-th, text, time, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "json-schema";
-       version = "0.7.3.3";
-       sha256 = "0645ji3dl0xilpkgpblz3kkp1yvzxxcm9qm205wk2xsn00mp864c";
+       version = "0.7.3.4";
+       sha256 = "0p9m706hl8phl12zb9inn6hkrgzxgd3k9lg2p1kav53j5mz17w0p";
        buildDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
-         tagged text time unordered-containers vector
+         text time unordered-containers vector
        ];
        testDepends = [
-         aeson aeson-utils attoparsec base bytestring generic-aeson tagged
-         tasty tasty-hunit tasty-th text vector
+         aeson aeson-utils attoparsec base bytestring generic-aeson tasty
+         tasty-hunit tasty-th text vector
        ];
        description = "Types and type classes for defining JSON schemas";
        license = stdenv.lib.licenses.bsd3;
@@ -74405,6 +74642,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "jumpthefive" = callPackage
+    ({ mkDerivation, base, parallel }:
+     mkDerivation {
+       pname = "jumpthefive";
+       version = "0.0.1";
+       sha256 = "0ymp7hkkla7jxn3c7prsrcdl0mzkpqdm6ivq599qwx39rcnq6dpl";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [ base parallel ];
+       description = "an elementary symmetric chiffre for pragmatically protecting one's effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "jvm-parser" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-binary-ieee754, fgl, fingertree, pretty, zlib
@@ -75080,8 +75330,8 @@ self: {
      }:
      mkDerivation {
        pname = "knots";
-       version = "0.1.0.0";
-       sha256 = "1kqcfabbk308ph9i04d6sz9hrh2lcmqp7aml7av9h15hdhq77nf2";
+       version = "0.1.0.1";
+       sha256 = "1yv26gnf8aipjh6d6apszbx4jwvfa7cafnjz0frw73xagnd1z084";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -76943,6 +77193,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ldap-client" = callPackage
+    ({ mkDerivation, asn1-encoding, asn1-types, async, base, bytestring
+     , connection, containers, hspec, network, process, semigroups, stm
+     , text
+     }:
+     mkDerivation {
+       pname = "ldap-client";
+       version = "0.1.0";
+       sha256 = "18c33jfgwa7vdickxshyhmrqdpndy7ayjd3z0zqkjqa7awd0zcf4";
+       buildDepends = [
+         asn1-encoding asn1-types async base bytestring connection
+         containers network semigroups stm text
+       ];
+       testDepends = [ base bytestring hspec process semigroups ];
+       homepage = "https://supki.github.io/ldap-client";
+       description = "Pure Haskell LDAP Client Library";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "ldif" = callPackage
     ({ mkDerivation, base, bytestring, cmdargs, containers, directory
      , filepath, HUnit, parsec, rosezipper
@@ -77168,6 +77437,24 @@ self: {
        license = "GPL";
      }) {};
 
+  "lendingclub" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, HsOpenSSL
+     , http-streams, io-streams, mtl, scientific, text, vector
+     }:
+     mkDerivation {
+       pname = "lendingclub";
+       version = "0.1.1";
+       sha256 = "1r40qm7f45vgzdxnzlhpqhsi81rbwa2nss3gf1d5mqz32dscjwfx";
+       buildDepends = [
+         aeson base blaze-builder bytestring HsOpenSSL http-streams
+         io-streams mtl scientific text vector
+       ];
+       jailbreak = true;
+       homepage = "https://www.lendingclub.com/developers/lc-api.action";
+       description = "Bindings for the LendingClub marketplace API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "lens_4_7_0_1" = callPackage
     ({ mkDerivation, array, base, bifunctors, bytestring, comonad
      , containers, contravariant, deepseq, directory, distributive
@@ -77182,9 +77469,9 @@ self: {
      mkDerivation {
        pname = "lens";
        version = "4.7.0.1";
-       revision = "2";
+       revision = "3";
        sha256 = "1j9d7g4sj38zq2r8vhy05b2kbxx1sg2k0b3yx05lbxlb79wcm1j1";
-       editedCabalFile = "fd79ae606fe461d82d0eca185ade4ba04200b4afbf65348a59ffc600a5b7dc03";
+       editedCabalFile = "6ac87d4c8600c9497c965d54b1e97f10d0073bed3c45381b78d1ba4b81da57c8";
        buildDepends = [
          array base bifunctors bytestring comonad containers contravariant
          distributive exceptions filepath free ghc-prim hashable mtl
@@ -77500,8 +77787,8 @@ self: {
      }:
      mkDerivation {
        pname = "lexer-applicative";
-       version = "1.0.0.1";
-       sha256 = "14srsxw3xyhllmxlxkfid1njay5dca4zy488sa1lmsffrfdkp20z";
+       version = "1.1";
+       sha256 = "1yl4404w5pmmpa1l7j4zlm5lg24jglxff04qdc757bd1r0bklbw1";
        buildDepends = [ base regex-applicative srcloc ];
        testDepends = [
          base deepseq regex-applicative srcloc tasty tasty-hunit
@@ -78504,12 +78791,11 @@ self: {
      }:
      mkDerivation {
        pname = "linear-opengl";
-       version = "0.2.0.7";
-       sha256 = "0yj98757d6z1bh3mqajn58ax2iaxnf2nl68wvbjv2pncwfn679m6";
+       version = "0.2.0.8";
+       sha256 = "18yy35pcl4jg0albh9dhngi7q4ak40fzr6ypa2piz2di4zqhfqp6";
        buildDepends = [
          base distributive lens linear OpenGL OpenGLRaw tagged
        ];
-       jailbreak = true;
        homepage = "http://www.github.com/bgamari/linear-opengl";
        description = "Isomorphisms between linear and OpenGL types";
        license = stdenv.lib.licenses.bsd3;
@@ -79387,8 +79673,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-general";
-       version = "3.4.5.2";
-       sha256 = "1n6c1dna2lw3z36y6pnx15qsqwdmdd0cki0snh4yhbfjvcz5lack";
+       version = "3.4.5.3";
+       sha256 = "03rps9ga20cdqfh2khqnahwrkljs714ac7yx9x7krb3dngf83zsm";
        buildDepends = [
          array base bytestring containers llvm-general-pure mtl parsec
          setenv template-haskell transformers transformers-compat
@@ -79413,8 +79699,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-general-pure";
-       version = "3.4.5.2";
-       sha256 = "1ybrn3y10nz69jsmhhzv652skyd4d4xb6b89zlc4n5xvrpxxg36j";
+       version = "3.4.5.3";
+       sha256 = "1b3zh2y3b3jj5sg6421wv2qsrhyjs23qdzrk693r7mpj10rd258k";
        buildDepends = [
          base containers mtl parsec setenv template-haskell transformers
          transformers-compat
@@ -79875,21 +80161,22 @@ self: {
      }) {};
 
   "logic-classes" = callPackage
-    ({ mkDerivation, applicative-extras, base, containers, fgl, HUnit
-     , mtl, pretty, PropLogic, safecopy, set-extra, syb, syb-with-class
-     , template-haskell, text
+    ({ mkDerivation, applicative-extras, base, containers, HUnit, mtl
+     , pretty, PropLogic, safecopy, set-extra, syb, template-haskell
      }:
      mkDerivation {
        pname = "logic-classes";
-       version = "1.5";
-       sha256 = "12rdq38wga5d4d2mw21rmdmgjg7vqhap0zl2f5wzn79hl7814rwz";
-       isLibrary = true;
-       isExecutable = true;
+       version = "1.5.1";
+       sha256 = "06bywqjx7xrfv5d4kc3qhcb017zj7709cn8fvrqvs9a014yazdid";
        buildDepends = [
-         applicative-extras base containers fgl HUnit mtl pretty PropLogic
-         safecopy set-extra syb syb-with-class template-haskell text
+         applicative-extras base containers HUnit mtl pretty PropLogic
+         safecopy set-extra syb template-haskell
        ];
-       homepage = "http://src.seereason.com/logic-classes";
+       testDepends = [
+         applicative-extras base containers HUnit mtl pretty PropLogic
+         set-extra syb
+       ];
+       homepage = "https://github.com/seereason/logic-classes";
        description = "Framework for propositional and first order logic, theorem proving";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -82855,8 +83142,8 @@ self: {
      }:
      mkDerivation {
        pname = "midi";
-       version = "0.2.1.3";
-       sha256 = "0mqf6q7686zdxljkz3bqa2zhkgirqz5c1fkbd3n4wyipzhjc773a";
+       version = "0.2.1.4";
+       sha256 = "1afi6vam6cbpgfabypxdyilz4jc8q5kx2199vfxvgjjzsr33arfz";
        buildDepends = [
          base binary bytestring event-list explicit-exception
          monoid-transformer non-negative QuickCheck random transformers
@@ -85675,6 +85962,7 @@ self: {
          attoparsec base base58-bytestring base64-bytestring byteable
          bytestring cryptohash hex io-streams optparse-applicative
        ];
+       jailbreak = true;
        homepage = "https://github.com/LukeHoersten/multihash";
        description = "Multihash library and CLI executable";
        license = stdenv.lib.licenses.bsd3;
@@ -86315,18 +86603,17 @@ self: {
      }) {};
 
   "mvc" = callPackage
-    ({ mkDerivation, async, base, contravariant, managed, mmorph, pipes
-     , pipes-concurrency, transformers
+    ({ mkDerivation, async, base, contravariant, foldl, managed, mmorph
+     , pipes, pipes-concurrency, transformers
      }:
      mkDerivation {
        pname = "mvc";
-       version = "1.0.3";
-       sha256 = "1b1342qxyn2jxb3a5c9bp6ai7iwhbjxgfpbh2kjm7v75444lx78g";
+       version = "1.0.4";
+       sha256 = "0mbbcjcvd05ql76ys5fmsr57aif1bysasz91rvmp795a9wj3i83i";
        buildDepends = [
-         async base contravariant managed mmorph pipes pipes-concurrency
-         transformers
+         async base contravariant foldl managed mmorph pipes
+         pipes-concurrency transformers
        ];
-       jailbreak = true;
        description = "Model-view-controller";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -87162,18 +87449,46 @@ self: {
      }:
      mkDerivation {
        pname = "nero";
-       version = "0.2";
-       sha256 = "1jw8sji0ci4za62zgjdlxsh9rknaj3pdm7p32rxdd33i6ir6pmh0";
+       version = "0.3";
+       sha256 = "11c3aghnfj8grvaxy32qnp77dp7q9mi6l7hwb9dl032qmdfwnrj1";
        buildDepends = [ base bifunctors bytestring containers lens text ];
        testDepends = [
          base bytestring doctest Glob lens tasty tasty-hunit text
        ];
-       homepage = "https://github.com/jdnavarro/nero";
+       homepage = "https://github.com/plutonbrb/nero";
        description = "Lens-based HTTP toolkit";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "nero-wai" = callPackage
+    ({ mkDerivation, base, bytestring, http-types, lens, nero, text
+     , wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "nero-wai";
+       version = "0.3";
+       sha256 = "1jz2was51lfqiq1krrjljy7yl2z49nlj72x9dspc748dznizb8aw";
+       buildDepends = [
+         base bytestring http-types lens nero text wai wai-extra
+       ];
+       homepage = "https://github.com/plutonbrb/nero-wai";
+       description = "WAI adapter for Nero server applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nero-warp" = callPackage
+    ({ mkDerivation, base, nero, nero-wai, warp }:
+     mkDerivation {
+       pname = "nero-warp";
+       version = "0.3";
+       sha256 = "1ddr0hs9x7r74f5bb00fbi0z87cfkxp21m5ikp5qgyblqb09940s";
+       buildDepends = [ base nero nero-wai warp ];
+       homepage = "https://github.com/plutonbrb/nero-warp";
+       description = "Run Nero server applications with Warp";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "nested-routes" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring, containers
      , hspec, http-types, lucid, mtl, pseudo-trie, QuickCheck
@@ -87182,8 +87497,8 @@ self: {
      }:
      mkDerivation {
        pname = "nested-routes";
-       version = "0.1";
-       sha256 = "0fz6lshm79iy62bxgg22bgrn8irgfalp5a3dllzlhbci8q5xs02k";
+       version = "0.1.1";
+       sha256 = "191pa0kc17sfi692yf6dy26ayfmy84v2053wqaw6zi2qwra0vy8f";
        buildDepends = [
          aeson base blaze-html bytestring containers http-types lucid mtl
          pseudo-trie semigroups text transformers wai wai-extra
@@ -88036,8 +88351,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-simple-sockaddr";
-       version = "0.1";
-       sha256 = "0k54scgxwgj57vqpfshr0cr6a70nsfhrfvfjh77x17imk1795npw";
+       version = "0.2";
+       sha256 = "0c7jjdpzvbpg29njr1w0kn26m3pxa8q1z3sh7bfh933spnvqm52x";
        buildDepends = [
          base bytestring directory exceptions network transformers
        ];
@@ -88697,8 +89012,8 @@ self: {
      }:
      mkDerivation {
        pname = "nonce";
-       version = "1.0.1";
-       sha256 = "10vlm550m0hjl004rwcz70j1d89sd9g0fnxxxksvk8nxqf9fnfpr";
+       version = "1.0.2";
+       sha256 = "1l4w6bdrwa42r90n6xzwr8lz2fdrn3m763ls311pnygajr4ih10h";
        buildDepends = [
          base base64-bytestring bytestring cprng-aes crypto-random text
          transformers
@@ -88832,11 +89147,10 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "notcpp";
-       version = "0.2.0.2";
-       sha256 = "1qdqwwy16n43djgrynzn8xv64vv450my6z2xddypafxwhvp7jaqy";
+       version = "0.2.0.3";
+       sha256 = "15aa96zdz60x9wc9k8ad5qkc4bs5rbgm9xvsykf3ppyys2z449ca";
        buildDepends = [ base template-haskell ];
        testDepends = [ base template-haskell ];
-       jailbreak = true;
        description = "Avoiding the C preprocessor via cunning use of Template Haskell";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -89776,12 +90090,12 @@ self: {
      }) {};
 
   "open-typerep" = callPackage
-    ({ mkDerivation, base, constraints, syntactic, tagged }:
+    ({ mkDerivation, base, constraints, mtl, syntactic, tagged }:
      mkDerivation {
        pname = "open-typerep";
-       version = "0.2";
-       sha256 = "0z1bp7hansv2zzvwq3n8yqln9pi9vlby5s9mlb7v8wrj99w563lp";
-       buildDepends = [ base constraints syntactic tagged ];
+       version = "0.3.1";
+       sha256 = "1wx3rh7fzq5d4g45k4fjwv0yh5grcqpvzlf2ixkni20d9rhb0yzs";
+       buildDepends = [ base constraints mtl syntactic tagged ];
        testDepends = [ base ];
        homepage = "https://github.com/emilaxelsson/open-typerep";
        description = "Open type representations and dynamic types";
@@ -90316,6 +90630,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-simple" = callPackage
+    ({ mkDerivation, base, either, gitrev, optparse-applicative
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "optparse-simple";
+       version = "0.0.0";
+       sha256 = "1kwf5xah5r9crjy63fmvzv22if5k9jpppg2gidy7370knrpvbnfj";
+       buildDepends = [
+         base either gitrev optparse-applicative template-haskell
+         transformers
+       ];
+       description = "Simple interface to optparse-applicative";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "orc" = callPackage
     ({ mkDerivation, base, deepseq, monadIO, mtl, process, random, stm
      }:
@@ -90494,8 +90824,8 @@ self: {
      }:
      mkDerivation {
        pname = "orgmode-parse";
-       version = "0.1.0";
-       sha256 = "1n1azp4ymsc9z89x39ycxx45hax8h2pqyr18q9sc88rawr31k4f8";
+       version = "0.1.0.4";
+       sha256 = "098zl8nyph459zyla0y2mkqiy78zp74yzadrnwa6xv07i5zs125h";
        buildDepends = [
          aeson attoparsec base bytestring containers free hashable
          old-locale text thyme unordered-containers
@@ -90504,8 +90834,7 @@ self: {
          aeson attoparsec base bytestring containers hashable HUnit
          old-locale tasty tasty-hunit text thyme unordered-containers
        ];
-       jailbreak = true;
-       description = "A parser and writer for org-mode flavored documents";
+       description = "A collection of Attoparsec combinators for parsing org-mode flavored documents";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -90716,8 +91045,8 @@ self: {
      }:
      mkDerivation {
        pname = "packed-dawg";
-       version = "0.2.0.4";
-       sha256 = "0lvn1kj5mqy22lkm3h5yhsqw83kv6nwdwm6yvgia3xr0c8nnvx4c";
+       version = "0.2.0.5";
+       sha256 = "1b8lhigpzj1zvah6f4ra7pczhpm8dxcwaqna8p1ifbbx2ys6x59p";
        buildDepends = [
          base binary deepseq mtl unordered-containers vector
          vector-binary-instances
@@ -90861,8 +91190,8 @@ self: {
     ({ mkDerivation, array, base, colour, containers }:
      mkDerivation {
        pname = "palette";
-       version = "0.1.0.1";
-       sha256 = "0065b83qrmlqrm96399p3hqqd5psmvxawhwqnwkjm7gid4qgiaha";
+       version = "0.1.0.2";
+       sha256 = "1snhn4mz58ax5sd77kh1m4jicwdmlrf89j612rkz5bkavvks6rrr";
        buildDepends = [ array base colour containers ];
        homepage = "http://projects.haskell.org/diagrams";
        description = "Utilities for choosing and creating color schemes";
@@ -90933,9 +91262,9 @@ self: {
      mkDerivation {
        pname = "pandoc";
        version = "1.13.2";
-       revision = "2";
+       revision = "3";
        sha256 = "12kd71g70d1wzz19p5yq7f00hw8d4ra8ghn83g7yzsal8igl8p76";
-       editedCabalFile = "1b9479a2579d76c43089283b6fb7a060e16050fd62fe0da896a722db815671d6";
+       editedCabalFile = "23325052ac34c80bbb51c2f5b73ae474d684d2be3fdea83db875a105f2ffbf87";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -91619,8 +91948,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "partial-handler";
-       version = "0.1.0";
-       sha256 = "07dhsm2r89iviz481r9wxw0scq40dgfzw0mi6klky78xn8r9x4ds";
+       version = "1.0.0.0";
+       sha256 = "1fmfiw38v77anh20xh5zzqxm2dcryyyismsagn09sc27jdgnnrzl";
        buildDepends = [ base ];
        homepage = "https://github.com/nikita-volkov/partial-handler";
        description = "A composable exception handler";
@@ -91791,6 +92120,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pathfinding" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "pathfinding";
+       version = "0.1.0.0";
+       sha256 = "1d1vpkx4gl438b71mni80n46yrhz57z2hq2p9j2fkkpxj3k72y80";
+       buildDepends = [ base containers ];
+       homepage = "https://github.com/rvion/pathfinding";
+       description = "pathfinding in grid and graphs";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "pathfindingcore" = callPackage
     ({ mkDerivation, array, base, HUnit, split, tasty, tasty-hunit }:
      mkDerivation {
@@ -92227,12 +92568,15 @@ self: {
 
   "pdfinfo" = callPackage
     ({ mkDerivation, base, mtl, old-locale, process-extras, text, time
+     , time-locale-compat
      }:
      mkDerivation {
        pname = "pdfinfo";
-       version = "1.5.2";
-       sha256 = "1s2hhmcqsg57fppqjvrkp77bms1npblysjvfl37fgn0jafn0mhjq";
-       buildDepends = [ base mtl old-locale process-extras text time ];
+       version = "1.5.4";
+       sha256 = "04894cwvcn910j2b0j95dc6i9v6xriqa0v97z3vyi9dhi9yiysls";
+       buildDepends = [
+         base mtl old-locale process-extras text time time-locale-compat
+       ];
        homepage = "https://github.com/chrisdone/pdfinfo";
        description = "Wrapper around the pdfinfo command";
        license = stdenv.lib.licenses.bsd3;
@@ -93281,6 +93625,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pia-forward" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, directory
+     , filepath, http-client, http-client-tls, network-info, process
+     , random, text, text-format, time, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "pia-forward";
+       version = "0.1.0.1";
+       sha256 = "02ryfiibkbfx6zg1n0h8kvb4mkiai57cvllqcwp815x50rsrpd2r";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring data-default directory filepath http-client
+         http-client-tls network-info process random text text-format time
+         xdg-basedir
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/enolan/pia-forward";
+       description = "Set up port forwarding with the Private Internet Access VPN service";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "pianola" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-iteratee, base, bytestring
      , comonad, comonad-transformers, containers, either, errors
@@ -93628,8 +93994,8 @@ self: {
     ({ mkDerivation, base, errors, pipes }:
      mkDerivation {
        pname = "pipes-errors";
-       version = "0.2";
-       sha256 = "1lnb8pgp4a8rcsnz2kc34zzpbf781vw7cvphs7birsnb2r2w6waw";
+       version = "0.2.1";
+       sha256 = "08i3rzqz7r5vkjfry0bdw3gpxjzhni8xmwwa6p8hdkixznjq7539";
        buildDepends = [ base errors pipes ];
        homepage = "https://github.com/jdnavarro/pipes-errors";
        description = "Integration between pipes and errors";
@@ -93756,8 +94122,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-p2p";
-       version = "0.3";
-       sha256 = "0iig35b2m30dqc0f9p9n3cfz2f21ac2rkqw6cvaydfvh31vbh4iw";
+       version = "0.4";
+       sha256 = "1ls89dnz0aibmyy4mky7jl4ibirpfrs12yxmflarghv3j6rn0wnc";
        buildDepends = [
          async base binary bytestring errors exceptions mtl network
          network-simple-sockaddr pipes pipes-concurrency pipes-network
@@ -94424,9 +94790,9 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree";
-       version = "1.0.4.8";
-       sha256 = "0nb3mqp6zwnnq6fs27xhcqv4w8h6sr5k01hldkqnkgwz0yyy7ljy";
-       isLibrary = false;
+       version = "1.1";
+       sha256 = "0lkwan8vi86jl72wfpdi0saac6rbx8z270r2nf3vp0468dqk25cf";
+       isLibrary = true;
        isExecutable = true;
        buildDepends = [
          array base containers haskell-src-exts transformers
@@ -94743,34 +95109,37 @@ self: {
 
   "pontarius-xmpp" = callPackage
     ({ mkDerivation, async, attoparsec, base, base64-bytestring, binary
-     , bytestring, Cabal, conduit, containers, crypto-api, crypto-random
-     , cryptohash, cryptohash-cryptoapi, data-default, derive, directory
-     , dns, doctest, filepath, hslogger, hspec, hspec-expectations
-     , iproute, lens, lifted-base, mtl, network, pureMD5, QuickCheck
+     , bytestring, Cabal, conduit, configurator, containers, crypto-api
+     , crypto-random, cryptohash, cryptohash-cryptoapi, data-default
+     , derive, directory, dns, doctest, exceptions, filepath, hslogger
+     , hspec, hspec-expectations, HUnit, iproute, lens, lens-family
+     , lifted-base, mtl, network, profunctors, pureMD5, QuickCheck
      , quickcheck-instances, random, ranges, resourcet, smallcheck
      , split, stm, stringprep, tasty, tasty-hspec, tasty-hunit
      , tasty-quickcheck, tasty-th, template-haskell, text, tls
-     , transformers, unbounded-delays, void, xml-conduit, xml-picklers
-     , xml-types
+     , transformers, unbounded-delays, void, x509-system, xml-conduit
+     , xml-picklers, xml-types
      }:
      mkDerivation {
        pname = "pontarius-xmpp";
-       version = "0.4.0.2";
-       sha256 = "0s633z93qw1k0rs5bx85slmk40rlzlacr2fyxfp5qs3b74k93m7d";
+       version = "0.4.1.0";
+       sha256 = "183c69v3540gm54clxd2kizrhsiy4xwdjgaakpqkvlk47s4rj89i";
        buildDepends = [
          attoparsec base base64-bytestring binary bytestring conduit
          containers crypto-api crypto-random cryptohash cryptohash-cryptoapi
-         data-default dns hslogger iproute lifted-base mtl network pureMD5
-         random resourcet split stm stringprep template-haskell text tls
-         transformers unbounded-delays void xml-conduit xml-picklers
+         data-default dns exceptions hslogger iproute lens-family
+         lifted-base mtl network profunctors pureMD5 random resourcet split
+         stm stringprep template-haskell text tls transformers
+         unbounded-delays void x509-system xml-conduit xml-picklers
          xml-types
        ];
        testDepends = [
-         async base Cabal conduit containers data-default derive directory
-         doctest filepath hslogger hspec hspec-expectations lens network
-         QuickCheck quickcheck-instances ranges smallcheck stm stringprep
-         tasty tasty-hspec tasty-hunit tasty-quickcheck tasty-th text
-         transformers xml-picklers xml-types
+         async base Cabal conduit configurator containers data-default
+         derive directory doctest filepath hslogger hspec hspec-expectations
+         HUnit lens mtl network QuickCheck quickcheck-instances ranges
+         smallcheck stm stringprep tasty tasty-hspec tasty-hunit
+         tasty-quickcheck tasty-th text tls transformers xml-picklers
+         xml-types
        ];
        jailbreak = true;
        homepage = "https://github.com/pontarius/pontarius-xmpp/";
@@ -94845,14 +95214,19 @@ self: {
      }) {};
 
   "pooled-io" = callPackage
-    ({ mkDerivation, base, deepseq, transformers, unsafe, utility-ht }:
+    ({ mkDerivation, base, concurrent-split, containers, deepseq
+     , transformers, unsafe, utility-ht
+     }:
      mkDerivation {
        pname = "pooled-io";
-       version = "0.0.0.1";
-       sha256 = "1phk5mqyyjvlrf3fknhzrwzjmx3inwrs8hs328p8jpwwig8zfpv7";
+       version = "0.0.2";
+       sha256 = "0v7l0jvk2acqslb1inw6lgwbjraj73s396r160hw56slqxh5sgxl";
        isLibrary = true;
        isExecutable = true;
-       buildDepends = [ base deepseq transformers unsafe utility-ht ];
+       buildDepends = [
+         base concurrent-split containers deepseq transformers unsafe
+         utility-ht
+       ];
        homepage = "http://code.haskell.org/~thielema/pooled-io/";
        description = "Run jobs on a limited number of threads and support data dependencies";
        license = stdenv.lib.licenses.bsd3;
@@ -96325,8 +96699,8 @@ self: {
      }:
      mkDerivation {
        pname = "process-streaming";
-       version = "0.7.1.0";
-       sha256 = "07f3qykiqf3a2al2dj72fm2mlpl263vgvb4n3m9a32lf7mw6243d";
+       version = "0.7.2.0";
+       sha256 = "1wlrinx5v0k26jdkmbb8k313p3nyjrn2r9nag3hryl1wfdkbr1bl";
        buildDepends = [
          base bifunctors bytestring conceit containers contravariant foldl
          free pipes pipes-bytestring pipes-concurrency pipes-parse
@@ -96441,10 +96815,10 @@ self: {
      }:
      mkDerivation {
        pname = "product-profunctors";
-       version = "0.6";
-       revision = "4";
-       sha256 = "1qhl2v0shzip5yh7x7b6k7xsnd4d5spf1f69h0qr0l57lm6jywl4";
-       editedCabalFile = "84407dc2bb4ba0fab1d21463e367149586a67758f2f6bba8eaa86b0cb1f07ac0";
+       version = "0.6.1";
+       revision = "1";
+       sha256 = "0phwjngndgsggw2f74k6q43cnnw5w4nvfrfrmkwyz6hgah2zv562";
+       editedCabalFile = "98cd3c6ac3f78d4097bd1b8c7c1782b85bd05497938ce86d70cb0eb27b09359c";
        buildDepends = [ base contravariant profunctors template-haskell ];
        testDepends = [ base profunctors ];
        homepage = "https://github.com/tomjaguarpaw/product-profunctors";
@@ -96807,6 +97181,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "prosper" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , HsOpenSSL, http-streams, io-streams, mtl, text, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "prosper";
+       version = "0.1.1";
+       sha256 = "006h3i316s85f3d6qmwm9kajbxil1xcnqp11jfvv5ypnx2gdyhgb";
+       buildDepends = [
+         aeson base bytestring cereal containers HsOpenSSL http-streams
+         io-streams mtl text transformers vector
+       ];
+       jailbreak = true;
+       homepage = "https://api.prosper.com";
+       description = "Bindings to the Prosper marketplace API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "proteaaudio" = callPackage
     ({ mkDerivation, alsaLib, base, c2hs }:
      mkDerivation {
@@ -96982,8 +97375,8 @@ self: {
     ({ mkDerivation, base, semigroups }:
      mkDerivation {
        pname = "pseudo-trie";
-       version = "0.0.4.2";
-       sha256 = "0b09qxgxv86wmcsns2rl00pna0a3jfngddyzk9dfjk1xjaq8cb59";
+       version = "0.0.4.3";
+       sha256 = "020jkgr6h1f4z14xbrl6zsqjqflkps03lh5102742bfsd58d9hvb";
        buildDepends = [ base semigroups ];
        description = "A tagged rose-tree with short circuited unique leaves";
        license = stdenv.lib.licenses.bsd3;
@@ -99144,8 +99537,8 @@ self: {
      }:
      mkDerivation {
        pname = "reactive-banana";
-       version = "0.8.1.0";
-       sha256 = "166bw6lr3jd0m7b9hfr45lwyvyrggkz0xqh6ybqwvcpmc5h99dcg";
+       version = "0.8.1.1";
+       sha256 = "1fgfcpn5zapygixygz69cfmqg872ixa3nlakvgj5dd53qgkzq9s7";
        buildDepends = [
          base containers hashable pqueue transformers unordered-containers
          vault
@@ -99154,7 +99547,7 @@ self: {
          base containers hashable HUnit pqueue test-framework
          test-framework-hunit transformers unordered-containers vault
        ];
-       homepage = "http://haskell.org/haskellwiki/Reactive-banana";
+       homepage = "http://wiki.haskell.org/Reactive-banana";
        description = "Library for functional reactive programming (FRP)";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -99842,8 +100235,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex";
-       version = "0.1.0";
-       sha256 = "1l64kz1haicq4qfw5nrn93jrv37c93zz6z0xkhjnm5rxff7qrdns";
+       version = "0.1.1";
+       sha256 = "071pv72l1iynl8jmnjdx121f1pzp1pj4kr1jcbmzx4v60zhfwpns";
        buildDepends = [
          base containers dependent-map dependent-sum mtl primitive
          semigroups template-haskell these
@@ -100891,8 +101284,8 @@ self: {
     ({ mkDerivation, base, libdevil, repa, transformers }:
      mkDerivation {
        pname = "repa-devil";
-       version = "0.3.2.2";
-       sha256 = "0p46ni9z8wymyk4qmcy04kwycxb31yyprd8ddxsxpjilhbw848lh";
+       version = "0.3.2.6";
+       sha256 = "0f7xawg4qlfbf24lrjbpqzl3f3zf63f8g5b2gi17h0rpyw3cxhzy";
        buildDepends = [ base repa transformers ];
        extraLibraries = [ libdevil ];
        homepage = "https://github.com/RaphaelJ/repa-devil";
@@ -101079,16 +101472,17 @@ self: {
   "repl-toolkit" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, directory
      , exceptions, functor-monadic, ListLike, listsafe, monad-loops, mtl
-     , numericpeano, parsec, system-filepath, text, transformers
+     , numericpeano, parsec, semigroupoids, system-filepath, text
+     , transformers
      }:
      mkDerivation {
        pname = "repl-toolkit";
-       version = "0.3.1.0";
-       sha256 = "1bf2cigrn0frxprp8lgd78pv0ahk4zln9qyv15pwhmirvbbppgvn";
+       version = "0.4.0.0";
+       sha256 = "1r4gyj3jjm9sv597zlksckg5cl9r2k633hz5avzczf92b0j4ikr3";
        buildDepends = [
          aeson base bytestring data-default directory exceptions
          functor-monadic ListLike listsafe monad-loops mtl numericpeano
-         parsec system-filepath text transformers
+         parsec semigroupoids system-filepath text transformers
        ];
        jailbreak = true;
        homepage = "https://github.com/ombocomp/repl-toolkit";
@@ -101906,13 +102300,13 @@ self: {
      }) {};
 
   "rfc3339" = callPackage
-    ({ mkDerivation, base, old-locale, time }:
+    ({ mkDerivation, base, timerep }:
      mkDerivation {
        pname = "rfc3339";
-       version = "1.0.4";
-       sha256 = "0vrcfmkfikszcalcpa59rzwrjk2dlbwrqgpy2jx0z4kbiaalbg6j";
-       buildDepends = [ base old-locale time ];
-       description = "Parse and display time according to RFC3339";
+       version = "1.0.5";
+       sha256 = "1p3nahcmsikrc5maf7qz45042h80m6xszx70154yq169rsqkvav0";
+       buildDepends = [ base timerep ];
+       description = "Parse and display time according to RFC3339 (deprecated)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -102405,14 +102799,15 @@ self: {
      }:
      mkDerivation {
        pname = "rosa";
-       version = "0.1.3.0";
-       sha256 = "1wyjcmr3a7lljksiq45ch3ng15dd7sk40bbb2l8yvvjgyk12990a";
+       version = "0.2.0.0";
+       sha256 = "198xzbzkalg7xlngrl52mh1iinipk6b00gnhmh6fnjrj1s61nqq6";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
          aeson argparser base bytestring lens process text
          unordered-containers vector wreq
        ];
+       jailbreak = true;
        description = "Query the namecoin blockchain";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -103737,19 +104132,20 @@ self: {
      }) {};
 
   "sbv" = callPackage
-    ({ mkDerivation, array, async, base, containers, deepseq, directory
-     , filepath, HUnit, mtl, old-time, pretty, process, QuickCheck
-     , random, syb
+    ({ mkDerivation, array, async, base, containers, crackNum
+     , data-binary-ieee754, deepseq, directory, filepath, HUnit, mtl
+     , old-time, pretty, process, QuickCheck, random, syb
      }:
      mkDerivation {
        pname = "sbv";
-       version = "4.2";
-       sha256 = "1q62fa2wi8sxkbx93qpxqr6sivs5q028kdbs35j3ym9mb3pa8y8q";
+       version = "4.4";
+       sha256 = "1914695yxyd3ag1z56dd88kz0p0zvl63255psd4bilzvdwlys6ls";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
-         array async base containers deepseq directory filepath HUnit mtl
-         old-time pretty process QuickCheck random syb
+         array async base containers crackNum data-binary-ieee754 deepseq
+         directory filepath HUnit mtl old-time pretty process QuickCheck
+         random syb
        ];
        testDepends = [ base directory filepath HUnit syb ];
        homepage = "http://leventerkok.github.com/sbv/";
@@ -104748,22 +105144,23 @@ self: {
 
   "second-transfer" = callPackage
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
-     , conduit, containers, hashable, hashtables, hslogger, http2, lens
-     , network, network-uri, openssl, text, transformers
+     , conduit, containers, exceptions, hashable, hashtables, hslogger
+     , http2, HUnit, lens, network, network-uri, openssl, text
+     , transformers
      }:
      mkDerivation {
        pname = "second-transfer";
-       version = "0.1.0.0";
-       sha256 = "0y6wjni3sj0mkjwc6mbx9majc91aw51vwyqki603dggjfbp78b0x";
+       version = "0.2.0.0";
+       sha256 = "0lgb938i3f4yb4j5dxa4j4vn7wckl7kjhz0qd8yx1hpzi9k3y70g";
        buildDepends = [
          base base16-bytestring binary bytestring conduit containers
-         hashable hashtables hslogger http2 lens network network-uri text
-         transformers
+         exceptions hashable hashtables hslogger http2 lens network
+         network-uri text transformers
        ];
-       testDepends = [ base conduit ];
+       testDepends = [ base bytestring conduit http2 HUnit lens ];
        extraLibraries = [ openssl ];
        jailbreak = true;
-       homepage = "www.zunzun.se";
+       homepage = "https://github.com/alcidesv/second-transfer";
        description = "Second Transfer HTTP/2 web server";
        license = stdenv.lib.licenses.bsd3;
      }) { inherit (pkgs) openssl;};
@@ -105269,6 +105666,7 @@ self: {
        version = "0.3.2";
        sha256 = "0v2d5125zyldr7f50zdhvgm1wcp7zbrnas9i2chqsq3s17qkrkm5";
        buildDepends = [ base io-streams seqid ];
+       jailbreak = true;
        description = "Sequence ID IO-Streams";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -107489,9 +107887,10 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "simtreelo";
-       version = "0.1.0.2";
-       sha256 = "0r985v4159hnz371g1fxvn6x3x91c0xyymjnfnj2iaya5nmds6qp";
+       version = "0.1.0.3";
+       sha256 = "1s8j2kim3h7rybi52qhdf40smamclhg1il81y2kn1sq6sx220spd";
        buildDepends = [ base containers ];
+       jailbreak = true;
        description = "Loader for data organized in a tree";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -107670,10 +108069,8 @@ self: {
      }:
      mkDerivation {
        pname = "skein";
-       version = "1.0.9.2";
-       revision = "1";
-       sha256 = "1j8bhqm25r9vd4qb4v12g32r0dv6xyhk48cq287wfbzjraayi1gw";
-       editedCabalFile = "824638ce2aaf27614e10fe56fe886e486969fb9483e722a025b38fff3fb099ab";
+       version = "1.0.9.3";
+       sha256 = "0k7ibm4ykvypz6dm6jgqx0aj7qlg34cg841vipyjkbykp8nv3fn7";
        buildDepends = [ base bytestring cereal crypto-api tagged ];
        testDepends = [
          base bytestring cereal crypto-api filepath hspec tagged
@@ -107804,8 +108201,8 @@ self: {
      }:
      mkDerivation {
        pname = "slave-thread";
-       version = "0.1.5";
-       sha256 = "0qw4c6406hbdnv6i55sh8ps8739szm7rnqjzk6ynm7dfbf3vxhw4";
+       version = "1.0.0.0";
+       sha256 = "0snk0v126a79q2blddbznz50l89jfap4y4xs9i76pk0b0dcik319";
        buildDepends = [
          base base-prelude list-t mmorph partial-handler stm-containers
          transformers
@@ -108687,7 +109084,9 @@ self: {
      mkDerivation {
        pname = "snaplet-fay";
        version = "0.3.3.11";
+       revision = "1";
        sha256 = "18g61qivc49g37zmb4qv2piwlgs572fmngdpsjdhjmrgqn049fjr";
+       editedCabalFile = "754ad06e1c8e6fd26f362bdc3f83f0863e7f2e941ffcf8b753310aee2c1aad26";
        buildDepends = [
          aeson base bytestring configurator directory fay filepath mtl snap
          snap-core transformers
@@ -109532,8 +109931,8 @@ self: {
      }:
      mkDerivation {
        pname = "socket-io";
-       version = "1.3.0";
-       sha256 = "10zza904qrbj65bgi5n0mcf41s7imwfc0qrq7cykb5la7anb2k4q";
+       version = "1.3.1";
+       sha256 = "0ylb05lcgprvfdvhc71dqhh9azsp12vwx8zihdvcim0ax0ylrb20";
        buildDepends = [
          aeson attoparsec base bytestring engine-io mtl stm text
          transformers unordered-containers vector
@@ -110731,6 +111130,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sr-extra" = callPackage
+    ({ mkDerivation, base, bytestring, bzlib, containers, directory
+     , filepath, HUnit, mtl, network-uri, old-locale, old-time, pretty
+     , process, pureMD5, QuickCheck, random, regex-compat, time, unix
+     , Unixutils, zlib
+     }:
+     mkDerivation {
+       pname = "sr-extra";
+       version = "1.46.3.1";
+       sha256 = "0ssrv6h50kycxzb84s5j61mg78xyb4hyda2zxshnlqz0gbq134sr";
+       buildDepends = [
+         base bytestring bzlib containers directory filepath HUnit mtl
+         network-uri old-locale old-time pretty process pureMD5 QuickCheck
+         random regex-compat time unix Unixutils zlib
+       ];
+       homepage = "https://github.com/seereason/sr-extra";
+       description = "A grab bag of modules";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "srcinst" = callPackage
     ({ mkDerivation, base, directory, hslogger, MissingH, network
      , parsec, process, regex-compat, unix
@@ -111023,7 +111442,9 @@ self: {
      mkDerivation {
        pname = "stackage-curator";
        version = "0.7.4";
+       revision = "1";
        sha256 = "181wdsrwr0dlgp969zkqyg231kz3xh8mzii8ikcxx5z0yharn3gk";
+       editedCabalFile = "4e0d029d79d0224ebe84bcf2891b5fd37cdc3178d4acae146d1ba2148bee86b1";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -111068,8 +111489,8 @@ self: {
      }:
      mkDerivation {
        pname = "standalone-haddock";
-       version = "1.1.4.3";
-       sha256 = "0kzgd4c2zashhcg9pblayvzwnkzhkkmdvbkx5yc9a7rcjaqzh40j";
+       version = "1.1.4.4";
+       sha256 = "02j10ws9n7xc2gvmpd146vrg7khawll9y3904h28k5d6ffk6qr14";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -111267,10 +111688,9 @@ self: {
     ({ mkDerivation, base, double-conversion, free, mtl, text }:
      mkDerivation {
        pname = "static-canvas";
-       version = "0.2.0.0";
-       sha256 = "10fk8kjzksym7qz9xc8pcglcn24rzi6ry03rnhxiy0mc6d6dsrb4";
+       version = "0.2.0.1";
+       sha256 = "14zglnvlra4p85zc4vkgwrpfjf7mrz9dw4ppi369vsfwnw2sgwkq";
        buildDepends = [ base double-conversion free mtl text ];
-       jailbreak = true;
        homepage = "https://github.com/jeffreyrosenbluth/static-canvas";
        description = "DSL to generate HTML5 Canvas javascript";
        license = stdenv.lib.licenses.bsd3;
@@ -111589,6 +112009,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "stitch" = callPackage
+    ({ mkDerivation, base, Cabal, containers, hspec, text, transformers
+     }:
+     mkDerivation {
+       pname = "stitch";
+       version = "0.3.0.0";
+       sha256 = "0h0n6xyi4fi7jcy2j0yzspfla65zmv3c54d88xynv6sw305rd1kz";
+       buildDepends = [ base containers text transformers ];
+       testDepends = [ base Cabal hspec text ];
+       description = "lightweight CSS DSL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "stm" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
@@ -112137,8 +112570,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-commons";
-       version = "0.1.10.0";
-       sha256 = "15bsjprj3xr7bcqskgjs9c1pgy1yq56579qj4r4wk1ccg3kqfw8q";
+       version = "0.1.11";
+       sha256 = "01havwn8w96xr1m4m1g1bnqb85brkf79a9yy4w07y0ahg5cl7rxb";
        buildDepends = [
          array base blaze-builder bytestring directory network process
          random stm text transformers unix zlib
@@ -112577,13 +113010,14 @@ self: {
      }:
      mkDerivation {
        pname = "structural-induction";
-       version = "0.1.2";
-       sha256 = "153w6p4xn3fv13kdq3cf4jwiikplnyiaczw30dy9mwyb2i8fp7r5";
+       version = "0.2";
+       sha256 = "1lr91wc1m655pi3ljw3n89svfazrb16785s9mfx361jgn335m8rd";
        buildDepends = [ base containers genifunctors mtl pretty safe ];
        testDepends = [
          base geniplate language-haskell-extract mtl pretty QuickCheck safe
          testing-feat
        ];
+       jailbreak = true;
        homepage = "http://www.github.com/danr/structural-induction";
        description = "Instantiate structural induction schemas for algebraic data types";
        license = stdenv.lib.licenses.gpl3;
@@ -113482,16 +113916,17 @@ self: {
      }) { Synt = null;};
 
   "syntactic" = callPackage
-    ({ mkDerivation, base, constraints, containers, data-hash, mtl
-     , QuickCheck, safe, tagged, tasty, tasty-golden, tasty-quickcheck
-     , tasty-th, template-haskell, tree-view, utf8-string
+    ({ mkDerivation, base, constraints, containers, data-hash, deepseq
+     , mtl, QuickCheck, safe, tagged, tasty, tasty-golden
+     , tasty-quickcheck, tasty-th, template-haskell, tree-view
+     , utf8-string
      }:
      mkDerivation {
        pname = "syntactic";
-       version = "2.0";
-       sha256 = "0b90afdfymsbgllk8np3xfkgrn2b5ry3n2wbpkn660rknsayw94x";
+       version = "2.1";
+       sha256 = "1r2b11xw235qsv6z6qqssrmgd1wcbr28vmlqs7vlb4h0yhpkd1i3";
        buildDepends = [
-         base constraints containers data-hash mtl safe tagged
+         base constraints containers data-hash deepseq mtl safe tagged
          template-haskell tree-view
        ];
        testDepends = [
@@ -115007,17 +115442,17 @@ self: {
   "tasty-silver" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
      , deepseq, directory, filepath, mtl, optparse-applicative, process
-     , process-extras, stm, tagged, tasty, tasty-hunit, temporary, text
-     , transformers
+     , process-extras, regex-tdfa, stm, tagged, tasty, tasty-hunit
+     , temporary, text, transformers
      }:
      mkDerivation {
        pname = "tasty-silver";
-       version = "3.1.3";
-       sha256 = "18ciqnj2h77cyr07wypyjdbry5g4m88zmlrxqavhqxz4008biqlx";
+       version = "3.1.5";
+       sha256 = "09mgk5pklmwxhr6r3lfmcdd09fzwn00x1vbyy93gh7wbpcpfa8dv";
        buildDepends = [
          ansi-terminal async base bytestring containers deepseq directory
-         filepath mtl optparse-applicative process process-extras stm tagged
-         tasty temporary text
+         filepath mtl optparse-applicative process process-extras regex-tdfa
+         stm tagged tasty temporary text
        ];
        testDepends = [
          base directory filepath process tasty tasty-hunit temporary
@@ -115512,8 +115947,8 @@ self: {
      }:
      mkDerivation {
        pname = "term-rewriting";
-       version = "0.1.2.1";
-       sha256 = "06lz89dhaq6pqp1zjx8bmgpx06fq3xgnqy1llipik5c9zyr4zrfv";
+       version = "0.1.2.2";
+       sha256 = "0j69a4vvsv5lbh8zx3908bpk76lmg871glm6hqv0nq4xzircp184";
        buildDepends = [
          ansi-wl-pprint array base containers mtl multiset parsec
          union-find-array
@@ -116080,8 +116515,8 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.8.0.2";
-       sha256 = "11hzqfik99zydvsnwy4ihpgqvsiq398pxnw777bcaqzdrvyw7fa7";
+       version = "0.8.1";
+       sha256 = "0k30b4klbp1n59gjpwmkcd8p7rg0ihnn9n3ka5vz85lfsykl7q6q";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -116096,6 +116531,26 @@ self: {
        license = "GPL";
      }) {};
 
+  "texrunner" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
+     , HUnit, io-streams, lens, mtl, process, temporary, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "texrunner";
+       version = "0.0.1.0";
+       sha256 = "1p7q9fz6f56wcm9q0xap17xc2r9a01qf8gdlrbdgryv25fp0lhcs";
+       buildDepends = [
+         attoparsec base bytestring directory filepath io-streams mtl
+         process temporary
+       ];
+       testDepends = [
+         base bytestring HUnit lens test-framework test-framework-hunit
+       ];
+       description = "Functions for running Tex from Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "text" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, directory
      , ghc-prim, HUnit, integer-gmp, QuickCheck, quickcheck-unicode
@@ -117780,12 +118235,12 @@ self: {
      }) {};
 
   "timerep" = callPackage
-    ({ mkDerivation, base, old-locale, time }:
+    ({ mkDerivation, attoparsec, base, old-locale, time }:
      mkDerivation {
        pname = "timerep";
-       version = "1.0.3";
-       sha256 = "14lz8nzfy1j7snvifbwjkk1fjc8wy4jk67xk9n87r25v3cva3x0p";
-       buildDepends = [ base old-locale time ];
+       version = "1.0.4";
+       sha256 = "00a1sfhpp3c88f2pg0kigmzngh84ahw9d4zh188miagw0b4zn8xj";
+       buildDepends = [ attoparsec base old-locale time ];
        description = "Parse and display time according to some RFCs (RFC3339, RFC2822)";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -117995,8 +118450,8 @@ self: {
      }:
      mkDerivation {
        pname = "tls";
-       version = "1.2.16";
-       sha256 = "0z5w8bj6acr7517y25dkqi3scjn08kzq2hjkhrc1rs6cafn8cl20";
+       version = "1.2.17";
+       sha256 = "0j0a16zwpycp0drsjar0rpcs5vd1ljymhclfjls6091ph917rzn6";
        buildDepends = [
          asn1-encoding asn1-types async base byteable bytestring cereal
          cipher-aes cipher-des cipher-rc4 crypto-cipher-types crypto-numbers
@@ -118374,8 +118829,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, void }:
      mkDerivation {
        pname = "total";
-       version = "1.0.2";
-       sha256 = "1di1iblxijdffczv3yni8bj1yjjc2258w7dxf8iwrd5n5h6574d4";
+       version = "1.0.3";
+       sha256 = "1aqpjpxg4incb03zryp6j66fn9wq1jd7nr5kjvrad8awk7349ggn";
        buildDepends = [ base ghc-prim void ];
        description = "Exhaustive pattern matching using lenses, traversals, and prisms";
        license = stdenv.lib.licenses.bsd3;
@@ -119065,6 +119520,17 @@ self: {
        license = "LGPL";
      }) {};
 
+  "tslogger" = callPackage
+    ({ mkDerivation, async, base, containers, random }:
+     mkDerivation {
+       pname = "tslogger";
+       version = "0.1.0.0";
+       sha256 = "1xybllaxakzlai0ja93fyw8yr0p56g58f5akc5z9pi4w4493c7dl";
+       buildDepends = [ async base containers random ];
+       description = "Thread-safe logging";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "tsp-viz" = callPackage
     ({ mkDerivation, base, gloss, stm, vector }:
      mkDerivation {
@@ -119113,12 +119579,19 @@ self: {
      }) {};
 
   "ttrie" = callPackage
-    ({ mkDerivation, atomic-primops, base, hashable, primitive, stm }:
+    ({ mkDerivation, atomic-primops, base, containers, hashable
+     , primitive, QuickCheck, stm, test-framework
+     , test-framework-quickcheck2
+     }:
      mkDerivation {
        pname = "ttrie";
-       version = "0.1.0.0";
-       sha256 = "1lyz2hyi52fc0w1pix15g5h88y9x66wfw65k8bm4zc79irfv969h";
+       version = "0.1.1";
+       sha256 = "1di4h0vqj0hyxy0zgxkr1zwfy901hfglh9da21kv7li88c2d51sp";
        buildDepends = [ atomic-primops base hashable primitive stm ];
+       testDepends = [
+         base containers hashable QuickCheck stm test-framework
+         test-framework-quickcheck2
+       ];
        jailbreak = true;
        homepage = "http://github.com/mcschroeder/ttrie";
        description = "Contention-free STM hash map";
@@ -119363,8 +119836,8 @@ self: {
     ({ mkDerivation, base, twentefp-eventloop-graphics }:
      mkDerivation {
        pname = "twentefp-graphs";
-       version = "0.1.0.3";
-       sha256 = "1ran49yvbylf14hbr3ffmbxpkjwva785hgyvnmwzp2v2hwz1343m";
+       version = "0.1.0.4";
+       sha256 = "0g0py8cb4z9i9pjhka2pyjm8vfai9x3k0vmlb06g157ish97qvir";
        buildDepends = [ base twentefp-eventloop-graphics ];
        description = "Lab Assignments Environment at Univeriteit Twente";
        license = stdenv.lib.licenses.bsd3;
@@ -120755,6 +121228,7 @@ self: {
        version = "0.1.2";
        sha256 = "0fhs55bap2dkp9lismq4df4sy8878f52xawr4an4cl0v1yj12cq0";
        buildDepends = [ base io-streams unagi-chan ];
+       jailbreak = true;
        description = "Unagi Chan IO-Streams";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -121134,8 +121608,8 @@ self: {
     ({ mkDerivation, array, base, mtl }:
      mkDerivation {
        pname = "union-find-array";
-       version = "0.1.0.1";
-       sha256 = "0p50w0kb1pz80nq0nm9l20wshsqjcaaagrrjfqx955awrvz2wmf7";
+       version = "0.1.0.2";
+       sha256 = "1pxb1v2k04i8ds2n8zqra74gacry6dj5p87sxgkf4fazx4s316dk";
        buildDepends = [ array base mtl ];
        homepage = "https://github.com/haskell-rewriting/union-find-array";
        description = "union find data structure";
@@ -122598,8 +123072,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "uulib";
-       version = "0.9.19";
-       sha256 = "1q7mnin2prjnxgjln60s97163191dl1kfaqjq01qxfax845c0qbn";
+       version = "0.9.20";
+       sha256 = "1qz73rjxywc9mf54d2j4xv9m7d15gnfmi1c1fj3yklx059xlvfz2";
        buildDepends = [ base ghc-prim ];
        homepage = "https://github.com/UU-ComputerScience/uulib";
        description = "Haskell Utrecht Tools Library";
@@ -123012,8 +123486,8 @@ self: {
      }:
      mkDerivation {
        pname = "vcache";
-       version = "0.2.4";
-       sha256 = "1dfdfcvq6554dxda1h2mnl1ggm39k8w779836v3dwpi0wnq4x249";
+       version = "0.2.5";
+       sha256 = "0jinysgn4rzh0b4a97wjac6md74vafb7avzprr6yddksmkylkayl";
        buildDepends = [
          base bytestring containers direct-murmur-hash easy-file filelock
          lmdb random stm transformers
@@ -124015,20 +124489,20 @@ self: {
 
   "vty-ui" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, data-default
-     , directory, filepath, mtl, old-locale, QuickCheck, random
-     , regex-base, stm, text, time, unix, vector, vty
+     , directory, filepath, mtl, QuickCheck, random, regex-base, stm
+     , text, time, unix, vector, vty
      }:
      mkDerivation {
        pname = "vty-ui";
-       version = "1.8";
-       sha256 = "08jrcwml5g74mp4wy7kqp9jd5mfbxl04517v5354jiwn4dc77azm";
+       version = "1.9";
+       sha256 = "1mvs2224slnkswcag6knnj9ydkfgvw6nhaiy71bijjd2wwln4fq2";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
          array base bytestring containers data-default directory filepath
-         mtl old-locale QuickCheck random regex-base stm text time unix
-         vector vty
+         mtl QuickCheck random regex-base stm text time unix vector vty
        ];
+       jailbreak = true;
        homepage = "http://jtdaugherty.github.com/vty-ui/";
        description = "An interactive terminal user interface library for Vty";
        license = stdenv.lib.licenses.bsd3;
@@ -124208,18 +124682,18 @@ self: {
      , data-default-class, deepseq, directory, fast-logger, hspec
      , http-types, HUnit, lifted-base, network, old-locale, resourcet
      , streaming-commons, stringsearch, text, time, transformers, unix
-     , unix-compat, void, wai, wai-logger, word8, zlib
+     , unix-compat, vault, void, wai, wai-logger, word8, zlib
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.0.6.1";
-       sha256 = "15wxr9y1f87q3wh5zkrv7d7w2mb9s4jd6l6cxwj9cgk0yw2nbi5f";
+       version = "3.0.7";
+       sha256 = "0hk3n5nhccy78xpjrhikx2sp752kaln3zdyp2260191vxvpq43qm";
        buildDepends = [
          ansi-terminal base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie data-default-class deepseq
          directory fast-logger http-types lifted-base network old-locale
          resourcet streaming-commons stringsearch text time transformers
-         unix unix-compat void wai wai-logger word8
+         unix unix-compat vault void wai wai-logger word8
        ];
        testDepends = [
          base blaze-builder bytestring cookie fast-logger hspec http-types
@@ -125048,8 +125522,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.0.11";
-       sha256 = "05sm9l8fjf18vl3b7qk3lpz2fd4knld0a90fh8smfxdvxap3fqv3";
+       version = "3.0.12";
+       sha256 = "0ybdzgpwb8gh9b59y9wn3ykwwlcjc2407cijj3iy6glnk07vvb5a";
        buildDepends = [
          array auto-update base blaze-builder bytestring case-insensitive
          ghc-prim hashable http-date http-types iproute network
@@ -126263,10 +126737,9 @@ self: {
     ({ mkDerivation, base, lens, linear, parsec, parsec-numbers }:
      mkDerivation {
        pname = "wkt";
-       version = "0.2.4";
-       sha256 = "0xbzk4p5jazdkrlvj67xzy9vphl6rw90jp8cv4hr8p63v7ja2kfq";
+       version = "0.2.5";
+       sha256 = "02r453wx1kv50lw0hx4nvzzv5wjfsy16gyjqphc25aq45rl5hr8g";
        buildDepends = [ base lens linear parsec parsec-numbers ];
-       jailbreak = true;
        homepage = "http://github.com/bgamari/wkt";
        description = "Parsec parsers and types for geographic data in well-known text (WKT) format";
        license = stdenv.lib.licenses.bsd3;
@@ -128934,10 +129407,8 @@ self: {
      }:
      mkDerivation {
        pname = "yarr";
-       version = "1.3.3.3";
-       revision = "1";
-       sha256 = "09nr1k0yhm1sh4g741876sf4vi0mgrh7gdq9cbw33hxn6168h547";
-       editedCabalFile = "290dde1a67c1de78074c60796f5326cf01668fb109345cd100ff1ac5a5663687";
+       version = "1.4.0.1";
+       sha256 = "0kk2yhhh6cjbav30sh68fg880kgdpks018c9gmn4gw98621nc6al";
        buildDepends = [
          base deepseq fixed-vector ghc-prim missing-foreign primitive
          template-haskell
@@ -128955,6 +129426,7 @@ self: {
        sha256 = "1wmmzw62wb5hz4qavy51wb3wwqn07zd6iiwsrzcck1jdxwy0p81x";
        buildDepends = [ base yarr ];
        extraLibraries = [ libdevil ];
+       jailbreak = true;
        description = "Image IO for Yarr library";
        license = stdenv.lib.licenses.mit;
      }) { inherit (pkgs) libdevil;};
@@ -129090,6 +129562,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yesod-angular-ui" = callPackage
+    ({ mkDerivation, base, blaze-html, containers, directory, hjsmin
+     , mtl, resourcet, shakespeare, template-haskell, text, transformers
+     , yesod, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-angular-ui";
+       version = "0.1.0.1";
+       sha256 = "1kj2lbg57sp4bsl4ri3p73gr5a2k17lx7gf01ay7x0960gj5ql92";
+       buildDepends = [
+         base blaze-html containers directory hjsmin mtl resourcet
+         shakespeare template-haskell text transformers yesod yesod-core
+       ];
+       homepage = "https://github.com/tolysz/yesod-angular-ui";
+       description = "Angular Helpers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "yesod-auth" = callPackage
     ({ mkDerivation, aeson, authenticate, base, base16-bytestring
      , base64-bytestring, binary, blaze-builder, blaze-html
@@ -129292,20 +129782,20 @@ self: {
 
   "yesod-auth-oauth2" = callPackage
     ({ mkDerivation, aeson, authenticate, base, bytestring, hoauth2
-     , http-conduit, http-types, lifted-base, network-uri, text
-     , transformers, uuid, yesod-auth, yesod-core, yesod-form
+     , http-conduit, http-types, lifted-base, network-uri, random, text
+     , transformers, yesod-auth, yesod-core, yesod-form
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.0.12";
-       sha256 = "1n70cnab99ldx4pd9yi7v6lvc7f1psnicmvq7sm8am8p9yhf9bs0";
+       version = "0.1.0";
+       sha256 = "0iwi41ia0wmcli3wy30fv82y4vb15xm95b2xa58sijzzpl0r3cma";
        buildDepends = [
          aeson authenticate base bytestring hoauth2 http-conduit http-types
-         lifted-base network-uri text transformers uuid yesod-auth
+         lifted-base network-uri random text transformers yesod-auth
          yesod-core yesod-form
        ];
-       homepage = "http://github.com/scan/yesod-auth-oauth2";
-       description = "Library to authenticate with OAuth 2.0 for Yesod web applications.";
+       homepage = "http://github.com/thoughtbot/yesod-auth-oauth2";
+       description = "OAuth 2.0 authentication plugins";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -130311,6 +130801,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-websockets-extra" = callPackage
+    ({ mkDerivation, base, enclosed-exceptions, transformers
+     , websockets, yesod-websockets
+     }:
+     mkDerivation {
+       pname = "yesod-websockets-extra";
+       version = "0.1.0.0";
+       sha256 = "042gl7w8cipjhqfl5h933b0p3j9d5m58v91p1rylz4mjgvhxpk5g";
+       buildDepends = [
+         base enclosed-exceptions transformers websockets yesod-websockets
+       ];
+       description = "Extension to yesod-websockets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "yesod-worker" = callPackage
     ({ mkDerivation, base, containers, fast-logger, monad-control
      , monad-logger, persistent, resourcet, stm, template-haskell
@@ -130334,21 +130839,29 @@ self: {
 
   "yet-another-logger" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base
-     , base-unicode-symbols, bytestring, case-insensitive
+     , base-unicode-symbols, bytestring, Cabal, case-insensitive, clock
      , configuration-tools, deepseq, either, enclosed-exceptions, lens
-     , lifted-base, monad-control, mtl, optparse-applicative, stm
-     , stm-chans, text, trace, transformers, transformers-base
+     , lifted-base, monad-control, mtl, nats, optparse-applicative, stm
+     , stm-chans, tagged, tasty, tasty-hunit, text, time, trace
+     , transformers, transformers-base, void
      }:
      mkDerivation {
        pname = "yet-another-logger";
-       version = "0.1.1.1";
-       sha256 = "0bwslcxb747krvpa4irnych4ddjik51542jf0bkzsyhagmakrjz8";
+       version = "0.2";
+       sha256 = "1di3pjvyiwx1qq6ngk0rmyhyalf1l54dhdy190bg14da3xpsvzbh";
+       isLibrary = true;
+       isExecutable = true;
        buildDepends = [
          aeson ansi-terminal async base base-unicode-symbols bytestring
-         case-insensitive configuration-tools deepseq either
-         enclosed-exceptions lens lifted-base monad-control mtl
-         optparse-applicative stm stm-chans text trace transformers
-         transformers-base
+         Cabal case-insensitive clock configuration-tools deepseq either
+         enclosed-exceptions lens lifted-base monad-control mtl nats
+         optparse-applicative stm stm-chans text time trace transformers
+         transformers-base void
+       ];
+       testDepends = [
+         async base base-unicode-symbols configuration-tools
+         enclosed-exceptions lens lifted-base nats tagged tasty tasty-hunit
+         text transformers transformers-base void
        ];
        jailbreak = true;
        homepage = "https://github.com/alephcloud/hs-yet-another-logger";
@@ -130801,12 +131314,16 @@ self: {
      }) {};
 
   "z3" = callPackage
-    ({ mkDerivation, base, containers, gomp, mtl, z3 }:
+    ({ mkDerivation, base, containers, gomp, hspec, mtl, QuickCheck, z3
+     }:
      mkDerivation {
        pname = "z3";
-       version = "0.3.2";
-       sha256 = "1qlklpzpjfbqjgzzkyv2j06ps42brria4px2ir2fvwgdjfzxha4n";
+       version = "4.0.0";
+       sha256 = "1axn3kzy6hsrnq5mcgf2n1sv63q3pqkhznvvhlj13k6jc3h2jzhl";
+       isLibrary = true;
+       isExecutable = true;
        buildDepends = [ base containers mtl ];
+       testDepends = [ base hspec QuickCheck ];
        extraLibraries = [ gomp z3 ];
        homepage = "http://bitbucket.org/iago/z3-haskell";
        description = "Bindings for the Z3 Theorem Prover";
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index ce6081b849c6..1166c7075c85 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, erlang, rebar, makeWrapper, coreutils, curl, bash, cacert }:
 
 let
-  version = "1.0.3";
+  version = "1.0.4";
 in
 stdenv.mkDerivation {
   name = "elixir-${version}";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "ec6c4eaffcb771d91bdea9fb274600c624fd16b1891d194b3fcb2b521f52cc75";
+    sha256 = "1babp3ff6hajdm247zl9rc311k973cdnv6dqaai7l8817gg1yd3r";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index 2e17ebea5ea7..6b64fc32e122 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -14,11 +14,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "erlang-" + version + "${optionalString odbcSupport "-odbc"}"
   + "${optionalString javacSupport "-javac"}";
-  version = "17.4";
+  version = "17.5";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "0mhzfs64wa00g0bv9hwf0sbl8lgs83jj8cq9c3wg1iksmskfv0hd";
+    sha256 = "0x34hj1a4j3rphqdaapdld7la4sqiqillamcz06wac0vk0684a1w";
   };
 
   buildInputs =
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
-      sha256 = "0n4sczblx8mjcck56rpxvyvz186hkzg0c1xjqrnpnz1nkn7dn73c";
+      sha256 = "1hspm285bl7i9a0d4r6j6lm5yk4sb5d9xzpia3simh0z06hv5cc5";
     };
   in ''
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
diff --git a/pkgs/development/interpreters/ruby/bundix/Gemfile b/pkgs/development/interpreters/ruby/bundix/Gemfile
index 7d2f78133c57..4899cafc3738 100644
--- a/pkgs/development/interpreters/ruby/bundix/Gemfile
+++ b/pkgs/development/interpreters/ruby/bundix/Gemfile
@@ -1,4 +1,4 @@
 source "http://rubygems.org"
 gem "bundix",
   :git => "https://github.com/cstrahan/bundix.git",
-  :ref => "v1.0.2"
+  :ref => "v1.0.3"
diff --git a/pkgs/development/interpreters/ruby/bundix/Gemfile.lock b/pkgs/development/interpreters/ruby/bundix/Gemfile.lock
index 038fa1a7a503..f241a3bafd4f 100644
--- a/pkgs/development/interpreters/ruby/bundix/Gemfile.lock
+++ b/pkgs/development/interpreters/ruby/bundix/Gemfile.lock
@@ -1,7 +1,7 @@
 GIT
   remote: https://github.com/cstrahan/bundix.git
-  revision: e098b8c04087079c897aaf9542990e9fdd503bcf
-  ref: v1.0.2
+  revision: c879cf901ff8084b4c97aaacfb5ecbdb0f95cc03
+  ref: v1.0.3
   specs:
     bundix (1.0.2)
       thor (~> 0.19.1)
diff --git a/pkgs/development/interpreters/ruby/bundix/gemset.nix b/pkgs/development/interpreters/ruby/bundix/gemset.nix
index adde97a49f21..f8f6546671d9 100644
--- a/pkgs/development/interpreters/ruby/bundix/gemset.nix
+++ b/pkgs/development/interpreters/ruby/bundix/gemset.nix
@@ -4,8 +4,8 @@
     source = {
       type = "git";
       url = "https://github.com/cstrahan/bundix.git";
-      rev = "e098b8c04087079c897aaf9542990e9fdd503bcf";
-      sha256 = "0www8srjqlxy1pzn2b6himy5y768dni54m7rv67gj8yvx48vd803";
+      rev = "c879cf901ff8084b4c97aaacfb5ecbdb0f95cc03";
+      sha256 = "05kmdnq4qa5h8l3asv05cjpnyplnqqx6hrqybj2cjlzmdxnkkgyj";
       fetchSubmodules = false;
     };
     dependencies = [
diff --git a/pkgs/development/libraries/gecode/default.nix b/pkgs/development/libraries/gecode/default.nix
index c0deb2d5fca6..ee7b12de5027 100644
--- a/pkgs/development/libraries/gecode/default.nix
+++ b/pkgs/development/libraries/gecode/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gecode-${version}";
-  version = "4.3.3";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "http://www.gecode.org/download/${name}.tar.gz";
-    sha256 = "1nxcv32pqmf7fsdpa8zp482i8a1nhrfppqaimymcxvxjgxzmpj1i";
+    sha256 = "0akqjzy6pd229mn0lhpdbyc4wbazhprkd5ijqs99z68bj3b9h0s3";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix
index 8d175398414e..3fbc8c3f2b05 100644
--- a/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix
+++ b/pkgs/development/libraries/haskell/diagrams/builder/wrapper.nix
@@ -2,7 +2,7 @@
   If user need access to more haskell package for building his
   diagrams, he simply has to pass these package through the
   extra packages function as follow in `config.nix`:
-  
+
   ~~~
   diagramBuilderWrapper.override {
     extraPackages = self : [myHaskellPackage];
@@ -10,22 +10,21 @@
   ­~~~
 
   WARNING:
-  Note that this solution works well but however, as this is a 
+  Note that this solution works well but however, as this is a
   non-cabal derivation, user should be carefull to never put this
   package inside the listing passed as argument to `ghcWithPackages`
   as it will silently disregard the package. This silent disregard
   should be regarded as an issue for `ghcWithPackages`. It should
   rather raise an error instead when a non-cabal dirivation is
   directly passed to it. The alternative would have been to
-  use a fake cabal file in order to make this a cabal derivation
-  such as what `yiCustom` package did.
+  use a fake cabal file in order to make this a cabal derivation.
 */
 
-{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper, 
+{ stdenv, diagramsBuilder, ghcWithPackages, makeWrapper,
   extraPackages ? (self: []) }:
 let
-  # Used same technique as for the yiCustom package.
-  w = ghcWithPackages 
+  # Used same technique such as xmonad
+  w = ghcWithPackages
     (self: [ diagramsBuilder ] ++ extraPackages self);
   wrappedGhc = w.override { ignoreCollisions = true; };
 in
@@ -50,4 +49,4 @@ stdenv.mkDerivation {
   '';
   preferLocalBuild = true;
   meta = diagramsBuilder.meta;
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index fd16866cceeb..9a003de80f1e 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.3.1";
+  name = "libevdev-1.4.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "0hr6xjp7vcnr7lnr1il03235rcslqb95yv7j88qh51q0bwcpcz2b";
+    sha256 = "11dfiz7pkb2jbavr1ba8phn86qavvgf1xwlxmfs69mqxlz4x6yai";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 586d48a8daa7..23ccfc69df44 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "libgpg-error-1.18";
+  name = "libgpg-error-1.19";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "0408v19h3h0q6w61g51hgbdg6cyw81nyzkh70qfprvsc3pkddwcz";
+    sha256 = "12wpqhjlsw4iaanifbqm2kich6c7x7lm8a7zhy6x5ifm6c9hw4jk";
   };
 
   postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure";
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 1293c2245ac2..26aa974a7eed 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.3.2";
+  name = "libksba-1.3.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb";
+    sha256 = "11kp3h9l3b8ikydkcdkwgx45r662zi30m26ra5llyhfh6kz5yzqc";
   };
 
   propagatedBuildInputs = [ libgpgerror ];
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 100f91d966ff..54862e0482bf 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, automake, autoconf, libtool, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.72";
+  version = "0.7.73";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.bz2";
-    sha256 = "1ndfag9a7yl8j1iwxgd2d8slwzc0ifmzg9zf8lg7fsqsa9c3s7m6";
+    sha256 = "1c7yc9m4fdrfdlb80g6157sa8s0wlv892pixrfdzfljsqayxnl6k";
   };
 
   buildInputs = [ automake autoconf libtool pkgconfig libzen zlib ];
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 08ada463a548..d5055d213fbd 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchurl, glib, dbus_libs, unzip, automake, libtool, autoconf, m4, docbook_xsl,
-  intltool, gtk_doc, gobjectIntrospection, pkgconfig, libxslt, libgcrypt }:
+{ stdenv, fetchurl, glib, dbus_libs, unzip, docbook_xsl
+, intltool, gtk_doc, gobjectIntrospection, pkgconfig, libxslt, libgcrypt
+}:
 
 stdenv.mkDerivation rec {
-  version = "0.16";
+  version = "0.18";
   name = "libsecret-${version}";
 
   src = fetchurl {
-    url = "https://git.gnome.org/browse/libsecret/snapshot/libsecret-${version}.zip";
-    sha256 = "1yf4zvzfa45wr5bqlh54g3bmd0lgcsa8hnhppa99czca0zj7bkks";
+    url = "mirror://gnome/sources/libsecret/${version}/${name}.tar.xz";
+    sha256 = "1qq29c01xxjyx5sl6y5h22w8r0ff4c73bph3gfx3h7mx5mvalwqc";
   };
 
   propagatedBuildInputs = [ glib dbus_libs ];
   nativeBuildInputs = [ unzip ];
-  buildInputs = [ gtk_doc automake libtool autoconf intltool gobjectIntrospection pkgconfig libxslt libgcrypt m4 docbook_xsl ];
-
-  configureScript = "./autogen.sh";
+  buildInputs = [ gtk_doc intltool gobjectIntrospection pkgconfig libxslt libgcrypt docbook_xsl ];
 
   meta = {
     inherit (glib.meta) platforms maintainers;
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index a7c80077e799..6a4756670786 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,149 +1,148 @@
-{stdenv, fetchurl, bash, perl, yasm
-, vp8Support ? true # VP8
+{stdenv, fetchFromGitHub, perl, yasm
 , vp8DecoderSupport ? true # VP8 decoder
 , vp8EncoderSupport ? true # VP8 encoder
-, vp9Support ? true # VP9
 , vp9DecoderSupport ? true # VP9 decoder
 , vp9EncoderSupport ? true # VP9 encoder
 , extraWarningsSupport ? false # emit non-fatal warnings
 , werrorSupport ? false # treat warnings as errors (not available with all compilers)
-, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
-, installLibsSupport ? true # install libraries
-, installSrcsSupport ? false # install sources
 , debugSupport ? false # debug mode
 , gprofSupport ? false # gprof profiling instrumentation
 , gcovSupport ? false # gcov coverage instrumentation
+, sizeLimitSupport ? true # limit max size to allow in the decoder
 , optimizationsSupport ? true # compiler optimization flags
 , runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
 , thumbSupport ? false # build arm assembly in thumb mode
-, libsSupport ? true # build librares
 , examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
 , fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
-, codecSrcsSupport ? false # codec library source code
 , debugLibsSupport ? false # include debug version of each library
-, md5Support ? true # support for output of checksum data
 , postprocSupport ? true # postprocessing
-, vp9PostprocSupport ? true # VP9 specific postprocessing
 , multithreadSupport ? true # multithreaded decoding & encoding
 , internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
 , memTrackerSupport ? false # track memory usage
+, spatialResamplingSupport ? true # spatial sampling (scaling)
 , realtimeOnlySupport ? false # build for real-time encoding
 , ontheflyBitpackingSupport ? false # on-the-fly bitpacking in real-time encoding
 , errorConcealmentSupport ? false # decoder conceals losses
 , smallSupport ? false # favor smaller binary over speed
 , postprocVisualizerSupport ? false # macro block/block level visualizers
 , unitTestsSupport ? false, curl ? null, coreutils ? null # unit tests
+, webmIOSupport ? true # input from and output to webm container
+, libyuvSupport ? true # libyuv
+, decodePerfTestsSupport ? false # build decoder perf tests with unit tests
+, encodePerfTestsSupport ? false # build encoder perf tests with unit tests
 , multiResEncodingSupport ? false # multiple-resolution encoding
 , temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
-, decryptSupport ? false
+, coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
+, vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
 , experimentalSupport ? false # experimental features
 # Experimental features
-, experimentalMultipleArfSupport ? false
-, experimentalNon420Support ? false
-, experimentalAlphaSupport ? false
+, experimentalSpatialSvcSupport ? false # Spatial scalable video coding
+, experimentalFpMbStatsSupport ? false
+, experimentalEmulateHardwareSupport ? false
 }:
 
-assert (vp8Support || vp9Support);
-assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
-assert vp8DecoderSupport -> vp8Support;
-assert vp8EncoderSupport -> vp8Support;
-assert vp9DecoderSupport -> vp9Support;
-assert vp9EncoderSupport -> vp9Support;
-assert installLibsSupport -> libsSupport;
-# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
-assert installBinsSupport -> examplesSupport;
-assert examplesSupport -> md5Support;
-assert vp9PostprocSupport -> (vp9Support && postprocSupport);
-assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
-assert postprocVisualizerSupport -> postprocSupport;
-assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
-assert unitTestsSupport -> ((curl != null) && (coreutils != null));
-assert (experimentalMultipleArfSupport || experimentalNon420Support || experimentalAlphaSupport) -> experimentalSupport;
-assert stdenv.isCygwin -> unitTestsSupport;
-
 let
-  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+  inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
+  inherit (stdenv.lib) enableFeature optional optionals;
 in
 
-with stdenv.lib;
+assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support
+
+assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
+assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
+/* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
+   Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
+   but is only executed if spatialResamplingSupport is enabled */
+assert spatialResamplingSupport;
+assert postprocVisualizerSupport -> postprocSupport;
+assert unitTestsSupport -> curl != null && coreutils != null;
+assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
+assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
+
 stdenv.mkDerivation rec {
   name = "libvpx-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
 
-  src = fetchurl {
-    url = "http://webm.googlecode.com/files/libvpx-v${version}.tar.bz2";
-    sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc";
+  src = fetchFromGitHub {
+    owner = "webmproject";
+    repo = "libvpx";
+    rev = "v${version}";
+    sha256 = "1y8cf2q5ij8z8ab5j36m18rbs62aah6sw6shzbs3jr70ja0z6n8s";
   };
 
-  patchPhase = ''
-    patchShebangs .
-  '';
-
-  nativeBuildInputs = [ bash perl yasm ];
-
-  buildInputs = [ ]
-    ++ optional unitTestsSupport coreutils
-    ++ optional unitTestsSupport curl;
+  patchPhase = ''patchShebangs .'';
 
   configureFlags = [
-    (mkFlag vp8Support "vp8")
-    (mkFlag vp8EncoderSupport "vp8-encoder")
-    (mkFlag vp8DecoderSupport "vp8-decoder")
-    (mkFlag vp9Support "vp9")
-    (mkFlag vp9EncoderSupport "vp9-encoder")
-    (mkFlag vp9DecoderSupport "vp9-decoder")
-    (mkFlag extraWarningsSupport "extra-warnings")
-    (mkFlag werrorSupport "werror")
+    (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
+    (enableFeature vp8EncoderSupport "vp8-encoder")
+    (enableFeature vp8DecoderSupport "vp8-decoder")
+    (enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
+    (enableFeature vp9EncoderSupport "vp9-encoder")
+    (enableFeature vp9DecoderSupport "vp9-decoder")
+    (enableFeature extraWarningsSupport "extra-warnings")
+    (enableFeature werrorSupport "werror")
     "--disable-install-docs"
-    (mkFlag installBinsSupport "install-bins")
-    (mkFlag installLibsSupport "install-libs")
-    (mkFlag installSrcsSupport "install-srcs")
-    (mkFlag debugSupport "debug")
-    (mkFlag gprofSupport "gprof")
-    (mkFlag gcovSupport "gcov")
+    (enableFeature examplesSupport "install-bins")
+    "--enable-install-libs"
+    "--disable-install-srcs"
+    (enableFeature debugSupport "debug")
+    (enableFeature gprofSupport "gprof")
+    (enableFeature gcovSupport "gcov")
     # Required to build shared libraries
-    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
-    (mkFlag (stdenv.isx86_64 || !stdenv.isDarwin || stdenv.isCygwin) "use-x86inc")
-    (mkFlag optimizationsSupport "optimizations")
-    (mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
-    (mkFlag thumbSupport "thumb")
-    (mkFlag libsSupport "libs")
-    (mkFlag examplesSupport "examples")
+    (enableFeature (!isCygwin) "pic")
+    (enableFeature (isi686 || isx86_64) "use-x86inc")
+    (enableFeature optimizationsSupport "optimizations")
+    (enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
+    (enableFeature thumbSupport "thumb")
+    "--enable-libs"
+    (enableFeature examplesSupport "examples")
     "--disable-docs"
     "--as=yasm"
-    (mkFlag fastUnalignedSupport "fast-unaligned")
-    (mkFlag codecSrcsSupport "codec-srcs")
-    (mkFlag debugLibsSupport "debug-libs")
-    (mkFlag md5Support "md5")
-    (mkFlag stdenv.isMips "dequant-tokens")
-    (mkFlag stdenv.isMips "dc-recon")
-    (mkFlag postprocSupport "postproc")
-    (mkFlag vp9PostprocSupport "vp9-postproc")
-    (mkFlag multithreadSupport "multithread")
-    (mkFlag internalStatsSupport "internal-stats")
-    (mkFlag memTrackerSupport "mem-tracker")
-    /* If --enable-spatial-resampling not enabled, build will fail with undeclared variable errors.
-       Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
-       but is only executed if --enable-spatial-resampling is enabled */
-    "--enable-spatial-resampling"
-    (mkFlag realtimeOnlySupport "realtime-only")
-    (mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
-    (mkFlag errorConcealmentSupport "error-concealment")
+    # Limit default decoder max to WHXGA
+    (if sizeLimitSupport then "--size-limit=5120x3200" else null)
+    (enableFeature fastUnalignedSupport "fast-unaligned")
+    "--disable-codec-srcs"
+    (enableFeature debugLibsSupport "debug-libs")
+    (enableFeature isMips "dequant-tokens")
+    (enableFeature isMips "dc-recon")
+    (enableFeature postprocSupport "postproc")
+    (enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
+    (enableFeature multithreadSupport "multithread")
+    (enableFeature internalStatsSupport "internal-stats")
+    (enableFeature memTrackerSupport "mem-tracker")
+    (enableFeature spatialResamplingSupport "spatial-resampling")
+    (enableFeature realtimeOnlySupport "realtime-only")
+    (enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
+    (enableFeature errorConcealmentSupport "error-concealment")
     # Shared libraries are only supported on ELF platforms
-    (mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
-    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
-    (mkFlag smallSupport "small")
-    (mkFlag postprocVisualizerSupport "postproc-visualizer")
-    (mkFlag unitTestsSupport "unit-tests")
-    (mkFlag multiResEncodingSupport "multi-res-encoding")
-    (mkFlag temporalDenoisingSupport "temporal-denoising")
-    (mkFlag decryptSupport "decrypt")
-    (mkFlag experimentalSupport "experimental")
+    (if isDarwin || isCygwin then
+       "--enable-static --disable-shared"
+     else
+       "--disable-static --enable-shared")
+    (enableFeature smallSupport "small")
+    (enableFeature postprocVisualizerSupport "postproc-visualizer")
+    (enableFeature unitTestsSupport "unit-tests")
+    (enableFeature webmIOSupport "webm-io")
+    (enableFeature libyuvSupport "libyuv")
+    (enableFeature decodePerfTestsSupport "decode-perf-tests")
+    (enableFeature encodePerfTestsSupport "encode-perf-tests")
+    (enableFeature multiResEncodingSupport "multi-res-encoding")
+    (enableFeature temporalDenoisingSupport "temporal-denoising")
+    (enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
+    (enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
+    (enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
+    (enableFeature (experimentalSpatialSvcSupport ||
+                    experimentalFpMbStatsSupport ||
+                    experimentalEmulateHardwareSupport) "experimental")
     # Experimental features
-    (mkFlag experimentalMultipleArfSupport "multiple-arf")
-    (mkFlag experimentalNon420Support "non420")
-    (mkFlag experimentalAlphaSupport "alpha")
-  ];
+  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
+    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
+
+  nativeBuildInputs = [ perl yasm ];
+
+  buildInputs = [ ]
+    ++ optionals unitTestsSupport [ coreutils curl ];
 
   enableParallelBuilding = true;
 
@@ -163,7 +162,8 @@ stdenv.mkDerivation rec {
       # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
       "--force-target=${stdenv.cross.config}${(
               if isDarwin then (
-                if stdenv.cross.osxMinVersion == "10.9"  then "13"
+                if      stdenv.cross.osxMinVersion == "10.10" then "14"
+                else if stdenv.cross.osxMinVersion == "10.9"  then "13"
                 else if stdenv.cross.osxMinVersion == "10.8"  then "12"
                 else if stdenv.cross.osxMinVersion == "10.7"  then "11"
                 else if stdenv.cross.osxMinVersion == "10.6"  then "10"
@@ -174,11 +174,11 @@ stdenv.mkDerivation rec {
     ];
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
     homepage    = http://www.webmproject.org/;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ codyopel lovek323 ];
+    maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix
index fd7f9150e1dc..31b1c197e9ff 100644
--- a/pkgs/development/libraries/libvpx/git.nix
+++ b/pkgs/development/libraries/libvpx/git.nix
@@ -1,15 +1,10 @@
 {stdenv, fetchgit, perl, yasm
-, vp8Support ? true # VP8
 , vp8DecoderSupport ? true # VP8 decoder
 , vp8EncoderSupport ? true # VP8 encoder
-, vp9Support ? true # VP9
 , vp9DecoderSupport ? true # VP9 decoder
 , vp9EncoderSupport ? true # VP9 encoder
 , extraWarningsSupport ? false # emit non-fatal warnings
 , werrorSupport ? false # treat warnings as errors (not available with all compilers)
-, installBinsSupport ? true # install binaries (vpxdec & vpxenc)
-, installLibsSupport ? true # install libraries
-, installSrcsSupport ? false # install sources
 , debugSupport ? false # debug mode
 , gprofSupport ? false # gprof profiling instrumentation
 , gcovSupport ? false # gcov coverage instrumentation
@@ -17,13 +12,10 @@
 , optimizationsSupport ? true # compiler optimization flags
 , runtimeCpuDetectSupport ? true # detect cpu capabilities at runtime
 , thumbSupport ? false # build arm assembly in thumb mode
-, libsSupport ? true # build librares
 , examplesSupport ? true # build examples (vpxdec & vpxenc are part of examples)
 , fastUnalignedSupport ? true # use unaligned accesses if supported by hardware
-, codecSrcsSupport ? false # codec library source code
 , debugLibsSupport ? false # include debug version of each library
 , postprocSupport ? true # postprocessing
-, vp9PostprocSupport ? true # VP9 specific postprocessing
 , multithreadSupport ? true # multithreaded decoding & encoding
 , internalStatsSupport ? false # output of encoder internal stats for debug, if supported (encoders)
 , memTrackerSupport ? false # track memory usage
@@ -40,7 +32,6 @@
 , encodePerfTestsSupport ? false # build encoder perf tests with unit tests
 , multiResEncodingSupport ? false # multiple-resolution encoding
 , temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
-, vp9TemporalDenoisingSupport ? true # VP9 specific temporal denoising
 , coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
 , vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
 , experimentalSupport ? false # experimental features
@@ -50,118 +41,109 @@
 , experimentalEmulateHardwareSupport ? false
 }:
 
-assert (vp8Support || vp9Support);
-assert (vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport);
-assert vp8DecoderSupport -> vp8Support;
-assert vp8EncoderSupport -> vp8Support;
-assert vp9DecoderSupport -> vp9Support;
-assert vp9EncoderSupport -> vp9Support;
-assert installLibsSupport -> libsSupport;
-# libvpx will not build binaries if examplesSupport is not enabled (ie. vpxdec & vpxenc)
-assert installBinsSupport -> examplesSupport;
-assert vp9PostprocSupport -> (vp9Support && postprocSupport);
-assert (internalStatsSupport && vp9Support) -> vp9PostprocSupport;
+let
+  inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
+  inherit (stdenv.lib) enableFeature optional optionals;
+in
+
+assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support
+
+assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
+assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
 /* If spatialResamplingSupport not enabled, build will fail with undeclared variable errors.
    Variables called in vpx_scale/generic/vpx_scale.c are declared by vpx_scale/vpx_scale_rtcd.pl,
    but is only executed if spatialResamplingSupport is enabled */
 assert spatialResamplingSupport;
 assert postprocVisualizerSupport -> postprocSupport;
-assert (postprocVisualizerSupport && vp9Support) -> vp9PostprocSupport;
-assert unitTestsSupport -> ((curl != null) && (coreutils != null));
-assert vp9TemporalDenoisingSupport -> (vp9Support && temporalDenoisingSupport);
-assert vp9HighbitdepthSupport -> vp9Support;
-assert (experimentalSpatialSvcSupport || experimentalFpMbStatsSupport || experimentalEmulateHardwareSupport) -> experimentalSupport;
-assert stdenv.isCygwin -> (unitTestsSupport && webmIOSupport && libyuvSupport);
+assert unitTestsSupport -> curl != null && coreutils != null;
+assert vp9HighbitdepthSupport -> (vp9DecoderSupport || vp9EncoderSupport);
+assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
 
-let
-  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
-in
-
-with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libvpx-git";
+  name = "libvpx-git-${version}";
+  version = "2015-2-12";
 
   src = fetchgit {
     url = "https://chromium.googlesource.com/webm/libvpx";
   /* DO NOT under any circumstance ever just bump the git commit without
      confirming changes have not been made to the configure system */
-    rev = "f4c29ae9ea16c502c980a81ca9683327d5051929"; # 2015-2-12
+    rev = "f4c29ae9ea16c502c980a81ca9683327d5051929";
     sha256 = "1d5m3dryfdrsf3mi6bcbsndyhihzksqalzfvi21fbxxkk1imsb9x";
   };
 
-  patchPhase = ''
-    patchShebangs .
-  '';
-
-  nativeBuildInputs = [ perl yasm ];
-
-  buildInputs = [ ]
-    ++ optional unitTestsSupport coreutils
-    ++ optional unitTestsSupport curl;
+  patchPhase = ''patchShebangs .'';
 
   configureFlags = [
-    (mkFlag vp8Support "vp8")
-    (mkFlag vp8EncoderSupport "vp8-encoder")
-    (mkFlag vp8DecoderSupport "vp8-decoder")
-    (mkFlag vp9Support "vp9")
-    (mkFlag vp9EncoderSupport "vp9-encoder")
-    (mkFlag vp9DecoderSupport "vp9-decoder")
-    (mkFlag extraWarningsSupport "extra-warnings")
-    (mkFlag werrorSupport "werror")
+    (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
+    (enableFeature vp8EncoderSupport "vp8-encoder")
+    (enableFeature vp8DecoderSupport "vp8-decoder")
+    (enableFeature (vp9EncoderSupport || vp9DecoderSupport) "vp9")
+    (enableFeature vp9EncoderSupport "vp9-encoder")
+    (enableFeature vp9DecoderSupport "vp9-decoder")
+    (enableFeature extraWarningsSupport "extra-warnings")
+    (enableFeature werrorSupport "werror")
     "--disable-install-docs"
-    (mkFlag installBinsSupport "install-bins")
-    (mkFlag installLibsSupport "install-libs")
-    (mkFlag installSrcsSupport "install-srcs")
-    (mkFlag debugSupport "debug")
-    (mkFlag gprofSupport "gprof")
-    (mkFlag gcovSupport "gcov")
+    (enableFeature examplesSupport "install-bins")
+    "--enable-install-libs"
+    "--disable-install-srcs"
+    (enableFeature debugSupport "debug")
+    (enableFeature gprofSupport "gprof")
+    (enableFeature gcovSupport "gcov")
     # Required to build shared libraries
-    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "pic")
-    (mkFlag (stdenv.isi686 || stdenv.isx86_64) "use-x86inc")
-    (mkFlag optimizationsSupport "optimizations")
-    (mkFlag runtimeCpuDetectSupport "runtime-cpu-detect")
-    (mkFlag thumbSupport "thumb")
-    (mkFlag libsSupport "libs")
-    (mkFlag examplesSupport "examples")
+    (enableFeature (!isCygwin) "pic")
+    (enableFeature (isi686 || isx86_64) "use-x86inc")
+    (enableFeature optimizationsSupport "optimizations")
+    (enableFeature runtimeCpuDetectSupport "runtime-cpu-detect")
+    (enableFeature thumbSupport "thumb")
+    "--enable-libs"
+    (enableFeature examplesSupport "examples")
     "--disable-docs"
     "--as=yasm"
     # Limit default decoder max to WHXGA
-    (if sizeLimitSupport then "--size-limit=5120x3200" else "")
-    (mkFlag fastUnalignedSupport "fast-unaligned")
-    (mkFlag codecSrcsSupport "codec-srcs")
-    (mkFlag debugLibsSupport "debug-libs")
-    (mkFlag stdenv.isMips "dequant-tokens")
-    (mkFlag stdenv.isMips "dc-recon")
-    (mkFlag postprocSupport "postproc")
-    (mkFlag vp9PostprocSupport "vp9-postproc")
-    (mkFlag multithreadSupport "multithread")
-    (mkFlag internalStatsSupport "internal-stats")
-    (mkFlag memTrackerSupport "mem-tracker")
-    (mkFlag spatialResamplingSupport "spatial-resampling")
-    (mkFlag realtimeOnlySupport "realtime-only")
-    (mkFlag ontheflyBitpackingSupport "onthefly-bitpacking")
-    (mkFlag errorConcealmentSupport "error-concealment")
+    (if sizeLimitSupport then "--size-limit=5120x3200" else null)
+    (enableFeature fastUnalignedSupport "fast-unaligned")
+    "--disable-codec-srcs"
+    (enableFeature debugLibsSupport "debug-libs")
+    (enableFeature isMips "dequant-tokens")
+    (enableFeature isMips "dc-recon")
+    (enableFeature postprocSupport "postproc")
+    (enableFeature (postprocSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-postproc")
+    (enableFeature multithreadSupport "multithread")
+    (enableFeature internalStatsSupport "internal-stats")
+    (enableFeature memTrackerSupport "mem-tracker")
+    (enableFeature spatialResamplingSupport "spatial-resampling")
+    (enableFeature realtimeOnlySupport "realtime-only")
+    (enableFeature ontheflyBitpackingSupport "onthefly-bitpacking")
+    (enableFeature errorConcealmentSupport "error-concealment")
     # Shared libraries are only supported on ELF platforms
-    (mkFlag (stdenv.isDarwin || stdenv.isCygwin) "static")
-    (mkFlag (!stdenv.isDarwin && !stdenv.isCygwin) "shared")
-    (mkFlag smallSupport "small")
-    (mkFlag postprocVisualizerSupport "postproc-visualizer")
-    (mkFlag unitTestsSupport "unit-tests")
-    (mkFlag webmIOSupport "webm-io")
-    (mkFlag libyuvSupport "libyuv")
-    (mkFlag decodePerfTestsSupport "decode-perf-tests")
-    (mkFlag encodePerfTestsSupport "encode-perf-tests")
-    (mkFlag multiResEncodingSupport "multi-res-encoding")
-    (mkFlag temporalDenoisingSupport "temporal-denoising")
-    (mkFlag vp9TemporalDenoisingSupport "vp9-temporal-denoising")
-    (mkFlag coefficientRangeCheckingSupport "coefficient-range-checking")
-    (mkFlag (vp9HighbitdepthSupport && !stdenv.isi686) "vp9-highbitdepth")
-    (mkFlag experimentalSupport "experimental")
+    (if isDarwin || isCygwin then
+       "--enable-static --disable-shared"
+     else
+       "--disable-static --enable-shared")
+    (enableFeature smallSupport "small")
+    (enableFeature postprocVisualizerSupport "postproc-visualizer")
+    (enableFeature unitTestsSupport "unit-tests")
+    (enableFeature webmIOSupport "webm-io")
+    (enableFeature libyuvSupport "libyuv")
+    (enableFeature decodePerfTestsSupport "decode-perf-tests")
+    (enableFeature encodePerfTestsSupport "encode-perf-tests")
+    (enableFeature multiResEncodingSupport "multi-res-encoding")
+    (enableFeature temporalDenoisingSupport "temporal-denoising")
+    (enableFeature (temporalDenoisingSupport && (vp9DecoderSupport || vp9EncoderSupport)) "vp9-temporal-denoising")
+    (enableFeature coefficientRangeCheckingSupport "coefficient-range-checking")
+    (enableFeature (vp9HighbitdepthSupport && is64bit) "vp9-highbitdepth")
+    (enableFeature (experimentalSpatialSvcSupport ||
+                    experimentalFpMbStatsSupport ||
+                    experimentalEmulateHardwareSupport) "experimental")
     # Experimental features
-    (mkFlag experimentalSpatialSvcSupport "spatial-svc")
-    (mkFlag experimentalFpMbStatsSupport "fp-mb-stats")
-    (mkFlag experimentalEmulateHardwareSupport "emulate-hardware")
-  ];
+  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
+    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
+
+  nativeBuildInputs = [ perl yasm ];
+
+  buildInputs = [ ]
+    ++ optionals unitTestsSupport [ coreutils curl ];
 
   enableParallelBuilding = true;
 
@@ -193,7 +175,7 @@ stdenv.mkDerivation rec {
     ];
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
     homepage    = http://www.webmproject.org/;
     license     = licenses.bsd3;
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
index 2fdeee7b5dcd..11b77ae08150 100644
--- a/pkgs/development/libraries/libzen/default.nix
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, automake, autoconf, libtool, pkgconfig }:
 
-let version = "0.4.30"; in
+let version = "0.4.31"; in
 
 stdenv.mkDerivation {
   name = "libzen-${version}";
   src = fetchurl {
     url = "http://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
-    sha256 = "1ripvyzz2lw9nx2j8mkjgjfpabrz6knwxri52asqf1abnszbry64";
+    sha256 = "1d54bn561dipf16ki1bfq5r72j5bmz1yyx4n1v85jv4qc4cfvl4z";
   };
 
   buildInputs = [ automake autoconf libtool pkgconfig ];
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index a2891f9207d3..8cf0744a0d14 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -5,13 +5,13 @@
 stdenv.mkDerivation rec {
   name = "mailcore2-${version}";
 
-  version = "0.5";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner  = "MailCore";
     repo   = "mailcore2";
     rev    = version;
-    sha256 = "1f2kpw8ha4j43jlimw0my9b7x1gbik7yyg1m87q6nhbbsci78qly";
+    sha256 = "1k0l59cdk8np4pff1my07dp7ivf3nchlhcpvm9xizp0my9rqgbxb";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index c80b1bca685f..33f5ba867d6a 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation {
   name = "schroedinger-1.0.11";
 
   src = fetchurl {
-    url = http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz;
+    urls = [
+      http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
+      http://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
+    ];
     sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index f3b91f442de2..56bcba8297de 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -1,14 +1,18 @@
-{ stdenv, fetchurl, curl }:
+{ stdenv, fetchurl, curl, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "xmlrpc-c-1.25.30";
+  name = "xmlrpc-c-1.33.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/xmlrpc-c/${name}.tgz";
-    sha256 = "161gj237baagy5jaa08m54zfyvilb19gql0i5c9ysl3xqm7fvrla";
+    sha256 = "0makq1zpfqnrj6xx1xc7wi4mh115ri9p4yz2rbvjhj0il4y8l4ah";
   };
 
-  buildInputs = [ curl ];
+  buildInputs = [ curl libxml2 ];
+
+  configureFlags = [
+    "--enable-libxml2-backend"
+  ];
 
   # Build and install the "xmlrpc" tool (like the Debian package)
   postInstall = ''
diff --git a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
index 6452bd5d95ae..05376c1e9a3c 100755
--- a/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
+++ b/pkgs/development/lisp-modules/clwrapper/cl-wrapper.sh
@@ -40,6 +40,8 @@ NIX_LISP_ASDF_REGISTRY_CODE="
     )
 "
 
+NIX_LISP_ASDF="${NIX_LISP_ASDF:-@asdf@}"
+
 [ -z "$NIX_LISP_SKIP_CODE" ] && "$NIX_LISP_COMMAND" $NIX_LISP_EARLY_OPTIONS \
 	$NIX_LISP_EXEC_CODE "(load \"$NIX_LISP_ASDF/lib/common-lisp/asdf/build/asdf.lisp\")" \
 	$NIX_LISP_EXEC_CODE "$NIX_LISP_ASDF_REGISTRY_CODE" \
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index 9641dc305bec..be1f1f93a025 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -6,9 +6,9 @@ stdenv.mkDerivation {
 
   installPhase=''
     mkdir -p "$out"/bin
-    cp ${./cl-wrapper.sh} "$out"/bin/cl-wrapper.sh
     cp ${./common-lisp.sh} "$out"/bin/common-lisp.sh
     substituteAll "${./build-with-lisp.sh}" "$out/bin/build-with-lisp.sh"
+    substituteAll "${./cl-wrapper.sh}" "$out/bin/cl-wrapper.sh"
     chmod a+x "$out"/bin/*
   '';
 
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index e423344fb164..3e51daf0ee8c 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -36,11 +36,11 @@ let lispPackages = rec {
     version = "darcs-2014-11-01";
     description = "Iteration package for Common Lisp";
     deps = [];
-    src = pkgs.fetchdarcs {
+    src = (pkgs.lib.overrideDerivation (pkgs.fetchdarcs {
       url = "http://common-lisp.net/project/iterate/darcs/iterate";
       sha256 = "0gm05s3laiivsqgqjfj1rkz83c2c0jyn4msfgbv6sz42znjpam25";
       context = ./iterate.darcs-context;
-    };
+    }) (x: {SSL_CERT_FILE=pkgs.cacert + "/etc/ca-bundle.crt";}));
     overrides = x: {
       configurePhase="buildPhase(){ true; }";
     };
@@ -52,7 +52,7 @@ let lispPackages = rec {
     description = "A collection of portable public domain utilities";
     deps = [];
     src = pkgs.fetchgit {
-      url = "git://common-lisp.net/projects/alexandria/alexandria.git";
+      url = "https://gitlab.common-lisp.net/alexandria/alexandria.git";
       sha256 = "1d981a243f9d4d3c9fd86cc47698050507ff615b87b9a710449abdb4234e501b";
       rev = ''2b1eb4067fb34bc501e527de75d09166a8ba9ceb'';
     };
@@ -238,7 +238,7 @@ let lispPackages = rec {
         export CL_SOURCE_REGISTRY="$CL_SOURCE_REGISTRY:$out/lib/common-lisp/query-fs"
 	export HOME=$PWD
 	build-with-lisp.sh sbcl \
-	  ":query-fs $(echo "$linkedSystems" | sed -re 's/(^| )([^ :])/:\2/g')" \
+	  ":query-fs $(echo "$linkedSystems" | sed -re 's/(^| )([^ :])/ :\2/g')" \
 	  "$out/bin/query-fs" \
 	  "(query-fs:run-fs-with-cmdline-args)"
       '';
@@ -308,10 +308,10 @@ let lispPackages = rec {
     description = "A UTF-8 encoding library";
     deps = [];
     # Source type: darcs
-    src = pkgs.fetchdarcs {
+    src = (pkgs.lib.overrideDerivation (pkgs.fetchdarcs {
       url = ''http://common-lisp.net/project/trivial-utf-8/darcs/trivial-utf-8/'';
       sha256 = "1jz27gz8gvqdmvp3k9bxschs6d5b3qgk94qp2bj6nv1d0jc3m1l1";
-    };
+    }) (x: {SSL_CERT_FILE=pkgs.cacert + "/etc/ca-bundle.crt";}));
   };
 
   cl-fuse-meta-fs = buildLispPackage rec {
@@ -547,5 +547,18 @@ let lispPackages = rec {
       cvsRoot = '':pserver:anonymous:anonymous@common-lisp.net:/project/cl-smtp/cvsroot'';
     };
   };
+
+  md5 = buildLispPackage rec {
+    baseName = "md5";
+    version = "git-20150415";
+    description = "The MD5 Message-Digest Algorithm RFC 1321";
+    deps = [];
+    # Source type: git
+    src = pkgs.fetchgit {
+      url = ''https://github.com/pmai/md5'';
+      sha256 = "f64d7e36c54da649bb1d574b92cdb907291224fb3d8565b3708703a81820367b";
+      rev = ''9d6f82f7121c87fb7e3b314987ba93900d300dc6'';
+    };
+  };
 };
 in lispPackages
diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix
index f1166d1c3249..00c0d472f9a8 100644
--- a/pkgs/development/ocaml-modules/pgocaml/default.nix
+++ b/pkgs/development/ocaml-modules/pgocaml/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchurl, ocaml, findlib, camlp4, calendar, csv, ocaml_pcre}:
+{ stdenv, fetchurl, ocaml, findlib, camlp4, calendar, csv, ocaml_pcre }:
 
 stdenv.mkDerivation {
-  name = "ocaml-pgocaml-2.1";
+  name = "ocaml-pgocaml-2.2";
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1413/pgocaml-2.1.tgz;
-    sha256 = "0m7whlmhm7z58pfaarvkyiwaylmrz05aj6fr773zd9xlv07ljiym";
+    url = http://forge.ocamlcore.org/frs/download.php/1506/pgocaml-2.2.tgz;
+    sha256 = "0x0dhlz2rqxpwfdqi384f9fn0ng2irifadmxfm2b4gcz7y1cl9rh";
   };
 
-  buildInputs = [ocaml findlib camlp4];
-  propagatedBuildInputs = [calendar csv ocaml_pcre];
+  buildInputs = [ ocaml findlib camlp4 ];
+  propagatedBuildInputs = [ calendar csv ocaml_pcre ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 20fb2ec496b4..b962e9f84727 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -62,10 +62,10 @@ if disabled then throw "${name} not supported for interpreter ${python.executabl
   ] ++ buildInputs ++ pythonPath
     ++ (lib.optional (lib.hasSuffix "zip" attrs.src.name or "") unzip);
 
-  # propagate python to active setup-hook in nix-shell
-  propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader python ];
+  # propagate python/setuptools to active setup-hook in nix-shell
+  propagatedBuildInputs = propagatedBuildInputs ++ [ recursivePthLoader python setuptools ];
 
-  pythonPath = [ setuptools ] ++ pythonPath;
+  pythonPath = pythonPath;
 
   configurePhase = attrs.configurePhase or ''
     runHook preConfigure
diff --git a/pkgs/development/python-modules/generic/wrap.sh b/pkgs/development/python-modules/generic/wrap.sh
index e343536b8fa8..220ddf26b30f 100644
--- a/pkgs/development/python-modules/generic/wrap.sh
+++ b/pkgs/development/python-modules/generic/wrap.sh
@@ -26,12 +26,7 @@ wrapPythonProgramsIn() {
             # dont wrap EGG-INFO scripts since they are called from python
             if echo "$i" | grep -v EGG-INFO/scripts; then
                 echo "wrapping \`$i'..."
-                sed -i "$i" -re '1 {
-                    /^#!/!b; :r
-                    /\\$/{N;b r}
-                    /__future__|^ *(#.*)?$/{n;b r}
-                    /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"'
-                }'
+                sed -i "$i" -re '@magicalSedExpression@'
                 wrapProgram "$i" \
                     --prefix PYTHONPATH ":" $program_PYTHONPATH \
                     --prefix PATH ":" $program_PATH
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index dd0b07912c88..d92cca88d5f5 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl, curl, dmd, gcc, unzip}:
+{stdenv, fetchurl, curl, dmd, gcc, unzip }:
 
 stdenv.mkDerivation {
-  name = "dub-0.9.22";
+  name = "dub-0.9.23";
 
   src = fetchurl {
-    url = "https://github.com/rejectedsoftware/dub/archive/v0.9.22.tar.gz";
-    sha256 = "0vhn96ybbsfflldlbyc17rmwb7bz21slbm189k5glyfr9nnp4cir";
+    url = "https://github.com/D-Programming-Language/dub/archive/v0.9.23.tar.gz";
+    sha256 = "7ecbce89c0e48b43705d7c48003394f383556f33562c4b5d884a786cd85814d1";
   };
 
   buildInputs = [ unzip curl ];
diff --git a/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix b/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
deleted file mode 100644
index 4ce78c31fe2f..000000000000
--- a/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, buildEnv, ghcWithPackages, makeWrapper, ihaskell, ipython, packages }:
-let
-  ihaskellEnv = ghcWithPackages (self: [
-    self.ihaskell
-    self.ihaskell-blaze
-    self.ihaskell-diagrams
-    self.ihaskell-display
-  ] ++ packages self);
-  profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
-  drv = buildEnv {
-    name = "ihaskell-with-packages";
-    paths = [ ihaskellEnv ipython ];
-    postBuild = ''
-    tar xf ${ihaskell.src} ${profile}
-    mkdir -p $out/share/`dirname ${profile}`
-    mkdir profile
-    cd profile
-    tar xf ../${profile}
-    for cfg in ipython_*config.py;do
-      sed -i -e "1iexe = '${ihaskell}/bin/IHaskell'" $cfg
-    done
-    tar cf $out/share/${profile} .
-    wrapProgram "$out/bin/IHaskell" \
-      --prefix PATH : "${ihaskellEnv}/bin:${ipython}/bin" \
-      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
-      --set PROFILE_TAR "$out/share/${profile}" \
-      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] \
-          && mkdir -p \$PROFILE_DIR \
-          && tar xf \$PROFILE_TAR -C \$PROFILE_DIR \
-          ; [ -d \$PROFILE_DIR ] && for cfg in \$PROFILE_DIR/ipython_*config.py;do \
-            sed -i -e '/.*exe.*IHaskell.*/d' \$cfg; sed -i -e \"1iexe = '${ihaskell}/bin/IHaskell'\" \$cfg;done )" \
-      --set GHC_PACKAGE_PATH "\$(echo $out/lib/*/package.conf.d| tr ' ' ':'):" \
-    '';
-  };
-in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
\ No newline at end of file
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index b20f8fa4f507..035ad738a824 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -1,36 +1,23 @@
-{ stdenv, makeWrapper, ihaskell, ipython, ghc }:
-
-stdenv.mkDerivation rec {
-
-  inherit (ihaskell) name pname src version meta;
-
-  buildInputs = [ makeWrapper ];
-
-  preferLocalBuild = true;
-
-  buildCommand = let profile = "${pname}-${version}/profile/profile.tar"; in ''
-    tar xf $src ${profile}
-    mkdir -p $out/share/`dirname ${profile}`
-    mkdir profile
-    cd profile
-    tar xf ../${profile}
-    for cfg in ipython_*config.py;do
-      sed -i -e "1iexe = '${ihaskell}/bin/IHaskell'" $cfg
-    done
-    tar cf $out/share/${profile} .
-    makeWrapper "${ihaskell}/bin/IHaskell" "$out/bin/ihaskell" \
-      --prefix PATH : "${ghc}/bin:${ihaskell}/bin:${ipython}/bin" \
-      --prefix LD_LIBRARY_PATH : "${ihaskell}/lib/ghc-${ghc.version}/${name}/" \
-      --add-flags "--ipython=${ipython}/bin/ipython" \
-      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
-      --set PROFILE_TAR "$out/share/${profile}" \
-      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] \
-          && mkdir -p \$PROFILE_DIR \
-          && tar xf \$PROFILE_TAR -C \$PROFILE_DIR \
-          ; [ -d \$PROFILE_DIR ] && for cfg in \$PROFILE_DIR/ipython_*config.py;do \
-            sed -i -e '/.*exe.*IHaskell.*/d' \$cfg; sed -i -e \"1iexe = '${ihaskell}/bin/IHaskell'\" \$cfg;done ) \
-        " \
-      --prefix GHC_PACKAGE_PATH : "\$(${ghc.GHCGetPackages} ${ghc.version}|sed -e 's, -package-db ,:,g'|cut -b 2-):${ihaskell}/lib/ghc-${ghc.version}/package.conf.d/${pname}-${version}.installedconf" \
-      --set GHC_PACKAGE_PATH "\$GHC_PACKAGE_PATH:" # always end with : to include base packages
+{ stdenv, writeScriptBin, buildEnv, ghcWithPackages, ihaskell, ipython, packages }:
+let
+  ihaskellEnv = ghcWithPackages (self: [
+    self.ihaskell
+    self.ihaskell-blaze
+    self.ihaskell-diagrams
+    self.ihaskell-display
+  ] ++ packages self);
+  ihaskellSh = writeScriptBin "ihaskell-notebook" ''
+    #!/bin/sh
+    export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
+    export PATH="${ihaskell}/bin:${ihaskellEnv}/bin:${ipython}/bin"
+    ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${ipython}/bin/ipython notebook --kernel=haskell
+  '';
+  profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
+in
+buildEnv {
+  name = "ihaskell-with-packages";
+  paths = [ ihaskellEnv ipython ];
+  postBuild = ''
+    ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/.
   '';
 }
diff --git a/pkgs/development/tools/leksah/default.nix b/pkgs/development/tools/leksah/default.nix
new file mode 100644
index 000000000000..24570a9b68eb
--- /dev/null
+++ b/pkgs/development/tools/leksah/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, ghcWithPackages, gtk3, makeWrapper }:
+
+let
+leksahEnv = ghcWithPackages (self: [ self.leksah-server self.leksah ]);
+in stdenv.mkDerivation {
+  name = "leksah";
+
+  buildInputs = [ gtk3 ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildCommand = ''
+    mkdir -p $out/bin
+    makeWrapper ${leksahEnv}/bin/leksah $out/bin/leksah \
+      --prefix PATH : "${leksahEnv}/bin" \
+      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
+  '';
+}
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 64de64dea067..309d20d675b6 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -3,18 +3,18 @@
 let
   libphutil = fetchgit {
     url    = "git://github.com/phacility/libphutil.git";
-    rev    = "ce3959b4046f5dcc4f3413a59328bda2a42e76b0";
-    sha256 = "3c206b428fa5e0391868f7782db4af4d1cf2f338899831a36771cef74db14a76";
+    rev    = "efc338d50f17dec594a66337034797c90c8b10c1";
+    sha256 = "9a9df8667d9bf31667facd1cd873adef292c63893adc15d32bd819c47256027c";
   };
   arcanist = fetchgit {
     url    = "git://github.com/phacility/arcanist.git";
-    rev    = "b961869edac9469be93f2c3ac7a24562d3186860";
-    sha256 = "2ae1272c76a1e2bdedd87d453ddb75f6110f9224063e7ee39e88fcb8b3b4c884";
+    rev    = "e101496508e279e1b9ee15d7d549735a0352f8ab";
+    sha256 = "4f2ae195173d859f9920378c42e257d70e5720b7f54c02d9af2c398f936f20b9";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20150318";
+  version = "20150412";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index b24b46aec3d7..16ab1f8e5dc4 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -8,7 +8,7 @@
 
 let
 
-  basename = "gdb-7.8.2";
+  basename = "gdb-7.9";
 
   # Whether (cross-)building for GNU/Hurd.  This is an approximation since
   # having `stdenv ? cross' doesn't tell us if we're building `crossDrv' and
@@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnu/gdb/${basename}.tar.xz";
-    sha256 = "11a4fj1vpsny71kz7xqqbqk3kgzbs5cfjj3z9gm0hpvxfkam8nb0";
+    sha256 = "14l3hhsy7fmpn2dk7ivc67gnbjdhkxlq90kxijpzfa35l58mcccv";
   };
 
-  patches = [ ./edit-signals.patch ];
+  # patches = [ ./edit-signals.patch ];
 
   # I think python is not a native input, but I leave it
   # here while I will not need it cross building
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
 
   postInstall =
     '' # Remove Info files already provided by Binutils and other packages.
-       rm -v $out/share/info/{standards,configure,bfd}.info
+       rm -v $out/share/info/bfd.info
     '';
 
   # TODO: Investigate & fix the test failures.
diff --git a/pkgs/development/tools/misc/gdb/edit-signals.patch b/pkgs/development/tools/misc/gdb/edit-signals.patch
deleted file mode 100644
index e9da8035ef5b..000000000000
--- a/pkgs/development/tools/misc/gdb/edit-signals.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Patch adapted from
-https://www.sourceware.org/ml/gdb-patches/2012-08/msg00439.html
-
-Without it, spawning a terminal 'vim' from gdb 'edit' cmd, makes
-all gdb grazy.
-
-diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
-index 7ea0fec..be5455c 100644
---- a/gdb/tui/tui-win.c
-+++ b/gdb/tui/tui-win.c
-@@ -831,11 +831,12 @@ void
- tui_initialize_win (void)
- {
- #ifdef SIGWINCH
--#ifdef HAVE_SIGACTION
-+#if defined (HAVE_SIGACTION) && defined (SA_RESTART)
-   struct sigaction old_winch;
- 
--  memset (&old_winch, 0, sizeof (old_winch));
-+  sigemptyset (&old_winch.sa_mask);
-   old_winch.sa_handler = &tui_sigwinch_handler;
-+  old_winch.sa_flags = SA_RESTART;
-   sigaction (SIGWINCH, &old_winch, NULL);
- #else
-   signal (SIGWINCH, &tui_sigwinch_handler);
diff --git a/pkgs/development/web/iojs/default.nix b/pkgs/development/web/iojs/default.nix
index c05189213834..45586c1e9bd7 100644
--- a/pkgs/development/web/iojs/default.nix
+++ b/pkgs/development/web/iojs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, python, utillinux, openssl, http-parser, zlib, libuv, nightly ? false }:
 
 let
-  version = if nightly then "1.5.2-nightly201503173c8ae2d934" else "1.5.1";
+  version = if nightly then "1.6.5-nightly20150409ff74931107" else "1.6.4";
   inherit (stdenv.lib) optional maintainers licenses platforms;
 in stdenv.mkDerivation {
   name = "iojs-${version}";
@@ -11,8 +11,8 @@ in stdenv.mkDerivation {
           then "https://iojs.org/download/nightly/v${version}/iojs-v${version}.tar.gz"
           else "https://iojs.org/dist/v${version}/iojs-v${version}.tar.gz";
     sha256 = if nightly
-             then "10blf1hr80fknrzyrbj7qy2xn7wilnyn6y2r7ijrw2gns4ia3d0h"
-             else "0zdxdb9n0yk6dp6j6x3bka7vrnf7kz8jjcpl6fw5fr9f742s9s26";
+             then "04f7r4iv8p0jfylw4sxg3vsv14rbsi6n9hbqnwvdh6554yrm6d35"
+             else "1qzvf7g457dppzxn23wppjcm09vh1n6bhsvz5szhwgjvl0iv2pc7";
   };
 
   prePatch = ''
diff --git a/pkgs/development/web/iojs/update-iojs b/pkgs/development/web/iojs/update-iojs
index 3140c5e842b4..4e01ecfd63e0 100755
--- a/pkgs/development/web/iojs/update-iojs
+++ b/pkgs/development/web/iojs/update-iojs
@@ -3,6 +3,8 @@
 # Fetch the latest io.js release (stable/nightly) and update
 # `default.nix` in this directory.
 #
+# Call this from the root of your nixpkgs directory.
+#
 
 set -e
 
@@ -21,12 +23,13 @@ latest_log() {
 }
 
 url() {
-    nix-instantiate -A "$1" 2> /dev/null | xargs cat \
+    nix-instantiate -A "$1" \
+        | xargs cat \
         | sed 's/.*"urls","//;s/".*//'
 }
 
 hash() {
-    nix-prefetch-url "$1" 2> /dev/null
+    nix-prefetch-url "$1"
 }
 
 hash_log() {
diff --git a/pkgs/games/bastet/default.nix b/pkgs/games/bastet/default.nix
new file mode 100644
index 000000000000..a729a5b014f3
--- /dev/null
+++ b/pkgs/games/bastet/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, ncurses, boost }:
+
+stdenv.mkDerivation rec {
+  name = "bastet-${version}";
+  version = "0.43.1";
+  buildInputs = [ ncurses boost ];
+
+  src = fetchFromGitHub {
+    owner = "fph";
+    repo = "bastet";
+    rev = version;
+    sha256 = "14ymdarx30zqxyixvb17h4hs57y6zfx0lrdvc200crllz8zzdx5z";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"/bin
+    cp bastet "$out"/bin/
+    mkdir -p "$out"/share/man/man6
+    cp bastet.6 "$out"/share/man/man6
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tetris clone with 'bastard' block-choosing AI";
+    homepage = http://fph.altervista.org/prog/bastet.html;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.dezgeg ];
+  };
+}
diff --git a/pkgs/games/simutrans/default.nix b/pkgs/games/simutrans/default.nix
index e913b0bb2a8a..854f9595a7d2 100644
--- a/pkgs/games/simutrans/default.nix
+++ b/pkgs/games/simutrans/default.nix
@@ -1,90 +1,154 @@
-{ stdenv, fetchurl, unzip, zlib, libpng, bzip2, SDL, SDL_mixer, makeWrapper } :
+{ stdenv, fetchurl, pkgconfig, unzip, zlib, libpng, bzip2, SDL, SDL_mixer
+, buildEnv, config
+}:
 
 let
-  result = withPak (mkPak pak128);
-
-  ver_1 = "112";
-  ver_2 = "3";
-  ver_h2 = "${ver_1}-${ver_2}";
-
-  # "pakset" of objects, images, text, music, etc.
-  mkPak = src: stdenv.mkDerivation {
-    name = "simutrans-pakset";
-    inherit src;
-    unpackPhase = "true";
-    buildInputs = [ unzip ];
-    installPhase = ''
-      mkdir -p $out
-      cd $out
-      unzip ${src}
-      mv simutrans/*/* .
-      rm -rf simutrans
-    '';
+  # Choose your "paksets" of objects, images, text, music, etc.
+  paksets = config.simutrans.paksets or "pak64 pak128";
+
+  result = with stdenv.lib; withPaks (
+    if paksets == "*" then attrValues pakSpec # taking all
+      else map (name: pakSpec.${name}) (splitString " " paksets)
+  );
+
+  ver1 = "120";
+  ver2 = "0";
+  ver3 = "1";
+  version =   "${ver1}.${ver2}.${ver3}";
+  ver_dash =  "${ver1}-${ver2}-${ver3}";
+  ver2_dash = "${ver1}-${ver2}";
+
+  binary_src = fetchurl {
+    url = "mirror://sourceforge/simutrans/simutrans/${ver_dash}/simutrans-src-${ver_dash}.zip";
+    sha256 = "10rn259nxq2hhfpar8zwgxi1p4djvyygcm2f6qhih7l9clvnw2h1";
   };
-  pak64 = fetchurl {
-    url = "mirror://sourceforge/simutrans/pak64/${ver_h2}/simupak64-${ver_h2}.zip";
-    sha256 = "1ng963n2gvnwmsj73iy3gp9i5iqf5g6qk1gh1jnfm86gnjrsrq4m";
-  };
-  pak128 = fetchurl {
-    url = "mirror://sourceforge/simutrans/pak128/pak128%20for%20${ver_1}/pak128-2.3.0--${ver_1}.2.zip";
-    sha256 = "0jcif6mafsvpvxh1njyd6z2f6sab0fclq3f3nlg765yp3i1bfgff";
+
+
+  # As of 2015/03, many packsets still didn't have a release for version 120.
+  pakSpec = stdenv.lib.mapAttrs
+    (pakName: attrs: mkPak (attrs // {inherit pakName;}))
+  {
+    pak64 = {
+      srcPath = "${ver2_dash}/simupak64-${ver_dash}";
+      sha256 = "0y5v1ncpjyhjkkznqmk13kg5d0slhjbbvg1y8q5jxhmhlkghk9q2";
+    };
+    "pak64.japan" = {
+      srcPath = "${ver2_dash}/simupak64.japan-${ver_dash}";
+      sha256 = "14swy3h4ij74bgaw7scyvmivfb5fmp21nixmhlpk3mav3wr3167i";
+    };
+
+    pak128 = {
+      srcPath = "pak128%20for%20ST%20120%20%282.5.2%2B%20nightly%20r1560%2C%20bugfixes%29/pak128-r1560--ST120";
+      sha256 = "1wd51brc4aglqi3w7s8fxgxrw0k7f653w4wbnmk83k07fwfdyf24";
+    };
+    "pak128.britain" = {
+      srcPath = "pak128.Britain%20for%20${ver2_dash}/pak128.Britain.1.16-${ver2_dash}";
+      sha256 = "1rww9rnpk22l2z3s1d7y2gmd6iwhv72s7pff8krnh7z0q386waak";
+    };
+    "pak128.cs" = { # note: it needs pak128 to work
+      url = "mirror://sourceforge/simutrans/Pak128.CS/pak128.cz_v.0.2.1.zip";
+      sha256 = "008d8x1s0vxsq78rkczlnf57pv1n5hi1v5nbd1l5w3yls7lk11sc";
+    };
+    "pak128.german" = {
+      url = "mirror://sourceforge/simutrans/PAK128.german/"
+        + "PAK128.german_0.7_${ver1}.x/PAK128.german_0.7.0.1_${ver1}.x.zip";
+      sha256 = "1575akms18raxaijy2kfyqm07wdx6y5q85n7wgvq2fqydrnx33w8";
+    };
+
+    /* This release contains accented filenames that prevent unzipping.
+    "pak192.comic" = {
+      srcPath = "pak192comic%20for%20${ver2_dash}/pak192comic-0.4-${ver2_dash}up";
+      sha256 = throw "";
+    };
+    */
   };
 
-  withPak = pak: stdenv.mkDerivation {
+
+  mkPak = {
+    sha256, pakName, srcPath ? null
+    , url ? "mirror://sourceforge/simutrans/${pakName}/${srcPath}.zip"
+  }:
+    stdenv.mkDerivation {
+      name = "simutrans-${pakName}";
+      unpackPhase = "true";
+      installPhase = let src = fetchurl { inherit url sha256; };
+      in ''
+        mkdir -p "$out/share/simutrans/${pakName}"
+        cd "$out/share/simutrans/${pakName}"
+        "${unzip}/bin/unzip" "${src}"
+        chmod -R +w . # some zipfiles need that
+
+        set +o pipefail # no idea why it's needed
+        toStrip=`find . -iname '*.pak' | head -n 1 | sed 's|\./\(.*\)/[^/]*$|\1|'`
+        echo "Detected path '$toStrip' to strip"
+        mv ./"$toStrip"/* .
+        rmdir -p "$toStrip"
+      '';
+    };
+
+  /* The binaries need all data in one directory; the default is directory
+      of the executable, and another option is the current directory :-/ */
+  withPaks = paks: buildEnv {
     inherit (binaries) name;
-    unpackPhase = "true";
-    buildInputs = [ makeWrapper ];
-    installPhase = ''makeWrapper "${binaries}/bin/simutrans" "$out/bin/simutrans" --add-flags -objects --add-flags "${pak}"'';
-    inherit (binaries) meta;
+    paths = [binaries] ++ paks;
+    postBuild = ''
+      rm "$out/bin" && mkdir "$out/bin"
+      cat > "$out/bin/simutrans" <<EOF
+      #!${stdenv.shell}
+      cd "$out"/share/simutrans
+      exec "${binaries}/bin/simutrans" -use_workdir "\''${extraFlagsArray[@]}" "\$@"
+      EOF
+      chmod +x "$out/bin/simutrans"
+    '';
+
+    passthru.meta = binaries.meta // { hydraPlatforms = []; };
+    passthru.binaries = binaries;
   };
 
   binaries = stdenv.mkDerivation rec {
-    pname = "simutrans";
-    name = "${pname}-${ver_1}.${ver_2}";
+    name = "simutrans-${version}";
 
-    src = fetchurl {
-      url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simutrans-src-${ver_h2}.zip";
-      sha256 = "0jdq2krfj3qsh8dks9ixsdvpyjq9yi80p58b0xjpsn35mkbxxaca";
-    };
+    src = binary_src;
 
-    # this resource is needed since 112.2 because the folders in simutrans directory has been removed from source code
-    resources = fetchurl {
-      url = "mirror://sourceforge/simutrans/simutrans/${ver_h2}/simulinux-${ver_h2}.zip";
-      sha256 = "14ly341pdkr8r3cd0q49w424m79iz38iaxfi9l1yfcxl8idkga1c";
-    };
     sourceRoot = ".";
 
-    buildInputs = [ zlib libpng bzip2 SDL SDL_mixer unzip ];
-
-    preConfigure = ''
-      # Configuration as per the readme.txt
-      sed \
-        -e 's@#BACKEND = sdl@BACKEND = sdl@' \
-        -e 's@#COLOUR_DEPTH = 16@COLOUR_DEPTH = 16@' \
-        -e 's@#OSTYPE = linux@OSTYPE = linux@' \
-        < config.template > config.default
-
-      # Different default data dir
-      sed -i -e 's:argv\[0\]:"'$out'/share/simutrans/":' \
-        simmain.cc
+    buildInputs = [ pkgconfig zlib libpng bzip2 SDL SDL_mixer unzip ];
+
+    configurePhase = let
+      # Configuration as per the readme.txt and config.template
+      platform =
+        if stdenv.isLinux then "linux" else
+        if stdenv.isDarwin then "mac" else throw "add your platform";
+      config = ''
+        BACKEND = mixer_sdl
+        COLOUR_DEPTH = 16
+        OSTYPE = ${platform}
+        VERBOSE = 1
+      '';
+      #TODO: MULTI_THREAD = 1 is "highly recommended",
+      # but it's roughly doubling CPU usage for me
+    in ''
+      echo "${config}" > config.default
 
-      # Use ~/.simutrans instead of ~/simutrans ##not working
-      #sed -i -e 's@%s/simutrans@%s/.simutrans@' simsys_s.cc
+      # Use ~/.simutrans instead of ~/simutrans
+      substituteInPlace simsys.cc --replace '%s/simutrans' '%s/.simutrans'
 
-      # No optimization overriding
-      sed -i -e '/-O$/d' Makefile
+      # use -O2 optimization (defaults are -O or -O3)
+      sed -i -e '/CFLAGS += -O/d' Makefile
+      export CFLAGS+=-O2
     '';
 
+    enableParallelBuilding = true;
+
     installPhase = ''
       mkdir -p $out/share/
       mv simutrans $out/share/
-      unzip -o ${resources} -d $out/share/
 
       mkdir -p $out/bin/
       mv build/default/sim $out/bin/simutrans
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       description = "A simulation game in which the player strives to run a successful transport system";
       longDescription = ''
         Simutrans is a cross-platform simulation game in which the
@@ -94,10 +158,11 @@ let
       '';
 
       homepage = http://www.simutrans.com/;
-      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ stdenv.lib.maintainers.kkallio ];
-      platforms = stdenv.lib.platforms.linux;
+      license = with licenses; [ artistic1 gpl1Plus ];
+      maintainers = with maintainers; [ kkallio vcunat ];
+      platforms = with platforms; linux ++ darwin;
     };
   };
 
 in result
+
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 3aa23ffd0e8c..21e6a28cf857 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 assert stdenv.isi686;
 stdenv.mkDerivation {
-  name = "tibia-10.76";
+  name = "tibia-10.77";
 
   src = fetchurl {
-    url = http://static.tibia.com/download/tibia1076.tgz;
-    sha256 = "1kzsbrravk8lmpirghhsynnygmcig8jkbw6qfzk1fkabi1d02yrv";
+    url = http://static.tibia.com/download/tibia1077.tgz;
+    sha256 = "1qz2a25irzhdwh4swwcfz4g37f1j3cxhm9c43yl763bvc718ikly";
   };
 
   shell = stdenv.shell;
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index 9db82d722d27..ba8245bb7006 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -8,11 +8,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xonotic-0.7.0";
+  name = "xonotic-0.8.0";
 
   src = fetchurl {
     url = "http://dl.xonotic.org/${name}.zip";
-    sha256 = "21a5fb5493c269cd3843789cb8598f952d4196e8bc71804b9bd5808b646542c6";
+    sha256 = "0w336750sq8nwqljlcj3znk4iaj3nvn6id144d7j72vsh84ci1qa";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 269f0df10901..8043cbb1506e 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig
-, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash }:
+, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash, avahi }:
 
 stdenv.mkDerivation rec {
   name = "cups-filters-${version}";
@@ -26,14 +26,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig cups poppler poppler_utils fontconfig libjpeg libpng perl
-    ijs qpdf dbus
+    ijs qpdf dbus avahi
   ];
 
-  preBuild = ''
-    substituteInPlace Makefile --replace "/etc/rc.d" "$out/etc/rc.d"
-  '';
-
-  configureFlags = "--with-pdftops=pdftops --enable-imagefilters";
+  configureFlags = "--with-pdftops=pdftops --enable-imagefilters --with-rcdir=no";
 
   makeFlags = "CUPS_SERVERBIN=$(out)/lib/cups CUPS_DATADIR=$(out)/share/cups CUPS_SERVERROOT=$(out)/etc/cups";
 
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index c2a4c7d3d8b8..fb79b3379bdc 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,16 +1,36 @@
-{stdenv, fetchurl, unzip, zlib, SDL}:
+{ stdenv, fetchurl
+, unzip, zlib, SDL, readline, mesa, libX11 }:
 
-stdenv.mkDerivation {
-  name = "atari800-2.2.1";
+with stdenv.lib;
+stdenv.mkDerivation rec{
+  name = "atari800-${version}";
+  version = "3.1.0";
   builder = ./builder.sh;
+
   src = fetchurl {
-    url = mirror://sourceforge/atari800/atari800-2.2.1.tar.gz;
-    sha256 = "0gkhlb3jc0rd7fcqjm41877fsqr7als3a0n552qmnjzrlcczf5yz";
+    url = "mirror://sourceforge/atari800/atari800/${version}/${name}.tar.gz";
+    sha256 = "030yz5l1wyq9l0dmiimiiwpzrjr43whycd409xhhpnrdx76046wh";
   };
+
   rom = fetchurl {
-    url = mirror://sourceforge/atari800/xf25.zip;
+    url = http://downloads.sourceforge.net/project/atari800/ROM/Original%20XL%20ROM/xf25.zip;
     sha256 = "12jbawxs04i0wm3910n7f3phsybdp8nndxc0xlsnzp8k0k8hmblq";
   };
-  buildInputs = [unzip zlib SDL];
-  configureFlags = "--target=sdl";
+
+  buildInputs = [ unzip zlib SDL readline mesa libX11 ];
+
+  configureFlags = "--target=default --with-video=sdl --with-sound=sdl --with-readline --with-opengl --with-x --enable-riodevice";
+
+  meta = {
+    homepage = "http://atari800.sourceforge.net/";
+    description = "An Atari 8-bit emulator";
+    longDescription = ''
+      Atari800 is the emulator of Atari 8-bit computer systems and
+      5200 game console for Unix, Linux, Amiga, MS-DOS, Atari
+      TT/Falcon, MS-Windows, MS WinCE, Sega Dreamcast, Android and
+      other systems supported by the SDL library.
+    '';
+    maintainers = [ maintainers.AndersonTorres ];
+    license = licenses.gpl2Plus;    
+  };    
 }
diff --git a/pkgs/misc/gxemul/default.nix b/pkgs/misc/emulators/gxemul/default.nix
index 8538932339c0..1e4827942b95 100644
--- a/pkgs/misc/gxemul/default.nix
+++ b/pkgs/misc/emulators/gxemul/default.nix
@@ -1,12 +1,24 @@
 { stdenv, composableDerivation, fetchurl }:
 
 let edf = composableDerivation.edf;
-    name = "gxemul-0.4.6";
+    version = "0.6.0.1";
+    name = "gxemul-${version}";
 in
 
 composableDerivation.composableDerivation {} {
   inherit name;
-  
+
+  src = fetchurl {
+    url = "http://gavare.se/gxemul/src/${name}.tar.gz";
+    sha256 = "1afd9l0igyv7qgc0pn3rkdgrl5d0ywlyib0qhg4li23zilyq5407";
+  };
+
+  configurePhase = "./configure";
+
+  installPhase = "mkdir -p \$out/bin; cp gxemul \$out/bin;";
+
+  mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
+
   flags = {
     doc   = { installPhase = "mkdir -p \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; };
     demos = { installPhase = "mkdir -p \$out/share/${name}; cp -r demos \$out/share/${name};"; };
@@ -19,20 +31,19 @@ composableDerivation.composableDerivation {} {
     manSupport = true;
   };
 
-  installPhase = "mkdir -p \$out/bin; cp gxemul \$out/bin;";
-
-  src = fetchurl {
-    url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz;
-    sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3";
-  };
-
-  configurePhase = "./configure";
-
   meta = {
     license = stdenv.lib.licenses.bsd3;
-    description = "A Machine Emulator, mainly emulates MIPS, but supports other CPU types";
+    description = "Gavare's experimental emulator";
+    longDescription = ''
+      GXemul is a framework for full-system computer architecture
+      emulation. Several real machines have been implemented within the
+      framework, consisting of processors (ARM, MIPS, Motorola 88K,
+      PowerPC, and SuperH) and surrounding hardware components such as
+      framebuffers, interrupt controllers, busses, disk controllers,
+      and serial controllers. The emulation is working well enough to
+      allow several unmodified "guest" operating systems to run.
+    '';
     homepage = http://gxemul.sourceforge.net/;
   };
 
-  mergeAttrBy = { installPhase = a : b : "${a}\n${b}"; };
 }
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 1e7d908fd955..f635e0f149bb 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
 
-  name = "xlockmore-5.45";
+  name = "xlockmore-5.46";
   src = fetchurl {
-    url = "http://www.tux.org/~bagleyd/xlock/${name}/${name}.tar.bz2";
-    sha256 = "1xqm61bbfn5q056w57vp16gvai8nqpcw570ysxlm5h46nh6ai0bz";
+    url = "http://www.tux.org/~bagleyd/xlock/${name}.tar.xz";
+    sha256 = "1ps0dmnh912x8mwns94y2607xk90rjxrjn5s1pkmmpjg5h9bxcrj";
   };
 
   # Optionally, it can use GTK+.
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index 7ab4a9197868..9f6fc98b5cf3 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -1,18 +1,18 @@
 {stdenv, fetchurl, alsaLib, gettext, ncurses, libsamplerate}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-utils-1.0.28";
+  name = "alsa-utils-${version}";
+  version = "1.0.29";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"
       "http://alsa.cybermirror.org/utils/${name}.tar.bz2"
     ];
-    sha256 = "1k1ach1jv0bf71klj9sqaijnw9wjrjad0g5in6bpfnhjn24lrzzk";
+    sha256 = "16ryhgbapp4pxyvsjc258mcj14wk7x3xs6g9bpnkqj0l7s7haq2i";
   };
 
-  buildInputs = [ alsaLib ncurses libsamplerate ];
-  nativeBuildInputs = [ gettext ];
+  buildInputs = [ gettext alsaLib ncurses libsamplerate ];
 
   configureFlags = "--disable-xmlto --with-udev-rules-dir=$(out)/lib/udev/rules.d";
 
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.AndersonTorres ];
   };
 }
diff --git a/pkgs/os-specific/linux/checksec/default.nix b/pkgs/os-specific/linux/checksec/default.nix
index 4701d774dfdc..b423dc3a0862 100644
--- a/pkgs/os-specific/linux/checksec/default.nix
+++ b/pkgs/os-specific/linux/checksec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, file, findutils, elfutils, glibc }:
+{ stdenv, fetchurl, file, findutils, binutils, glibc, procps, coreutils }:
 
 stdenv.mkDerivation rec {
   name = "checksec-${version}";
@@ -25,9 +25,11 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/checksec --replace find ${findutils}/bin/find
     substituteInPlace $out/bin/checksec --replace "file $" "${file}/bin/file $"
     substituteInPlace $out/bin/checksec --replace "xargs file" "xargs ${file}/bin/file"
-    substituteInPlace $out/bin/checksec --replace " readelf -" " ${elfutils}/bin/readelf -"
-    substituteInPlace $out/bin/checksec --replace "(readelf -" "(${elfutils}/bin/readelf -"
-    substituteInPlace $out/bin/checksec --replace "command_exists readelf" "command_exists ${elfutils}/bin/readelf"
+    substituteInPlace $out/bin/checksec --replace " readelf -" " ${binutils}/bin/readelf -"
+    substituteInPlace $out/bin/checksec --replace "(readelf -" "(${binutils}/bin/readelf -"
+    substituteInPlace $out/bin/checksec --replace "command_exists readelf" "command_exists ${binutils}/bin/readelf"
+    substituteInPlace $out/bin/checksec --replace "/sbin/sysctl -" "${procps}/sbin/sysctl -"
+    substituteInPlace $out/bin/checksec --replace "/usr/bin/id -" "${coreutils}/bin/id -"
   '';
 
   phases = "unpackPhase patchPhase installPhase";
diff --git a/pkgs/os-specific/linux/kernel/grsec-path.patch b/pkgs/os-specific/linux/kernel/grsec-path.patch
index aaf7d80dc919..6f477c22b5ee 100644
--- a/pkgs/os-specific/linux/kernel/grsec-path.patch
+++ b/pkgs/os-specific/linux/kernel/grsec-path.patch
@@ -1,18 +1,17 @@
 diff --git a/kernel/kmod.c b/kernel/kmod.c
-index a26e825..29baec1 100644
+index a689506..30747b4 100644
 --- a/kernel/kmod.c
 +++ b/kernel/kmod.c
-@@ -294,10 +294,9 @@ static int ____call_usermodehelper(void *data)
+@@ -294,10 +294,8 @@ static int ____call_usermodehelper(void *data)
  	   out the path to be used prior to this point and are now operating
  	   on that copy
  	*/
 -	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/usr/lib/", 9) &&
 -	     strncmp(sub_info->path, "/lib/", 5) && strncmp(sub_info->path, "/lib64/", 7) &&
--	     strncmp(sub_info->path, "/usr/libexec/", 13) &&
+-	     strncmp(sub_info->path, "/usr/libexec/", 13) && strncmp(sub_info->path, "/usr/bin/", 9) &&
 -	     strcmp(sub_info->path, "/usr/share/apport/apport")) || strstr(sub_info->path, "..")) {
-+        if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
-+             strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) ||
-+             strstr(sub_info->path, "..")) {
- 		printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of /sbin and system library paths\n", sub_info->path);
++	if ((strncmp(sub_info->path, "/sbin/", 6) && strncmp(sub_info->path, "/nix/store/", 11) &&
++	     strncmp(sub_info->path, "/run/current-system/systemd/lib/", 32)) || strstr(sub_info->path, "..")) {
+ 		printk(KERN_ALERT "grsec: denied exec of usermode helper binary %.950s located outside of permitted system paths\n", sub_info->path);
  		retval = -EPERM;
  		goto out;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 853b784a3357..09329fd0c243 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.73";
+  version = "3.10.74";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0xy8738sdbw7lbqwkmbhr2zghva5nyfqq163r6jmjr6cfw116kin";
+    sha256 = "0s28qzjnvngy7z2i17ly0hiszp1vf11sajx5b1nd8vj8a355iwj5";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 951b55c2f35a..bd8c7d99daae 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.39";
+  version = "3.12.40";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0svd2rnkrzpmnrv5qd5vfz4wkff6973s68zg5a1blmjs4p5asvl6";
+    sha256 = "1cdivv1n0r057y2wq38ci00im8z24jrnvyz5vwhmnzv0l4qzbhw5";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 8289235cd6ec..07734070d293 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,22 +1,15 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.37";
+  version = "3.14.38";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1pq4i97vys38rl8ylx4s08qgh9yz3cl840j1f70yzakmc2017byc";
+    sha256 = "015h75g91zf6g02c9jgw19vy18nmmlvw10kxnvzcw5awds532yp0";
   };
 
-  # FIXME: remove with the next point release.
-  kernelPatches = args.kernelPatches ++
-    [ { name = "btrfs-fix-deadlock";
-        patch = ./btrfs-fix-deadlock.patch;
-      }
-    ];
-
   features.iwlwifi = true;
   features.efiBootStub = true;
   features.needsCifsUtils = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.19.nix b/pkgs/os-specific/linux/kernel/linux-3.19.nix
index e42775f03565..548b010f870b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.19.nix
@@ -1,22 +1,15 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.19.3";
+  version = "3.19.4";
   # Remember to update grsecurity!
   extraMeta.branch = "3.19";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0nis1r9fg562ysirzlyvfxvirpcfhxhhpfv3s13ccz20qiqiy46f";
+    sha256 = "1qrsllzr8qhssd71vxgs1ga16lbz7cw85w50j4rl3l2g83z83cli";
   };
 
-  # FIXME: remove with the next point release.
-  kernelPatches = args.kernelPatches ++
-    [ { name = "btrfs-fix-deadlock";
-        patch = ./btrfs-fix-deadlock.patch;
-      }
-    ];
-
   features.iwlwifi = true;
   features.efiBootStub = true;
   features.needsCifsUtils = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.0.nix b/pkgs/os-specific/linux/kernel/linux-4.0.nix
new file mode 100644
index 000000000000..b63aa7e9932f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.0.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, ... } @ args:
+
+import ./generic.nix (args // rec {
+  version = "4.0";
+  modDirVersion = "4.0.0";
+  extraMeta.branch = "4.0";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
+    sha256 = "14argl6ywkggdvgiycfx4jl2d7290f631ly59wfggj4vjx27sbqg";
+  };
+
+  features.iwlwifi = true;
+  features.efiBootStub = true;
+  features.needsCifsUtils = true;
+  features.canDisableNetfilterConntrackHelpers = true;
+  features.netfilterRPFilter = true;
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 0b17c44be988..77c0706d96c5 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -65,17 +65,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.37";
-      revision  = "201504051405";
+    { kversion  = "3.14.38";
+      revision  = "201504142259";
       branch    = "stable";
-      sha256    = "0w1rz5g4wwd22ivii7m7qjgakdynzjwpqxiydx51kiw5j0avkzs3";
+      sha256    = "0zk3fzb2abmllg75dir7g44k1bxi5i88adnnqrfrpbyk1519zghs";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.19.3";
-      revision  = "201504021826";
+    { kversion  = "3.19.4";
+      revision  = "201504142300";
       branch    = "test";
-      sha256    = "0r3gsha4x9bkzg9n4rcwzi9f3hkbqrf8yga1dd83kyd10fns4lzm";
+      sha256    = "19ag03l5bsg6c86q05gfl3nmqqpn49cvwq7gdpn7qzgjqg4n74kz";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/libcgroup/default.nix b/pkgs/os-specific/linux/libcgroup/default.nix
index 6323d8c4f23a..b51211e9aaf8 100644
--- a/pkgs/os-specific/linux/libcgroup/default.nix
+++ b/pkgs/os-specific/linux/libcgroup/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pam, yacc, flex }:
 
 stdenv.mkDerivation rec {
-  name = "libcgroup-0.38";
+  name    = "libcgroup-${version}";
+  version = "0.41";
 
   src = fetchurl {
     url = "mirror://sourceforge/libcg/${name}.tar.bz2";
-    sha256 = "0zw6144jlvzx0hasl4b07vjfa4lm12jaax6zzkljzxlmifjd2djx";
+    sha256 = "0lgvyq37gq84sk30sg18admxaj0j0p5dq3bl6g74a1ppgvf8pqz4";
   };
 
-  buildInputs = [ pam ];
-
-  nativeBuildInputs = [ yacc flex ];
+  buildInputs = [ pam yacc flex ];
 
   meta = {
-    description = "Library and tools to manage Linux's cgroup resource management system";
-    homepage = http://libcg.sourceforge.net/;
-    license = "LGPL";
-    platforms = stdenv.lib.platforms.linux;
+    description = "Library and tools to manage Linux cgroups";
+    homepage    = "http://libcg.sourceforge.net/";
+    license     = stdenv.lib.licenses.lgpl2;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 4e13aa2687c6..1367be74c636 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,14 +1,14 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "0.6.3-1.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "spl";
     rev = "spl-${version}";
-    sha256 = "1d4gdlkhshlyfkswbqx06fhs8m5lxgk3vhds6g7ipd3q93ngrczx";
+    sha256 = "1jja3aqkm2whb4rcw5k5dr9c4gx6hax1w3f82fb9ks2sy731as6r";
   };
 
-  patches = [ ./install_prefix.patch ./const.patch ];
+  patches = [ ./const.patch ./install_prefix.patch ];
 })
diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix
index e60af32ea910..7559562965d2 100644
--- a/pkgs/os-specific/linux/spl/git.nix
+++ b/pkgs/os-specific/linux/spl/git.nix
@@ -1,13 +1,13 @@
 { callPackage, fetchgit, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-04-03";
+  version = "2015-04-08";
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/spl.git;
-    rev = "ae26dd003911277e0c7134b3e4e3a41c300a2fd5";
-    sha256 = "0wq1raz68b9msbn00q1zg89rm5l7l2018k7m31s4b4gj17w38h5b";
+    rev = "cd69f020e4b0f9c416dd07a264e48c9488a7633f";
+    sha256 = "1fy5zlh8cs65s52vixkp00ihrlrhs2frd6vwxwjqmpzyb7fnh3m8";
   };
 
-  patches = [ ./const.patch ./install_prefix-git.patch ];
+  patches = [ ./const.patch ./install_prefix.patch ];
 })
diff --git a/pkgs/os-specific/linux/spl/install_prefix-git.patch b/pkgs/os-specific/linux/spl/install_prefix-git.patch
deleted file mode 100644
index 0f12f531f7ae..000000000000
--- a/pkgs/os-specific/linux/spl/install_prefix-git.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 89af931..674420c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -12,10 +12,10 @@ endif
- if CONFIG_KERNEL
- SUBDIRS += module
- 
--extradir = @prefix@/src/spl-$(VERSION)
-+extradir = @prefix@/libexec/spl
- extra_HEADERS = spl.release.in spl_config.h.in
- 
--kerneldir = @prefix@/src/spl-$(VERSION)/$(LINUX_VERSION)
-+kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
- nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
- endif
- 
-diff --git a/include/Makefile.am b/include/Makefile.am
-index 3200222..4a47aaa 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -13,6 +13,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include
-+kerneldir = @prefix@/libexec/spl/include
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/fs/Makefile.am b/include/fs/Makefile.am
-index e0da4b3..d6d7af0 100644
---- a/include/fs/Makefile.am
-+++ b/include/fs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/fs
-+kerneldir = @prefix@/libexec/spl/include/fs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index 1cca44a..e0d843b 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -19,6 +19,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/linux
-+kerneldir = @prefix@/libexec/spl/include/linux
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/rpc/Makefile.am b/include/rpc/Makefile.am
-index cfc8246..4fbd33d 100644
---- a/include/rpc/Makefile.am
-+++ b/include/rpc/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/rpc
-+kerneldir = @prefix@/libexec/spl/include/rpc
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sharefs/Makefile.am b/include/sharefs/Makefile.am
-index 10e7093..febecdf 100644
---- a/include/sharefs/Makefile.am
-+++ b/include/sharefs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sharefs
-+kerneldir = @prefix@/libexec/spl/include/sharefs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
-index 2d21c57..3958cfd 100644
---- a/include/sys/Makefile.am
-+++ b/include/sys/Makefile.am
-@@ -104,7 +104,7 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys
-+kerneldir = @prefix@/libexec/spl/include/sys
- kernel_HEADERS = $(KERNEL_H)
- endif
- 
-diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
-index 2821cbe..a84ce8e 100644
---- a/include/sys/fm/Makefile.am
-+++ b/include/sys/fm/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fm
-+kerneldir = @prefix@/libexec/spl/include/sys/fm
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
-index 581083e..0c35fb7 100644
---- a/include/sys/fs/Makefile.am
-+++ b/include/sys/fs/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fs
-+kerneldir = @prefix@/libexec/spl/include/sys/fs
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/sys/sysevent/Makefile.am b/include/sys/sysevent/Makefile.am
-index 63d9af3..de1aa18 100644
---- a/include/sys/sysevent/Makefile.am
-+++ b/include/sys/sysevent/Makefile.am
-@@ -8,6 +8,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/sysevent
-+kerneldir = @prefix@/libexec/spl/include/sys/sysevent
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/util/Makefile.am b/include/util/Makefile.am
-index b721b50..cbb9a05 100644
---- a/include/util/Makefile.am
-+++ b/include/util/Makefile.am
-@@ -9,6 +9,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/util
-+kerneldir = @prefix@/libexec/spl/include/util
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/include/vm/Makefile.am b/include/vm/Makefile.am
-index 7faab0a..8148b3d 100644
---- a/include/vm/Makefile.am
-+++ b/include/vm/Makefile.am
-@@ -10,6 +10,6 @@ USER_H =
- EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/spl-$(VERSION)/include/vm
-+kerneldir = @prefix@/libexec/spl/include/vm
- kernel_HEADERS = $(KERNEL_H)
- endif
-diff --git a/module/Makefile.in b/module/Makefile.in
-index 41c1010..3141397 100644
---- a/module/Makefile.in
-+++ b/module/Makefile.in
-@@ -21,15 +21,15 @@ clean:
- modules_install:
- 	@# Install the kernel modules
- 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
--		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-+		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
- 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
- 		KERNELRELEASE=@LINUX_VERSION@
- 	@# Remove extraneous build products when packaging
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-+	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
- 	if [ -n $$kmoddir ]; then \
- 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
- 	fi
--	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-+	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
- 	if [ -f $$sysmap ]; then \
- 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
- 	fi
diff --git a/pkgs/os-specific/linux/spl/install_prefix.patch b/pkgs/os-specific/linux/spl/install_prefix.patch
index 6b3bd515bd05..0f12f531f7ae 100644
--- a/pkgs/os-specific/linux/spl/install_prefix.patch
+++ b/pkgs/os-specific/linux/spl/install_prefix.patch
@@ -1,274 +1,173 @@
-diff -rc spl-0.6.1.orig/include/fs/Makefile.am spl-0.6.1/include/fs/Makefile.am
-*** spl-0.6.1.orig/include/fs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/fs/Makefile.am	2013-04-05 22:10:41.436764000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/linux/Makefile.am spl-0.6.1/include/linux/Makefile.am
-*** spl-0.6.1.orig/include/linux/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/linux/Makefile.am	2013-04-05 22:10:27.789139000 -0700
-***************
-*** 23,28 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/linux
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 23,28 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/linux
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/Makefile.am spl-0.6.1/include/Makefile.am
-*** spl-0.6.1.orig/include/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/Makefile.am	2013-04-05 22:10:45.108623000 -0700
-***************
-*** 16,21 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 16,21 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/rpc/Makefile.am spl-0.6.1/include/rpc/Makefile.am
-*** spl-0.6.1.orig/include/rpc/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/rpc/Makefile.am	2013-04-05 22:11:08.724410000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/rpc
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/rpc
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sharefs/Makefile.am spl-0.6.1/include/sharefs/Makefile.am
-*** spl-0.6.1.orig/include/sharefs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sharefs/Makefile.am	2013-04-05 22:10:38.852722000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sharefs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sharefs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/fm/Makefile.am spl-0.6.1/include/sys/fm/Makefile.am
-*** spl-0.6.1.orig/include/sys/fm/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/fm/Makefile.am	2013-04-05 22:10:59.964334000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/fm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/fm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/fs/Makefile.am spl-0.6.1/include/sys/fs/Makefile.am
-*** spl-0.6.1.orig/include/sys/fs/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/fs/Makefile.am	2013-04-05 22:10:57.860366000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/fs
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/sys/Makefile.am spl-0.6.1/include/sys/Makefile.am
-*** spl-0.6.1.orig/include/sys/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/Makefile.am	2013-04-05 22:11:05.788303000 -0700
-***************
-*** 104,110 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-  
---- 104,110 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-  
-diff -rc spl-0.6.1.orig/include/sys/sysevent/Makefile.am spl-0.6.1/include/sys/sysevent/Makefile.am
-*** spl-0.6.1.orig/include/sys/sysevent/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/sys/sysevent/Makefile.am	2013-04-05 22:10:54.364458000 -0700
-***************
-*** 8,13 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/sys/sysevent
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 8,13 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/sys/sysevent
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/util/Makefile.am spl-0.6.1/include/util/Makefile.am
-*** spl-0.6.1.orig/include/util/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/util/Makefile.am	2013-04-05 22:10:49.452569000 -0700
-***************
-*** 9,14 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/util
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 9,14 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/util
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/include/vm/Makefile.am spl-0.6.1/include/vm/Makefile.am
-*** spl-0.6.1.orig/include/vm/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/include/vm/Makefile.am	2013-04-05 22:10:47.444535000 -0700
-***************
-*** 10,15 ****
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/spl-$(VERSION)/include/vm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
---- 10,15 ----
-  EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/libexec/spl/include/vm
-  kernel_HEADERS = $(KERNEL_H)
-  endif
-diff -rc spl-0.6.1.orig/Makefile.am spl-0.6.1/Makefile.am
-*** spl-0.6.1.orig/Makefile.am	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/Makefile.am	2013-04-05 22:09:52.429676000 -0700
-***************
-*** 9,18 ****
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = /usr/src/spl-$(VERSION)
-  extra_HEADERS = spl.release.in spl_config.h.in
-  
-! kerneldir = /usr/src/spl-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
---- 9,18 ----
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = @prefix@/libexec/spl
-  extra_HEADERS = spl.release.in spl_config.h.in
-  
-! kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
-diff -rc spl-0.6.1.orig/module/Makefile.in spl-0.6.1/module/Makefile.in
-*** spl-0.6.1.orig/module/Makefile.in	2013-03-26 09:37:39.000000000 -0700
---- spl-0.6.1/module/Makefile.in	2013-03-28 10:21:59.093481000 -0700
-***************
-*** 21,41 ****
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
---- 21,41 ----
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
+diff --git a/Makefile.am b/Makefile.am
+index 89af931..674420c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,10 +12,10 @@ endif
+ if CONFIG_KERNEL
+ SUBDIRS += module
+ 
+-extradir = @prefix@/src/spl-$(VERSION)
++extradir = @prefix@/libexec/spl
+ extra_HEADERS = spl.release.in spl_config.h.in
+ 
+-kerneldir = @prefix@/src/spl-$(VERSION)/$(LINUX_VERSION)
++kerneldir = @prefix@/libexec/spl/$(LINUX_VERSION)
+ nodist_kernel_HEADERS = spl.release spl_config.h module/$(LINUX_SYMBOLS)
+ endif
+ 
+diff --git a/include/Makefile.am b/include/Makefile.am
+index 3200222..4a47aaa 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -13,6 +13,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include
++kerneldir = @prefix@/libexec/spl/include
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/fs/Makefile.am b/include/fs/Makefile.am
+index e0da4b3..d6d7af0 100644
+--- a/include/fs/Makefile.am
++++ b/include/fs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/fs
++kerneldir = @prefix@/libexec/spl/include/fs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
+index 1cca44a..e0d843b 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -19,6 +19,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/linux
++kerneldir = @prefix@/libexec/spl/include/linux
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/rpc/Makefile.am b/include/rpc/Makefile.am
+index cfc8246..4fbd33d 100644
+--- a/include/rpc/Makefile.am
++++ b/include/rpc/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/rpc
++kerneldir = @prefix@/libexec/spl/include/rpc
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sharefs/Makefile.am b/include/sharefs/Makefile.am
+index 10e7093..febecdf 100644
+--- a/include/sharefs/Makefile.am
++++ b/include/sharefs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sharefs
++kerneldir = @prefix@/libexec/spl/include/sharefs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
+index 2d21c57..3958cfd 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -104,7 +104,7 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys
++kerneldir = @prefix@/libexec/spl/include/sys
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+ 
+diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
+index 2821cbe..a84ce8e 100644
+--- a/include/sys/fm/Makefile.am
++++ b/include/sys/fm/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fm
++kerneldir = @prefix@/libexec/spl/include/sys/fm
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
+index 581083e..0c35fb7 100644
+--- a/include/sys/fs/Makefile.am
++++ b/include/sys/fs/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/fs
++kerneldir = @prefix@/libexec/spl/include/sys/fs
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/sys/sysevent/Makefile.am b/include/sys/sysevent/Makefile.am
+index 63d9af3..de1aa18 100644
+--- a/include/sys/sysevent/Makefile.am
++++ b/include/sys/sysevent/Makefile.am
+@@ -8,6 +8,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/sys/sysevent
++kerneldir = @prefix@/libexec/spl/include/sys/sysevent
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/util/Makefile.am b/include/util/Makefile.am
+index b721b50..cbb9a05 100644
+--- a/include/util/Makefile.am
++++ b/include/util/Makefile.am
+@@ -9,6 +9,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/util
++kerneldir = @prefix@/libexec/spl/include/util
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/include/vm/Makefile.am b/include/vm/Makefile.am
+index 7faab0a..8148b3d 100644
+--- a/include/vm/Makefile.am
++++ b/include/vm/Makefile.am
+@@ -10,6 +10,6 @@ USER_H =
+ EXTRA_DIST = $(COMMON_H) $(KERNEL_H) $(USER_H)
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/spl-$(VERSION)/include/vm
++kerneldir = @prefix@/libexec/spl/include/vm
+ kernel_HEADERS = $(KERNEL_H)
+ endif
+diff --git a/module/Makefile.in b/module/Makefile.in
+index 41c1010..3141397 100644
+--- a/module/Makefile.in
++++ b/module/Makefile.in
+@@ -21,15 +21,15 @@ clean:
+ modules_install:
+ 	@# Install the kernel modules
+ 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
+-		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
++		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
+ 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
+ 		KERNELRELEASE=@LINUX_VERSION@
+ 	@# Remove extraneous build products when packaging
+-	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
++	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+ 	if [ -n $$kmoddir ]; then \
+ 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
+ 	fi
+-	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
++	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
+ 	if [ -f $$sysmap ]; then \
+ 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+ 	fi
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 3f4568022860..06aca23369e1 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,17 +1,14 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "0.6.3-1.3";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "zfs";
     rev = "zfs-${version}";
-    sha256 = "08m5ah8a6zp96djz2xj9rb94zq973dwwfpc26jy0adzdq2q20zb4";
+    sha256 = "0xlj2w6gadip3rr3f1lri1n93lkjpzyksnk01sbl5wsrbkry3xjq";
   };
 
-  patches = [
-    ./mount_zfs_prefix.patch
-    ./nix-build.patch # Remove in >=0.6.4
-  ];
+  patches = [ ./nix-build.patch ];
 })
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
index a83138673396..a7d312c40414 100644
--- a/pkgs/os-specific/linux/zfs/git.nix
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -1,17 +1,15 @@
 { callPackage, stdenv, fetchgit, spl_git, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2015-04-03";
+  version = "2015-04-08";
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/zfs.git;
-    rev = "40d06e3c78c23b199dfd9284809e710fab549391";
-    sha256 = "1yxpx7lylbbr6jlm8g2x6xsmh6wmzb8prfg7shks7sib750a4slx";
+    rev = "d07a16360c1ee219b8820f80d035e56a18c58b84";
+    sha256 = "0yyc0n960bzd4fmrg1mwp0xy1db7yn90g33ds44chh4g74mrfgdz";
   };
 
-  patches = [
-    ./nix-build-git.patch
-  ];
+  patches = [ ./nix-build.patch ];
 
   spl = spl_git;
 })
diff --git a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch b/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
deleted file mode 100644
index 82b5999cf9ec..000000000000
--- a/pkgs/os-specific/linux/zfs/mount_zfs_prefix.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -crN '--exclude=.git' zfs-0.60-rc11/cmd/mount_zfs/Makefile.am zfs/cmd/mount_zfs/Makefile.am
-*** zfs-0.60-rc11/cmd/mount_zfs/Makefile.am 2012-10-22 10:26:07.066205000 -0700
---- zfs/cmd/mount_zfs/Makefile.am 2012-10-22 11:16:21.859286000 -0700
-***************
-*** 7,14 ****
-  #
-  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
-  # because this path is hardcoded in the mount(8) for security reasons.
-  #
-- sbindir=/sbin
-  sbin_PROGRAMS = mount.zfs
-
-  mount_zfs_SOURCES = \
---- 7,16 ----
-  #
-  # Ignore the prefix for the mount helper.  It must be installed in /sbin/
-  # because this path is hardcoded in the mount(8) for security reasons.
-+ #
-+ # ... except on nixos, where it really is /var/run/current-system/sw/bin,
-+ # which is where this will end up if we put it in ${out}/sbin.
-  #
-  sbin_PROGRAMS = mount.zfs
-
-  mount_zfs_SOURCES = \
diff --git a/pkgs/os-specific/linux/zfs/nix-build-git.patch b/pkgs/os-specific/linux/zfs/nix-build-git.patch
deleted file mode 100644
index ae8e82f703af..000000000000
--- a/pkgs/os-specific/linux/zfs/nix-build-git.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 49b417a..f4af44d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -12,10 +12,10 @@ endif
- if CONFIG_KERNEL
- SUBDIRS += module
- 
--extradir = @prefix@/src/zfs-$(VERSION)
-+extradir = @prefix@/libexec/zfs-$(VERSION)
- extra_HEADERS = zfs.release.in zfs_config.h.in
- 
--kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
-+kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
- nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
- endif
- 
-diff --git a/include/Makefile.am b/include/Makefile.am
-index a94cad5..a160fe2 100644
---- a/include/Makefile.am
-+++ b/include/Makefile.am
-@@ -29,6 +29,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include
-+kerneldir = @prefix@/include
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
-index d00b1c8..3242d2e 100644
---- a/include/linux/Makefile.am
-+++ b/include/linux/Makefile.am
-@@ -17,6 +17,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/linux
-+kerneldir = @prefix@/include/linux
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
-index 7ddace0..8da3870 100644
---- a/include/sys/Makefile.am
-+++ b/include/sys/Makefile.am
-@@ -102,6 +102,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys
-+kerneldir = @prefix@/include/sys
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
-index 8bca5d8..a5eafcd 100644
---- a/include/sys/fm/Makefile.am
-+++ b/include/sys/fm/Makefile.am
-@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm
-+kerneldir = @prefix@/include/sys/fm
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
-index fdc9eb5..807c47c 100644
---- a/include/sys/fm/fs/Makefile.am
-+++ b/include/sys/fm/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm/fs
-+kerneldir = @prefix@/include/sys/fm/fs
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
-index 0859b9f..b0c6eec 100644
---- a/include/sys/fs/Makefile.am
-+++ b/include/sys/fs/Makefile.am
-@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
- endif
- 
- if CONFIG_KERNEL
--kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fs
-+kerneldir = @prefix@/include/sys/fs
- kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
- endif
-diff --git a/module/Makefile.in b/module/Makefile.in
-index 686402b..9cbf598 100644
---- a/module/Makefile.in
-+++ b/module/Makefile.in
-@@ -18,9 +18,9 @@ modules:
- 	@# installed devel headers, or they may be in the module
- 	@# subdirectory when building against the spl source tree.
- 	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
--		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-+		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
- 	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
--		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-+		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
- 	else \
- 		echo -e "\n" \
- 		"*** Missing spl symbols ensure you have built the spl:\n" \
-@@ -28,6 +28,8 @@ modules:
- 		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
- 		exit 1; \
- 	fi
-+	@# when copying a file out of the nix store, we need to make it writable again. 
-+	chmod +w @SPL_SYMBOLS@
- 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
- 
- clean:
-@@ -42,15 +44,15 @@ clean:
- modules_install:
- 	@# Install the kernel modules
- 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
--		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-+		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
- 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
- 		KERNELRELEASE=@LINUX_VERSION@
- 	@# Remove extraneous build products when packaging
--	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-+	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
- 	if [ -n $$kmoddir ]; then \
- 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
- 	fi
--	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-+	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
- 	if [ -f $$sysmap ]; then \
- 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
- 	fi
diff --git a/pkgs/os-specific/linux/zfs/nix-build.patch b/pkgs/os-specific/linux/zfs/nix-build.patch
index af4b94e355d7..ae8e82f703af 100644
--- a/pkgs/os-specific/linux/zfs/nix-build.patch
+++ b/pkgs/os-specific/linux/zfs/nix-build.patch
@@ -1,214 +1,133 @@
-diff -rc zfs-0.6.1.orig/include/linux/Makefile.am zfs-0.6.1/include/linux/Makefile.am
-*** zfs-0.6.1.orig/include/linux/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/linux/Makefile.am	2013-03-28 11:07:10.099129000 -0700
-***************
-*** 16,21 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/linux
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 16,21 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/linux
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/Makefile.am zfs-0.6.1/include/Makefile.am
-*** zfs-0.6.1.orig/include/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/Makefile.am	2013-03-28 11:07:38.810870000 -0700
-***************
-*** 28,33 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 28,33 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am zfs-0.6.1/include/sys/fm/fs/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fm/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fm/fs/Makefile.am	2013-03-28 11:07:36.074756000 -0700
-***************
-*** 13,18 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 13,18 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fm/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fm/Makefile.am zfs-0.6.1/include/sys/fm/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fm/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fm/Makefile.am	2013-03-28 11:07:32.265896000 -0700
-***************
-*** 16,21 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fm
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 16,21 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fm
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/fs/Makefile.am zfs-0.6.1/include/sys/fs/Makefile.am
-*** zfs-0.6.1.orig/include/sys/fs/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/fs/Makefile.am	2013-03-28 11:07:27.592339000 -0700
-***************
-*** 13,18 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 13,18 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys/fs
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/include/sys/Makefile.am zfs-0.6.1/include/sys/Makefile.am
-*** zfs-0.6.1.orig/include/sys/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/include/sys/Makefile.am	2013-03-28 11:07:19.045717000 -0700
-***************
-*** 91,96 ****
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = /usr/src/zfs-$(VERSION)/include/sys
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
---- 91,96 ----
-  endif
-  
-  if CONFIG_KERNEL
-! kerneldir = @prefix@/include/sys
-  kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
-  endif
-diff -rc zfs-0.6.1.orig/Makefile.am zfs-0.6.1/Makefile.am
-*** zfs-0.6.1.orig/Makefile.am	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/Makefile.am	2013-04-05 23:49:39.763623000 -0700
-***************
-*** 9,18 ****
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = /usr/src/zfs-$(VERSION)
-  extra_HEADERS = zfs.release.in zfs_config.h.in
-  
-! kerneldir = /usr/src/zfs-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
---- 9,18 ----
-  if CONFIG_KERNEL
-  SUBDIRS += module
-  
-! extradir = @prefix@/libexec/zfs-$(VERSION)
-  extra_HEADERS = zfs.release.in zfs_config.h.in
-  
-! kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
-  nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
-  endif
-  
-diff -rc zfs-0.6.1.orig/module/Makefile.in zfs-0.6.1/module/Makefile.in
-*** zfs-0.6.1.orig/module/Makefile.in	2013-03-26 09:37:47.000000000 -0700
---- zfs-0.6.1/module/Makefile.in	2013-04-05 23:50:41.497876000 -0700
-***************
-*** 18,26 ****
-  	@# installed devel headers, or they may be in the module
-  	@# subdirectory when building against the spl source tree.
-  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-! 		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-! 		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-  	else \
-  		echo -e "\n" \
-  		"*** Missing spl symbols ensure you have built the spl:\n" \
---- 18,26 ----
-  	@# installed devel headers, or they may be in the module
-  	@# subdirectory when building against the spl source tree.
-  	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
-! 		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
-  	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
-! 		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
-  	else \
-  		echo -e "\n" \
-  		"*** Missing spl symbols ensure you have built the spl:\n" \
-***************
-*** 28,33 ****
---- 28,35 ----
-  		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
-  		exit 1; \
-  	fi
-+ 	@# when copying a file out of the nix store, we need to make it writable again. 
-+ 	chmod +w @SPL_SYMBOLS@
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
-  
-  clean:
-***************
-*** 42,62 ****
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
---- 44,64 ----
-  modules_install:
-  	@# Install the kernel modules
-  	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
-! 		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
-  		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR)
-  	@# Remove extraneous build products when packaging
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
-  	if [ -n $$kmoddir ]; then \
-  		find $$kmoddir -name 'modules.*' | xargs $(RM); \
-  	fi
-! 	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
-  	if [ -f $$sysmap ]; then \
-  		depmod -ae -F $$sysmap @LINUX_VERSION@; \
-  	fi
-  
-  modules_uninstall:
-  	@# Uninstall the kernel modules
-! 	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
-  	list='$(subdir-m)'; for subdir in $$list; do \
-  		$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
-  	done
+diff --git a/Makefile.am b/Makefile.am
+index 49b417a..f4af44d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -12,10 +12,10 @@ endif
+ if CONFIG_KERNEL
+ SUBDIRS += module
+ 
+-extradir = @prefix@/src/zfs-$(VERSION)
++extradir = @prefix@/libexec/zfs-$(VERSION)
+ extra_HEADERS = zfs.release.in zfs_config.h.in
+ 
+-kerneldir = @prefix@/src/zfs-$(VERSION)/$(LINUX_VERSION)
++kerneldir = @prefix@/zfs-$(VERSION)/$(LINUX_VERSION)
+ nodist_kernel_HEADERS = zfs.release zfs_config.h module/$(LINUX_SYMBOLS)
+ endif
+ 
+diff --git a/include/Makefile.am b/include/Makefile.am
+index a94cad5..a160fe2 100644
+--- a/include/Makefile.am
++++ b/include/Makefile.am
+@@ -29,6 +29,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include
++kerneldir = @prefix@/include
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
+index d00b1c8..3242d2e 100644
+--- a/include/linux/Makefile.am
++++ b/include/linux/Makefile.am
+@@ -17,6 +17,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/linux
++kerneldir = @prefix@/include/linux
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/Makefile.am b/include/sys/Makefile.am
+index 7ddace0..8da3870 100644
+--- a/include/sys/Makefile.am
++++ b/include/sys/Makefile.am
+@@ -102,6 +102,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys
++kerneldir = @prefix@/include/sys
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/Makefile.am b/include/sys/fm/Makefile.am
+index 8bca5d8..a5eafcd 100644
+--- a/include/sys/fm/Makefile.am
++++ b/include/sys/fm/Makefile.am
+@@ -16,6 +16,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm
++kerneldir = @prefix@/include/sys/fm
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fm/fs/Makefile.am b/include/sys/fm/fs/Makefile.am
+index fdc9eb5..807c47c 100644
+--- a/include/sys/fm/fs/Makefile.am
++++ b/include/sys/fm/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fm/fs
++kerneldir = @prefix@/include/sys/fm/fs
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/include/sys/fs/Makefile.am b/include/sys/fs/Makefile.am
+index 0859b9f..b0c6eec 100644
+--- a/include/sys/fs/Makefile.am
++++ b/include/sys/fs/Makefile.am
+@@ -13,6 +13,6 @@ libzfs_HEADERS = $(COMMON_H) $(USER_H)
+ endif
+ 
+ if CONFIG_KERNEL
+-kerneldir = @prefix@/src/zfs-$(VERSION)/include/sys/fs
++kerneldir = @prefix@/include/sys/fs
+ kernel_HEADERS = $(COMMON_H) $(KERNEL_H)
+ endif
+diff --git a/module/Makefile.in b/module/Makefile.in
+index 686402b..9cbf598 100644
+--- a/module/Makefile.in
++++ b/module/Makefile.in
+@@ -18,9 +18,9 @@ modules:
+ 	@# installed devel headers, or they may be in the module
+ 	@# subdirectory when building against the spl source tree.
+ 	@if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
+-		/bin/cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
++		cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
+ 	elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
+-		/bin/cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
++		cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
+ 	else \
+ 		echo -e "\n" \
+ 		"*** Missing spl symbols ensure you have built the spl:\n" \
+@@ -28,6 +28,8 @@ modules:
+ 		"*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
+ 		exit 1; \
+ 	fi
++	@# when copying a file out of the nix store, we need to make it writable again. 
++	chmod +w @SPL_SYMBOLS@
+ 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS=m $@
+ 
+ clean:
+@@ -42,15 +44,15 @@ clean:
+ modules_install:
+ 	@# Install the kernel modules
+ 	$(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
+-		INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
++		INSTALL_MOD_PATH=@prefix@/$(INSTALL_MOD_PATH) \
+ 		INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
+ 		KERNELRELEASE=@LINUX_VERSION@
+ 	@# Remove extraneous build products when packaging
+-	kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
++	kmoddir=@prefix@/$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
+ 	if [ -n $$kmoddir ]; then \
+ 		find $$kmoddir -name 'modules.*' | xargs $(RM); \
+ 	fi
+-	sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
++	sysmap=@prefix@/$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
+ 	if [ -f $$sysmap ]; then \
+ 		depmod -ae -F $$sysmap @LINUX_VERSION@; \
+ 	fi
diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix
index 456580cc1997..f436177efe83 100644
--- a/pkgs/servers/http/nginx/default.nix
+++ b/pkgs/servers/http/nginx/default.nix
@@ -7,6 +7,7 @@
 , echo ? false
 , ngx_lua ? false
 , set_misc ? false
+, fluent ? false
 }:
 
 with stdenv.lib;
@@ -74,6 +75,13 @@ let
     sha256 = "1bd1isacsiay73nc2jlp0wky32l42a3sjskvfa1082l12g0p1x39";
   };
 
+  fluentd = fetchFromGitHub {
+    owner = "fluent";
+    repo = "nginx-fluentd-module";
+    rev = "8af234043059c857be27879bc547c141eafd5c13";
+    sha256 = "1ycb5zd9sw60ra53jpak1m73zwrjikwhrrh9q6266h1mlyns7zxm";
+  };
+
 in
 
 stdenv.mkDerivation rec {
@@ -119,7 +127,8 @@ stdenv.mkDerivation rec {
     ++ optional echo "--add-module=${echo-ext}"
     ++ optional ngx_lua "--add-module=${develkit-ext} --add-module=${lua-ext}"
     ++ optional set_misc "--add-module=${set-misc-ext}"
-    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
+    ++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio"
+    ++ optional fluent "--add-module=${fluentd}";
 
 
   additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
diff --git a/pkgs/servers/http/openresty/default.nix b/pkgs/servers/http/openresty/default.nix
index 65c81c455b9e..8444d49b91e4 100644
--- a/pkgs/servers/http/openresty/default.nix
+++ b/pkgs/servers/http/openresty/default.nix
@@ -7,11 +7,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "openresty-${version}";
-  version = "1.7.7.1";
+  version = "1.7.10.1";
 
   src = fetchurl {
     url = "http://openresty.org/download/ngx_openresty-${version}.tar.gz";
-    sha256 = "1m541k2lys3155f0r94abgcmm2hgvv56q0i4fk58w6fa8n4h62z0";
+    sha256 = "0yg6pkagkkga6ly6fgmfcf557r2b4m75gyn6a7p9qcamb4zdgl2g";
   };
 
   buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ];
@@ -40,13 +40,9 @@ stdenv.mkDerivation rec {
   ];
 
   postInstall = ''
-    mv $out/nginx/sbin $out/bin
-    mv $out/bin/sbin $out/sbin
-
+    mv $out/nginx/sbin/nginx $out/bin
     mv $out/luajit/bin/luajit-2.1.0-alpha $out/bin/luajit-openresty
-    ln -s $out/sbin/nginx $out/sbin/openresty
-    ln -s $out/sbin/nginx $out/bin/openresty
-    ln -s $out/sbin/nginx $out/bin/nginx
+    ln -s $out/bin/nginx $out/bin/openresty
   '';
 
   preConfigure = ''
diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix
index d37a4ff5b709..4ab9148118cd 100644
--- a/pkgs/servers/monitoring/bosun/default.nix
+++ b/pkgs/servers/monitoring/bosun/default.nix
@@ -3,14 +3,14 @@
 with goPackages;
 
 buildGoPackage rec {
-  rev = "20150311224711";
+  rev = "20150409220449";
   name = "bosun-${rev}";
   goPackagePath = "bosun.org";
   src = fetchFromGitHub {
     inherit rev;
     owner = "bosun-monitor";
     repo = "bosun";
-    sha256 = "1nzzmlbiah7lpkm5n7yzxv1wmcxg8pszlzzsdvb7ccy0agpihxjg";
+    sha256 = "02bvq9hx2h4pgjclv09nm0al8ybvq0syhyhn5cvw0wgnn9bwn5mb";
   };
   subPackages = [ "cmd/bosun" ];
 
diff --git a/pkgs/servers/monitoring/bosun/scollector.nix b/pkgs/servers/monitoring/bosun/scollector.nix
index ba6b0f369b9d..9f432f7f8c1c 100644
--- a/pkgs/servers/monitoring/bosun/scollector.nix
+++ b/pkgs/servers/monitoring/bosun/scollector.nix
@@ -3,14 +3,14 @@
 with goPackages;
 
 buildGoPackage rec {
-  rev = "20150311224711";
+  rev = "20150409220449";
   name = "bosun-${rev}";
   goPackagePath = "bosun.org";
   src = fetchFromGitHub {
     inherit rev;
     owner = "bosun-monitor";
     repo = "bosun";
-    sha256 = "1nzzmlbiah7lpkm5n7yzxv1wmcxg8pszlzzsdvb7ccy0agpihxjg";
+    sha256 = "02bvq9hx2h4pgjclv09nm0al8ybvq0syhyhn5cvw0wgnn9bwn5mb";
   };
   subPackages = [ "cmd/scollector" ];
 
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 1c8eac99737c..79343b044836 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -1,11 +1,13 @@
-{ stdenv, fetchurl, which, protobuf, gperftools, boost, zlib, curl, python, m4 }:
+{ stdenv, fetchurl, which, protobuf, gperftools
+, boost, zlib, curl, python, m4, icu, jemalloc }:
 
 stdenv.mkDerivation rec {
-  name = "rethinkdb-1.15.2";
+  name = "rethinkdb-${version}";
+  version = "2.0.0-1";
 
   src = fetchurl {
     url = "http://download.rethinkdb.com/dist/${name}.tgz";
-    sha256 = "1fpx9apqm62i332q2isanpdql8gwwab4qxwzrspqwgcka9zd6gy3";
+    sha256 = "0fbxs6gmlmgkbfrmi0f4xyr3vqwylr6i7fa4p68y12qy6kv7q9pc";
   };
 
   preConfigure = ''
@@ -13,9 +15,9 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  configureFlags = "--lib-path ${gperftools}/lib";
+  configureFlags = "--lib-path ${gperftools}/lib --lib-path ${jemalloc}/lib";
 
-  buildInputs = [ protobuf boost zlib curl ];
+  buildInputs = [ protobuf boost zlib curl icu jemalloc ];
 
   nativeBuildInputs = [ which m4 python ];
 
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index 4edf66d80d49..7afa2e4da6b4 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -79,9 +79,10 @@ stdenv.mkDerivation rec {
       --replace basedir=\"\" basedir=\"$out\"
 
     # Remove superfluous files
-    rm -r $out/mysql-test $out/sql-bench $out/data
+    rm -r $out/mysql-test $out/sql-bench $out/data # Don't need testing data
     rm $out/share/man/man1/mysql-test-run.pl.1
-    rm $out/bin/rcmysql
+    rm $out/bin/rcmysql # Not needed with nixos units
+    rm $out/bin/mysqlbug # Encodes a path to gcc and not really useful
     find $out/bin -name \*test\* -exec rm {} \;
 
     # Separate libs and includes into their own derivation
diff --git a/pkgs/servers/sslh/default.nix b/pkgs/servers/sslh/default.nix
index 3f9aa4470f9d..0de4dfff153f 100644
--- a/pkgs/servers/sslh/default.nix
+++ b/pkgs/servers/sslh/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sslh-${version}";
-  version = "1.16";
+  version = "1.17";
 
   src = fetchurl {
     url = "https://github.com/yrutschle/sslh/archive/v${version}.tar.gz";
-    sha256 = "0xwi2bflvq4phrqjic84xch20jkg3wdys219mw2cy23sjkzk63mb";
+    sha256 = "1l8ssm47f0hwiisgfj0ca5j2z8j98pir4pf2acrj1798fnzw6mxm";
   };
 
   postPatch = "patchShebangs *.sh";
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 5b191bef8724..358afb3dfb36 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, python }:
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, python
+, pythonPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.6";
+  version = "4.0.3";
   name = "varnish-${version}";
 
   src = fetchurl {
     url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "1dw0nrplx5pa09z8vbjpncniv3qib5bh3qp3yqbk2d774n7ys3c4";
+    sha256 = "01l2iypajkdanxpbvzfxm6vs4jay4dgw7lmchqidnivz15sa3fcl";
   };
 
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline python ];
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline python
+    pythonPackages.docutils];
 
   meta = {
     description = "Web application accelerator also known as a caching HTTP reverse proxy";
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 61c1391ae09e..15197044f001 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,7 +1,7 @@
 { args, xorg }:
 
 let
-  inherit (args) stdenv;
+  inherit (args) stdenv makeWrapper;
   inherit (stdenv) lib isDarwin;
   inherit (lib) overrideDerivation;
 
@@ -300,13 +300,14 @@ in
     in
       if (!isDarwin)
       then {
-        buildInputs = commonBuildInputs;
+        buildInputs = [ makeWrapper ] ++ commonBuildInputs;
         propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           args.udev
         ];
         patches = commonPatches;
         configureFlags = [
           "--enable-kdrive"             # not built by default
+          "--enable-xephyr"
           "--enable-xcsecurity"         # enable SECURITY extension
           "--with-default-font-path="   # there were only paths containing "${prefix}",
                                         # and there are no fonts in this package anyway
@@ -314,6 +315,9 @@ in
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled
           ln -s /var/tmp $out/share/X11/xkb/compiled
+          wrapProgram $out/bin/Xephyr \
+            --set XKB_BINDIR "${xorg.xkbcomp}/bin" \
+            --add-flags "-xkbdir ${xorg.xkeyboardconfig}/share/X11/xkb"
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
diff --git a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
index f5196c60c7c6..a0951269b422 100644
--- a/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
+++ b/pkgs/servers/x11/xorg/xorgserver-xkbcomp-path.patch
@@ -1,15 +1,15 @@
-diff -rc xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c
-*** xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c	Tue Jan 23 04:13:16 2007
---- xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c	Fri Mar 30 00:52:53 2007
+*** xorg-server-X11R7.2-1.2.0-orig/xkb/xkbInit.c	2015-02-11 00:32:06.000000000 +0100
+--- xorg-server-X11R7.2-1.2.0/xkb/xkbInit.c	2015-04-11 10:10:41.948438435 +0200
 ***************
-*** 923,928 ****
---- 923,931 ----
-  	XkbDfltRepeatInterval = (long)atoi(argv[i]);
-  	return 2;
-      }
+*** 733,738 ****
+--- 733,742 ----
+  int
+  XkbProcessArguments(int argc, char *argv[], int i)
+  {
 +     char *xkbBinDir = getenv("XKB_BINDIR");
 +     if (xkbBinDir)
 +         XkbBinDirectory = Xstrdup(xkbBinDir);
-      return 0;
-  }
-  
++ 
+      if (strncmp(argv[i], "-xkbdir", 7) == 0) {
+          if (++i < argc) {
+  #if !defined(WIN32) && !defined(__CYGWIN__)
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 684a06eff4a0..631073da4d4a 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -1,11 +1,16 @@
-{ stdenv, fetchurl, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, libidn, openssl, makeWrapper, fetchhg, withLibevent ? false }:
+{ stdenv, fetchurl, libidn, openssl, makeWrapper, fetchhg
+, lua5, luasocket, luasec, luaexpat, luafilesystem, luabitop, luaevent ? null, luazlib ? null
+, withLibevent ? true, withZlib ? true }:
 
 assert withLibevent -> luaevent != null;
+assert withZlib -> luazlib != null;
 
 with stdenv.lib;
 
 let
-  libs        = [ luasocket luasec luaexpat luafilesystem luabitop ] ++ optional withLibevent luaevent;
+  libs        = [ luasocket luasec luaexpat luafilesystem luabitop ]
+                ++ optional withLibevent luaevent
+                ++ optional withZlib luazlib;
   getPath     = lib : type : "${lib}/lib/lua/${lua5.luaversion}/?.${type};${lib}/share/lua/${lua5.luaversion}/?.${type}";
   getLuaPath  = lib : getPath lib "lua";
   getLuaCPath = lib : getPath lib "so";
@@ -29,7 +34,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ lua5 luasocket luasec luaexpat luabitop libidn openssl makeWrapper ]
-                ++ optional withLibevent luaevent;
+                ++ optional withLibevent luaevent
+                ++ optional withZlib luazlib;
 
   configureFlags = [
     "--ostype=linux"
diff --git a/pkgs/shells/es/default.nix b/pkgs/shells/es/default.nix
new file mode 100644
index 000000000000..236c5d1f00fa
--- /dev/null
+++ b/pkgs/shells/es/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchgit, readline, yacc, autoconf, automake, libtool }:
+
+let
+  version = "git-2015-04-11";
+in
+stdenv.mkDerivation {
+
+  name = "es-${version}";
+
+  src = fetchgit {
+    url = "git://github.com/wryun/es-shell";
+    rev = "fdf29d5296ce3a0ef96d2b5952cff07878753975";
+    sha256 = "1hj0g8r59ry9l50h4gdal38nf8lvb3cgl6c9bx5aabkw5i778dfk";
+  };
+
+  buildInputs = [ readline yacc libtool autoconf automake ];
+
+  preConfigure =
+    ''
+      aclocal
+      autoconf
+      libtoolize -qi
+    '';
+
+  configureFlags="--with-readline --prefix=$(out) --bindir=$(out)/bin --mandir=$(out)/man";
+
+  preInstall = ''
+    mkdir -p $out/{bin,man}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Es is an extensible shell";
+    longDescription =
+      ''
+        Es is an extensible shell. The language was derived
+        from the Plan 9 shell, rc, and was influenced by
+        functional programming languages, such as Scheme,
+        and the Tcl embeddable programming language.
+      '';
+    homepage = http://wryun.github.io/es-shell/;
+    license = licenses.publicDomain;
+    maintainers = [ maintainers.sjmackenzie ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index a37aa26cf7ca..d924ae0b7d52 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "awscli-${version}";
-  version = "1.7.0";
+  version = "1.7.21";
   namePrefix = "";
 
   src = fetchzip {
     url = "https://github.com/aws/aws-cli/archive/${version}.tar.gz";
-    sha256 = "14cbfvwx18vs2l8hhvamy1mbvjwa3xrm58l8yyalhrh5pqq952mi";
+    sha256 = "1hm2m5ycsyn4lap8549d6glryp9b9mvar9xwbpmpdcf698lcxzsj";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index cf58ab7890c3..dc859b497367 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,34 +1,33 @@
-{ stdenv, fetchFromGitHub, writeScript
+{ stdenv, fetchFromGitHub, writeScript, glibcLocales
 , buildPythonPackage, pythonPackages, python
 
 , enableAcoustid   ? true
-, enableBeatport   ? true
 , enableDiscogs    ? true
 , enableEchonest   ? true
 , enableFetchart   ? true
 , enableLastfm     ? true
 , enableMpd        ? true
 , enableReplaygain ? true
+, enableThumbnails ? true
 , enableWeb        ? true
 
 , bashInteractive, bashCompletion
 }:
 
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
-assert enableBeatport    -> pythonPackages.responses      != null;
 assert enableDiscogs     -> pythonPackages.discogs_client != null;
 assert enableEchonest    -> pythonPackages.pyechonest     != null;
 assert enableFetchart    -> pythonPackages.responses      != null;
 assert enableLastfm      -> pythonPackages.pylast         != null;
 assert enableMpd         -> pythonPackages.mpd            != null;
 assert enableReplaygain  -> pythonPackages.audiotools     != null;
+assert enableThumbnails  -> pythonPackages.pyxdg          != null;
 assert enableWeb         -> pythonPackages.flask          != null;
 
 with stdenv.lib;
 
 let
   optionalPlugins = {
-    beatport = enableBeatport;
     chroma = enableAcoustid;
     discogs = enableDiscogs;
     echonest = enableEchonest;
@@ -38,15 +37,16 @@ let
     mpdstats = enableMpd;
     mpdupdate = enableMpd;
     replaygain = enableReplaygain;
+    thumbnails = enableThumbnails;
     web = enableWeb;
   };
 
   pluginsWithoutDeps = [
-    "bench" "bpd" "bpm" "bucket" "convert" "duplicates" "embedart" "freedesktop"
-    "fromfilename" "ftintitle" "fuzzy" "ihate" "importadded" "importfeeds"
-    "info" "inline" "keyfinder" "lyrics" "mbcollection" "mbsync" "missing"
-    "permissions" "play" "plexupdate" "random" "rewrite" "scrub" "smartplaylist"
-    "spotify" "the" "types" "zero"
+    "bench" "bpd" "bpm" "bucket" "convert" "cue" "duplicates" "embedart"
+    "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" "ihate"
+    "importadded" "importfeeds" "info" "inline" "keyfinder" "lyrics"
+    "mbcollection" "mbsync" "missing" "permissions" "play" "plexupdate" "random"
+    "rewrite" "scrub" "smartplaylist" "spotify" "the" "types" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -59,14 +59,14 @@ let
 
 in buildPythonPackage rec {
   name = "beets-${version}";
-  version = "1.3.10";
+  version = "1.3.11";
   namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "sampsyo";
     repo = "beets";
     rev = "v${version}";
-    sha256 = "136rvzpygjym6hxq19qwiri5jxx718bbmi471mvc3vibrb7xj1sr";
+    sha256 = "16jb1frds9vl40n9hy18x9xipxfzln3ym823vx8jymhv3by8p62m";
   };
 
   propagatedBuildInputs = [
@@ -74,18 +74,20 @@ in buildPythonPackage rec {
     pythonPackages.munkres
     pythonPackages.musicbrainzngs
     pythonPackages.mutagen
+    pythonPackages.pathlib
     pythonPackages.pyyaml
     pythonPackages.unidecode
     python.modules.sqlite3
     python.modules.readline
-  ] ++ optional enableAcoustid                     pythonPackages.pyacoustid
-    ++ optional (enableBeatport || enableFetchart) pythonPackages.requests2
-    ++ optional enableDiscogs                      pythonPackages.discogs_client
-    ++ optional enableEchonest                     pythonPackages.pyechonest
-    ++ optional enableLastfm                       pythonPackages.pylast
-    ++ optional enableMpd                          pythonPackages.mpd
-    ++ optional enableReplaygain                   pythonPackages.audiotools
-    ++ optional enableWeb                          pythonPackages.flask;
+  ] ++ optional enableAcoustid   pythonPackages.pyacoustid
+    ++ optional enableFetchart   pythonPackages.requests2
+    ++ optional enableDiscogs    pythonPackages.discogs_client
+    ++ optional enableEchonest   pythonPackages.pyechonest
+    ++ optional enableLastfm     pythonPackages.pylast
+    ++ optional enableMpd        pythonPackages.mpd
+    ++ optional enableReplaygain pythonPackages.audiotools
+    ++ optional enableThumbnails pythonPackages.pyxdg
+    ++ optional enableWeb        pythonPackages.flask;
 
   buildInputs = with pythonPackages; [
     beautifulsoup4
@@ -134,6 +136,8 @@ in buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
 
+    LANG=en_US.UTF-8 \
+    LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive \
     BEETS_TEST_SHELL="${testShell}" \
     BASH_COMPLETION_SCRIPT="${completion}" \
     HOME="$(mktemp -d)" \
@@ -164,6 +168,6 @@ in buildPythonPackage rec {
     homepage = http://beets.radbox.org;
     description = "Music tagger and library organizer";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ iElectric aszlig ];
+    maintainers = with stdenv.lib.maintainers; [ iElectric aszlig pjones ];
   };
 }
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 7fd547099a27..2e329b55e9fb 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -14,12 +14,12 @@ let
 in
 stdenv.mkDerivation rec {
   name="ceph-${version}";
-  version="0.94";
+  version="0.94.1";
 
   src = fetchgit {
     url = "git://github.com/ceph/ceph.git";
     rev = "refs/tags/v${version}";
-    sha256 = "0xqfmfg34w8yngv2qg4kwbpv9xhc8rn9hzsrgpw68f5hrs3dfimz";
+    sha256 = "0rrl10vda4xv22al2c5ccd8v8drs26186dvkrxndvqz8p9999cjx";
   };
 
   patches = [
diff --git a/pkgs/tools/filesystems/tmsu/default.nix b/pkgs/tools/filesystems/tmsu/default.nix
index 4761980a18d4..4f9de84a2230 100644
--- a/pkgs/tools/filesystems/tmsu/default.nix
+++ b/pkgs/tools/filesystems/tmsu/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "tmsu-${version}";
-  version = "0.5.1";
+  version = "0.5.2";
 
   go-sqlite3 = fetchgit {
     url = "git://github.com/mattn/go-sqlite3";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "oniony";
     repo = "tmsu";
     rev = "v${version}";
-    sha256 = "1fr80p5c3hd3956gn7ri5pv3gblaxw95xkpf6wz1llkmrr2i8ncp";
+    sha256 = "090wzhcd4sr3358p1f640psy42r4kd3kkhgnf8196qsh2vcx8arc";
   };
 
   buildInputs = [ go fuse ];
diff --git a/pkgs/tools/filesystems/unionfs-fuse/default.nix b/pkgs/tools/filesystems/unionfs-fuse/default.nix
index 23340f88376b..1d39108afb13 100644
--- a/pkgs/tools/filesystems/unionfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/unionfs-fuse/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, cmake, fuse }:
 
 stdenv.mkDerivation rec {
-  name = "unionfs-fuse-0.26";
+  name = "unionfs-fuse-${version}";
+  version = "1.0";
 
   src = fetchurl {
-    url = "http://podgorny.cz/unionfs-fuse/releases/${name}.tar.xz";
-    sha256 = "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d";
+    url = "https://github.com/rpodgorny/unionfs-fuse/archive/v${version}.tar.gz";
+    sha256 = "02fcrjb06lxkxpk4l8arsqmai807sray24lj2nrasqaacg80ps1f";
   };
 
   patches =
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index f7790fd34689..7924615201e6 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "less-471";
+  name = "less-475";
 
   src = fetchurl {
     url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
-    sha256 = "1y17zfrn91fs71jry5gp9ibj7darglhr42krimw7hqsjkbx17xip";
+    sha256 = "1w7d10h6hzgz5zww8g4aja2fbl7xwx30vd07hcg1fcy7hm8yc1q2";
   };
 
   # Look for ‘sysless’ in /etc.
   configureFlags = "--sysconfdir=/etc";
 
+  preConfigure = "chmod +x ./configure";
+
   buildInputs = [ ncurses ];
 
   meta = {
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index d85da36f7eee..a30f0277ec0e 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "0.10.2015.01.28";
+  version = "0.10.2015.03.25";
 
   src = fetchurl {
     url = "https://github.com/spaam/svtplay-dl/archive/${version}.tar.gz";
-    sha256 = "0hjqhb4s0qpw2l7azcqmckbdc4mcvczp0w1dfk125n01z0w9c20c";
+    sha256 = "0j0fg3qrldpaf880v488rr2snw6ghpdln4l9mbvmi70rjzzxv4ap";
   };
 
   pythonPaths = [ pycrypto ];
diff --git a/pkgs/tools/networking/hping/default.nix b/pkgs/tools/networking/hping/default.nix
index aa2574fbc1d0..23322d5b8f22 100644
--- a/pkgs/tools/networking/hping/default.nix
+++ b/pkgs/tools/networking/hping/default.nix
@@ -44,5 +44,6 @@ stdenv.mkDerivation rec {
     description = "A command-line oriented TCP/IP packet assembler/analyzer";
     homepage = "http://www.hping.org/";
     license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/i2p/default.nix b/pkgs/tools/networking/i2p/default.nix
index 088e8e8de7fa..0a26aff83dd1 100644
--- a/pkgs/tools/networking/i2p/default.nix
+++ b/pkgs/tools/networking/i2p/default.nix
@@ -1,7 +1,4 @@
-{ stdenv, procps, coreutils, fetchurl, openjdk8, ant, gcj, gettext }:
-
-# TODO: support other systems, just copy appropriate lib/wrapper.. to $out
-assert stdenv.system != "x86_64-linux";
+{ stdenv, procps, coreutils, fetchurl, openjdk8, openjre, ant, gcj, gettext }:
 
 stdenv.mkDerivation rec {
   name = "i2p-0.9.18";
@@ -9,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "https://github.com/i2p/i2p.i2p/archive/${name}.tar.gz";
     sha256 = "1hahdzvfh1zqb8qdc59xbjpqm8qq95k2xx22mpnhcdh90lb6xqnl";
   };
-  buildInputs = [ openjdk8 ant gcj gettext ];
+  buildInputs = [ openjdk8 ant gettext ];
   buildPhase = ''
     export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
     ant preppkg-linux-only
@@ -24,7 +21,8 @@ stdenv.mkDerivation rec {
       -e "s#/usr/ucb/ps#${procps}/bin/ps#" \
       -e "s#/usr/bin/tr#${coreutils}/bin/tr#" \
       -e 's#%USER_HOME#$HOME#' \
-      -e "s#%SYSTEM_java_io_tmpdir#/tmp#"
+      -e "s#%SYSTEM_java_io_tmpdir#/tmp#" \
+      -e 's#JAVA=java#JAVA=${openjre}/bin/java#'
     mv $out/runplain.sh $out/bin/i2prouter-plain
     mv $out/man $out/share/
     chmod +x $out/bin/* $out/i2psvc
@@ -36,6 +34,7 @@ stdenv.mkDerivation rec {
     description = "Applications and router for I2P, anonymity over the Internet";
     maintainers = [ stdenv.lib.maintainers.joelmo ];
     licenses = licenses.gpl2;
-    platforms = platforms.linux;
+    # TODO: support other systems, just copy appropriate lib/wrapper.. to $out
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index 9901a1e2a967..1e1f1bd8b765 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, gnutls, pkgconfig, readline, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lftp-4.6.0";
+  name = "lftp-4.6.1";
 
   src = fetchurl {
     urls = [
       "http://lftp.yar.ru/ftp/${name}.tar.bz2"
       "http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
       ];
-    sha256 = "1liry2icaqyn9zlp7w6sykp3nyqsn172xnqglhvr6awz23r3b1fr";
+    sha256 = "0w9nb24abqlnjzi30q8s0yv3h0zjxhynliyxwdgnrv0qag0k401s";
   };
 
   patches = [ ./no-gets.patch ];
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 196c176018ae..f6e061fa0473 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -2,15 +2,16 @@
 , libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl
 , pkgconfig, zlib }:
 
-stdenv.mkDerivation rec {
-  version = "v0.5.9-rc4-53-gdd5d906";
+let version = "v0.5.9-rc4-62-g47a7037"; in
+stdenv.mkDerivation {
   name = "netsniff-ng-${version}";
 
-  src = fetchFromGitHub rec { # Upstream recommends and supports git
+  # Upstream recommends and supports git
+  src = fetchFromGitHub rec {
     repo = "netsniff-ng";
     owner = repo;
-    rev = "dd5d906c40db5264d8d33c37565b39540f0258c8";
-    sha256 = "0iwnfjbxiv10zk5mfpnvs2xb88f14hv1a156kn9mhasszknp0a57";
+    rev = "47a7037955bfa7405a0a676f214c26d136b8ca9a";
+    sha256 = "1dvkpz7bdx94ibprs5wamhpp9kaavc6f3f1jgcimixbrybs7bw8f";
   };
 
   buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
@@ -40,6 +41,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    inherit version;
     description = "Swiss army knife for daily Linux network plumbing";
     longDescription = ''
       netsniff-ng is a free Linux networking toolkit. Its gain of performance
diff --git a/pkgs/tools/security/afl/README.md b/pkgs/tools/security/afl/README.md
index 7d9544617739..0b0d4e80fbca 100644
--- a/pkgs/tools/security/afl/README.md
+++ b/pkgs/tools/security/afl/README.md
@@ -11,9 +11,9 @@ right QEMU version and options in `qemu.nix`:
 
 https://github.com/mirrorer/afl/blob/master/qemu_mode/build_qemu_support.sh
 
-`afl-config.h` and `afl-qemu-cpu-inl.h` are part of the afl source
-code, and copied from `config.h` and `afl-qemu-cpu-inl.h`
-appropriately. The QEMU patches need to be slightly adjusted to
-`#include` these files (the patches try to otherwise include files
-like `../../config.h` which causes the build to fail). See `qemu.nix`
-for details.
+`afl-config.h`, `afl-types.h`, and `afl-qemu-cpu-inl.h` are part of
+the afl source code, and copied from `config.h`, `types.h` and
+`afl-qemu-cpu-inl.h` appropriately. These files and the QEMU patches
+need to be slightly adjusted to fix their `#include`s (the patches
+try to otherwise include files like `../../config.h` which causes the
+build to fail).
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index 93c5988b55d4..ea495145d1ac 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, bash, callPackage, makeWrapper }:
+{ stdenv, fetchurl, bash, callPackage, makeWrapper
+, clang, llvm, which, libcgroup }:
 
 let
   afl-qemu = callPackage ./qemu.nix {};
@@ -8,16 +9,21 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "afl-${version}";
-  version = "1.58b";
+  version = "1.67b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
-    sha256 = "1szggm4x9i9bsrcb99s5vbgncagp7jvhz8cg9amkx7p6mp2x4pld";
+    sha256 = "11763zgwqg2b5hak006rp0jb3w252js067z9ibgl4nj3br2ncmd2";
   };
 
-  buildInputs  = [ makeWrapper ];
+  # Note: libcgroup isn't needed for building, just for the afl-cgroup
+  # script.
+  buildInputs  = [ makeWrapper clang llvm which ];
 
-  buildPhase   = "make PREFIX=$out";
+  buildPhase   = ''
+    make PREFIX=$out
+    cd llvm_mode && make && cd ..
+  '';
   installPhase = ''
     # Do the normal installation
     make install PREFIX=$out
@@ -25,13 +31,34 @@ stdenv.mkDerivation rec {
     # Install the custom QEMU emulator for binary blob fuzzing.
     cp ${afl-qemu}/bin/${qemu-exe-name} $out/bin/afl-qemu-trace
 
+    # Install the cgroups wrapper for asan-based fuzzing.
+    cp experimental/asan_cgroups/limit_memory.sh $out/bin/afl-cgroup
+    chmod +x $out/bin/afl-cgroup
+    substituteInPlace $out/bin/afl-cgroup \
+      --replace "cgcreate" "${libcgroup}/bin/cgcreate" \
+      --replace "cgexec"   "${libcgroup}/bin/cgexec" \
+      --replace "cgdelete" "${libcgroup}/bin/cgdelete"
+
+    # Patch shebangs before wrapping
+    patchShebangs $out/bin
+
     # Wrap every program with a custom $AFL_PATH; I believe there is a
     # bug in afl which causes it to fail to find `afl-qemu-trace`
     # relative to `afl-fuzz` or `afl-showmap`, so we instead set
     # $AFL_PATH as a workaround, which allows it to be found.
-    for x in `ls $out/bin/afl-*`; do
+    for x in `ls $out/bin/afl-* | grep -v afl-clang-fast`; do
       wrapProgram $x --prefix AFL_PATH : "$out/bin"
     done
+    # Wrap afl-clang-fast(++) with a *different* AFL_PATH, because it
+    # has totally different semantics in that case(?) - and also set a
+    # proper AFL_CC and AFL_CXX so we don't pick up the wrong one out
+    # of $PATH.
+    for x in $out/bin/afl-clang-fast $out/bin/afl-clang-fast++; do
+      wrapProgram $x \
+        --prefix AFL_PATH : "$out/lib/afl" \
+        --prefix AFL_CC   : "${clang}/bin/clang" \
+        --prefix AFL_CXX  : "${clang}/bin/clang++"
+    done
   '';
 
   meta = {
diff --git a/pkgs/tools/security/afl/qemu-patches/afl-config.h b/pkgs/tools/security/afl/qemu-patches/afl-config.h
index 051b38ffbca4..0017f9d83f4b 100644
--- a/pkgs/tools/security/afl/qemu-patches/afl-config.h
+++ b/pkgs/tools/security/afl/qemu-patches/afl-config.h
@@ -138,6 +138,11 @@
 
 #define TMIN_MAX_FILE       (10 * 1024 * 1024)
 
+/* Block normalization steps for afl-tmin: */
+
+#define TMIN_SET_MIN_SIZE   4
+#define TMIN_SET_STEPS      128
+
 /* Maximum dictionary token size (-x), in bytes: */
 
 #define MAX_DICT_FILE       128
diff --git a/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h
index c6ebc873ae09..e4a470b55230 100644
--- a/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h
+++ b/pkgs/tools/security/afl/qemu-patches/afl-qemu-cpu-inl.h
@@ -134,6 +134,12 @@ static void afl_setup(void) {
 
     if (afl_area_ptr == (void*)-1) exit(1);
 
+    /* With AFL_INST_RATIO set to a low value, we want to touch the bitmap
+       so that the parent doesn't give up on us. */
+
+    if (inst_r) afl_area_ptr[0] = 1;
+
+
   }
 
   if (getenv("AFL_INST_LIBS")) {
diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix
index 441d64415cbd..5b69811d08d6 100644
--- a/pkgs/tools/security/afl/qemu.nix
+++ b/pkgs/tools/security/afl/qemu.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     homepage = http://www.qemu.org/;
-    description = "Fork of QEMU with American Fuzzy Lop instrumentation support";
+    description = "Fork of QEMU with AFL instrumentation support";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ thoughtpolice ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index fc5da48a1b95..71e5282e85b5 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -13,11 +13,11 @@ with stdenv.lib;
 assert x11Support -> pinentry != null;
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.1.2";
+  name = "gnupg-2.1.3";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0";
+    sha256 = "1vf8fmwcq81abzw2mypz5j7m4xy0vl4z6lri5lxfbd2bsyq7ygi1";
   };
 
   patches = [ ./socket-activate-2.1.1.patch ];
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 1aa5e0b51f1b..c03029232ac0 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, coreutils, gnused, getopt, pwgen, git, tree, gnupg
+, coreutils, gnused, getopt, pwgen, git, tree, gnupg, which
 , makeWrapper
 
 , xclip ? null, xdotool ? null, dmenu ? null
@@ -59,6 +59,16 @@ stdenv.mkDerivation rec {
     '' else ""}
   '';
 
+  wrapperPath = with stdenv.lib; makeSearchPath "bin/" ([
+    coreutils
+    gnused
+    getopt
+    git
+    gnupg
+    tree
+    which
+  ] ++ ifEnable x11Support [ dmenu xclip xdotool ]);
+
   postFixup = ''
     # Fix program name in --help
     substituteInPlace $out/bin/pass \
@@ -66,11 +76,11 @@ stdenv.mkDerivation rec {
 
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
-      --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if x11Support then ":${xclip}/bin" else ""}"
-
-    ${if x11Support then ''
-      wrapProgram $out/bin/passmenu \
-        --prefix PATH : "$out/bin:${xdotool}/bin:${dmenu}/bin"
-    '' else ""}
+      --prefix PATH : "${wrapperPath}"
+  '' + stdenv.lib.optionalString x11Support ''
+    # We just wrap passmenu with the same PATH as pass. It doesn't
+    # need all the tools in there but it doesn't hurt either.
+    wrapProgram $out/bin/passmenu \
+      --prefix PATH : "$out/bin:${wrapperPath}"
   '';
 }
diff --git a/pkgs/tools/security/pinentry/default.nix b/pkgs/tools/security/pinentry/default.nix
index 632edaedd2ef..757959f53451 100644
--- a/pkgs/tools/security/pinentry/default.nix
+++ b/pkgs/tools/security/pinentry/default.nix
@@ -10,11 +10,11 @@ let
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "pinentry-0.9.0";
+  name = "pinentry-0.9.1";
 
   src = fetchurl {
     url = "mirror://gnupg/pinentry/${name}.tar.bz2";
-    sha256 = "1awhajq21hcjgqfxg9czaxg555gij4bba6axrwg8w6lfmc3ml14h";
+    sha256 = "15cn7q6wg3k433l9ks48pz4dbikp7ysp0h8jqynz6p9rdf2qxl4w";
   };
 
   buildInputs = [ libcap gtk2 ncurses qt4 ];
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index b91dc65219bf..b605f3eb3308 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "4.0.6";
+  version = "4.0.8";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz";
     sha256 = if bits == "64" then
-      "d954510bf812f624945bdba8e1c37e23573de89e2f159d7c89a3e3589a765559" else
-      "89ce71312f5d73fc2af637a93d7697587b2132fce0e9f6e815b25ddba66518d0";
+      "d8e1ff1865542eb358834bd6f095a2bfa2a991a30ca5188a5752883636a31a36" else
+      "152186ff31425660675c082af1759ef6cc65f618b6e49e25385c7ccacfe70061";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 32f48eb7e141..28e7abeeb9f3 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -11,11 +11,11 @@ let
   mkFlag = cond: name: if cond then "--enable-${name}" else "--disable-${name}";
 in
 stdenv.mkDerivation rec {
-  name = "rsyslog-8.8.0";
+  name = "rsyslog-8.9.0";
 
   src = fetchurl {
     url = "http://www.rsyslog.com/files/download/rsyslog/${name}.tar.gz";
-    sha256 = "1sx0j5icp172rzcpybjpfw53aj34w8j7k3f1ga0pmbv58r3pwyhl";
+    sha256 = "1p3saxfs723479rbsdyvqwfrblcp0bw6mkz2ncrxvnccfn70xc7a";
   };
 
   buildInputs = [
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 17ca65b4e719..d1098654ccaa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -483,6 +483,12 @@ let
 
   aegisub = callPackage ../applications/video/aegisub {
     wxGTK = wxGTK30;
+    spellcheckSupport = config.aegisub.spellcheckSupport or true;
+    automationSupport = config.aegisub.automationSupport or true;
+    openalSupport     = config.aegisub.openalSupport or false;
+    alsaSupport       = config.aegisub.alsaSupport or true;
+    pulseaudioSupport = config.aegisub.pulseaudioSupport or true;
+    portaudioSupport  = config.aegisub.portaudioSupport or false;
   };
 
   aespipe = callPackage ../tools/security/aespipe { };
@@ -578,9 +584,7 @@ let
 
   otool = callPackage ../os-specific/darwin/otool { };
 
-  pass = callPackage ../tools/security/pass {
-    gnupg = gnupg1compat;
-  };
+  pass = callPackage ../tools/security/pass { };
 
   setfile = callPackage ../os-specific/darwin/setfile { };
 
@@ -634,6 +638,8 @@ let
 
   bashmount = callPackage ../tools/filesystems/bashmount {};
 
+  bastet = callPackage ../games/bastet {};
+
   bc = callPackage ../tools/misc/bc { };
 
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
@@ -1678,13 +1684,8 @@ let
 
   ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
     inherit (pythonPackages) ipython;
-    inherit (haskellPackages) ihaskell ghc;
-  };
-
-  ihaskell-with-packages = callPackage ../development/tools/haskell/ihaskell/ng-wrapper.nix {
-    inherit (pythonPackages) ipython;
     inherit (haskellngPackages) ihaskell ghcWithPackages;
-    packages = self: config.ihaskell.packages or [];
+    packages = config.ihaskell.packages or (self: []);
   };
 
   imapproxy = callPackage ../tools/networking/imapproxy { };
@@ -1752,7 +1753,7 @@ let
 
   kexectools = callPackage ../os-specific/linux/kexectools { };
 
-  #keybase-node-client = callPackage ../applications/misc/keybase-node-client { };
+  keybase-node-client = callPackage ../applications/misc/keybase-node-client { };
 
   keychain = callPackage ../tools/misc/keychain { };
 
@@ -1839,8 +1840,6 @@ let
 
   libtermkey = callPackage ../development/libraries/libtermkey { };
 
-  libtidy = callPackage ../development/libraries/libtidy { };
-
   libtirpc = callPackage ../development/libraries/ti-rpc { };
 
   libshout = callPackage ../development/libraries/libshout { };
@@ -3225,6 +3224,11 @@ let
     inherit (xlibs) libXt libXaw libXtst xextproto libXi libXpm gccmakedep;
   };
 
+  # To expose more packages for Yi, override the extraPackages arg.
+  yi = callPackage ../applications/editors/yi/wrapper.nix {
+    haskellPackages = haskellngPackages;
+  };
+
   youtube-dl = callPackage ../tools/misc/youtube-dl { };
 
   zbar = callPackage ../tools/graphics/zbar {
@@ -3267,6 +3271,8 @@ let
 
   dash = callPackage ../shells/dash { };
 
+  es = callPackage ../shells/es { };
+
   fish = callPackage ../shells/fish {
     python = python27Full;
   };
@@ -6863,7 +6869,7 @@ let
 
   libviper = callPackage ../development/libraries/libviper { };
 
-  libvpx = if stdenv.isDarwin then libvpx-git else callPackage ../development/libraries/libvpx { };
+  libvpx = callPackage ../development/libraries/libvpx { };
   libvpx-git = callPackage ../development/libraries/libvpx/git.nix { };
 
   libvterm = callPackage ../development/libraries/libvterm { };
@@ -7407,6 +7413,10 @@ let
 
   readosm = callPackage ../development/libraries/readosm { };
 
+  leksah = callPackage ../development/tools/leksah {
+    inherit (haskellngPackages) ghcWithPackages;
+  };
+
   librdf_raptor = callPackage ../development/libraries/librdf/raptor.nix { };
 
   librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { };
@@ -8274,8 +8284,7 @@ let
 
   prosody = callPackage ../servers/xmpp/prosody {
     lua5 = lua5_1;
-    inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent;
-    withLibevent = true;
+    inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib;
   };
 
   elasticmq = callPackage ../servers/elasticmq { };
@@ -8689,7 +8698,7 @@ let
   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
     inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
       libxslt expat libpng zlib perl mesa_drivers spice_protocol
-      dbus libuuid openssl gperf m4 libevdev tradcpp
+      dbus libuuid openssl gperf m4 libevdev tradcpp makeWrapper
       autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman;
     bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
     mesa = mesa_noglu;
@@ -9091,6 +9100,16 @@ let
       ];
   };
 
+  linux_4_0 = makeOverridable (import ../os-specific/linux/kernel/linux-4.0.nix) {
+    inherit fetchurl stdenv perl buildLinux;
+    kernelPatches = [ kernelPatches.bridge_stp_helper ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
   linux_testing = makeOverridable (import ../os-specific/linux/kernel/linux-testing.nix) {
     inherit fetchurl stdenv perl buildLinux;
     kernelPatches = [ kernelPatches.bridge_stp_helper ]
@@ -9247,11 +9266,11 @@ let
   };
 
   # The current default kernel / kernel modules.
-  linuxPackages = linuxPackages_3_14;
+  linuxPackages = linuxPackages_3_18;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = pkgs.linuxPackages_3_19;
+  linuxPackages_latest = pkgs.linuxPackages_4_0;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -9264,6 +9283,7 @@ let
   linuxPackages_3_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_14 linuxPackages_3_14);
   linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18);
   linuxPackages_3_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_19 linuxPackages_3_19);
+  linuxPackages_4_0 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_0 linuxPackages_4_0);
   linuxPackages_testing = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing linuxPackages_testing);
   linuxPackages_custom = {version, src, configfile}:
                            let linuxPackages_self = (linuxPackagesFor (pkgs.linuxManualConfig {inherit version src configfile;
@@ -9700,10 +9720,18 @@ let
 
   cacert = callPackage ../data/misc/cacert { };
 
+  caladea = callPackage ../data/fonts/caladea {};
+
   cantarell_fonts = callPackage ../data/fonts/cantarell-fonts { };
 
+  carlito = callPackage ../data/fonts/carlito {};
+
+  comfortaa = callPackage ../data/fonts/comfortaa {};
+
   comic-neue = callPackage ../data/fonts/comic-neue { };
 
+  comic-relief = callPackage ../data/fonts/comic-relief {};
+
   corefonts = callPackage ../data/fonts/corefonts { };
 
   wrapFonts = paths : ((import ../data/fonts/fontWrap) {
@@ -9715,6 +9743,8 @@ let
 
   cm_unicode = callPackage ../data/fonts/cm-unicode {};
 
+  crimson = callPackage ../data/fonts/crimson {};
+
   dejavu_fonts = callPackage ../data/fonts/dejavu-fonts {
     inherit (perlPackages) FontTTF;
   };
@@ -9749,8 +9779,12 @@ let
 
   eb-garamond = callPackage ../data/fonts/eb-garamond { };
 
+  fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
+
   fira = callPackage ../data/fonts/fira { };
 
+  fira-mono = callPackage ../data/fonts/fira-mono { };
+
   freefont_ttf = callPackage ../data/fonts/freefont-ttf { };
 
   freepats = callPackage ../data/misc/freepats { };
@@ -9791,6 +9825,8 @@ let
 
   lmodern = callPackage ../data/fonts/lmodern { };
 
+  lobster-two = callPackage ../data/fonts/lobster-two {};
+
   lohit-fonts = callPackage ../data/fonts/lohit-fonts { };
 
   manpages = callPackage ../data/documentation/man-pages { };
@@ -9819,6 +9855,8 @@ let
 
   opensans-ttf = callPackage ../data/fonts/opensans-ttf { };
 
+  pecita = callPackage ../data/fonts/pecita {};
+
   poly = callPackage ../data/fonts/poly { };
 
   posix_man_pages = callPackage ../data/documentation/man-pages-posix { };
@@ -9843,6 +9881,10 @@ let
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
+  quattrocento = callPackage ../data/fonts/quattrocento {};
+
+  quattrocento-sans = callPackage ../data/fonts/quattrocento-sans {};
+
   r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
 
   r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { };
@@ -10203,6 +10245,8 @@ let
     inherit (gnome) GConf libglade;
   };
 
+  dbvisualizer = callPackage ../applications/misc/dbvisualizer {};
+  
   dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
 
   deadbeef = callPackage ../applications/audio/deadbeef {
@@ -10295,6 +10339,8 @@ let
 
   emacs24-nox = lowPrio (appendToName "nox" (emacs24.override {
     withX = false;
+    withGTK2 = false;
+    withGTK3 = false;
   }));
 
   emacs24Macport_24_3 = lowPrio (callPackage ../applications/editors/emacs-24/macport-24.3.nix {
@@ -10303,7 +10349,10 @@ let
   emacs24Macport_24_4 = lowPrio (callPackage ../applications/editors/emacs-24/macport-24.4.nix {
     stdenv = pkgs.clangStdenv;
   });
-  emacs24Macport = self.emacs24Macport_24_4;
+  emacs24Macport_24_5 = lowPrio (callPackage ../applications/editors/emacs-24/macport-24.5.nix {
+    stdenv = pkgs.clangStdenv;
+  });
+  emacs24Macport = self.emacs24Macport_24_5;
 
   emacsPackagesGen = emacs: self: let callPackage = newScope self; in rec {
     inherit emacs;
@@ -11532,6 +11581,8 @@ let
 
   pidginwindowmerge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { };
 
+  purple-plugin-pack = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack { };
+
   toxprpl = callPackage ../applications/networking/instant-messengers/pidgin-plugins/tox-prpl { };
 
   pinfo = callPackage ../applications/misc/pinfo { };
@@ -12807,6 +12858,8 @@ let
   };
 
   simutrans = callPackage ../games/simutrans { };
+  # get binaries without data built by Hydra
+  simutrans_binaries = lowPrio simutrans.binaries;
 
   soi = callPackage ../games/soi {};
 
@@ -13738,7 +13791,7 @@ let
 
   guix = callPackage ../tools/package-management/guix { };
 
-  gxemul = callPackage ../misc/gxemul { };
+  gxemul = callPackage ../misc/emulators/gxemul { };
 
   hatari = callPackage ../misc/emulators/hatari { };
 
@@ -14166,6 +14219,7 @@ let
   youtubeDL = youtube-dl;  # added 2014-10-26
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   htmlTidy = html-tidy;  # added 2014-12-06
+  libtidy = html-tidy;  # added 2014-12-21
   speedtest_cli = speedtest-cli;  # added 2015-02-17
   sqliteInteractive = sqlite-interactive;  # added 2014-12-06
   nfsUtils = nfs-utils;  # added 2014-12-06
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index df83128386ad..a4f5310ab952 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -270,16 +270,32 @@ let self = _self // overrides;
 
   company = melpaBuild rec {
     pname   = "company";
-    version = "0.8.6";
+    version = "0.8.12";
     src = fetchFromGitHub {
       owner  = "company-mode";
       repo   = "company-mode";
       rev    = version;
-      sha256 = "1xwxyqg5dan8m1qkdxyzm066ryf24h07karpdlm3s09izfdny33f";
+      sha256 = "08rrjfp2amgya1hswjz3vd5ja6lg2nfmm7454p0h1naz00hlmmw0";
     };
     meta = { license = gpl3Plus; };
   };
 
+  company-ghc = melpaBuild rec {
+    pname   = "company-ghc";
+    version = "0.1.10";
+    src = fetchFromGitHub {
+      owner  = "iquiw";
+      repo   = "company-ghc";
+      rev    = "v${version}";
+      sha256 = "0lzwmjf91fxhkknk4z9m2v6whk1fzpa7n1rspp61lwmyh5gakj3x";
+    };
+    packageRequires = [ company ghc-mod ];
+    meta = {
+      description = "company-mode completion backend for haskell-mode via ghc-mod";
+      license = gpl3Plus;
+    };
+  };
+
   dash = melpaBuild rec {
     pname   = "dash";
     version = "2.9.0";
@@ -352,6 +368,38 @@ let self = _self // overrides;
     meta = { license = gpl3Plus; };
   };
 
+  evil-indent-textobject = melpaBuild rec {
+    pname   = "evil-indent-textobject";
+    version = "0.2";
+    src = fetchFromGitHub {
+      owner  = "cofi";
+      repo   = pname;
+      rev    = "70a1154a531b7cfdbb9a31d6922482791e20a3a7";
+      sha256 = "0nghisnc49ivh56mddfdlcbqv3y2vqzjvkpgwv3zp80ga6ghvdmz";
+    };
+    packageRequires = [ evil ];
+    meta = {
+      description = "Textobject for evil based on indentation";
+      license = gpl2Plus;
+    };
+  };
+
+  evil-leader = melpaBuild rec {
+    pname   = "evil-leader";
+    version = "0.4.3";
+    src = fetchFromGitHub {
+      owner  = "cofi";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5";
+    };
+    packageRequires = [ evil ];
+    meta = {
+      description = "<leader> key for evil";
+      license = gpl3Plus;
+    };
+  };
+
   evil-surround = melpaBuild rec {
     pname   = "evil-surround";
     version = "20140616";
@@ -461,6 +509,21 @@ let self = _self // overrides;
     meta = { license = bsd3; };
   };
 
+  git-auto-commit-mode = melpaBuild rec {
+    pname = "git-auto-commit-mode";
+    version = "4.4.0";
+    src = fetchFromGitHub {
+      owner  = "ryuslash";
+      repo   = pname;
+      rev    = version;
+      sha256 = "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh";
+    };
+    meta = {
+      description = "Automatically commit to git after each save";
+      license = gpl3Plus;
+    };
+  };
+
   git-commit-mode = melpaBuild rec {
     pname = "git-commit-mode";
     version = "1.0.0";
@@ -487,6 +550,21 @@ let self = _self // overrides;
     meta = { license = gpl3Plus; };
   };
 
+  git-timemachine = melpaBuild rec {
+    pname = "git-timemachine";
+    version = "2.3";
+    src = fetchFromGitHub {
+      owner  = "pidu";
+      repo   = pname;
+      rev    = version;
+      sha256 = "1lm6rgbzbxnwfn48xr6bg05lb716grfr4nqm8lvjm64nabh5y9bh";
+    };
+    meta = {
+      description = "Step through historic revisions of git controlled files";
+      license = gpl3Plus;
+    };
+  };
+
   gitattributes-mode = melpaBuild rec {
     pname = "gitattributes-mode";
     version = "1.0.0";
@@ -579,12 +657,12 @@ let self = _self // overrides;
 
   haskell-mode = melpaBuild rec {
     pname   = "haskell-mode";
-    version = "20150101";
+    version = "13.12";
     src = fetchFromGitHub {
       owner  = "haskell";
       repo   = pname;
-      rev    = "0db5efaaeb3b22e5a3fdafa600729e14c1716ee2";
-      sha256 = "0d63cgzj579cr8zbrnl0inyy35b26sxinqxr7bgrjsngpmhm52an";
+      rev    = "v${version}";
+      sha256 = "1l8sby2626hpp0li23mic3qq8w7jirsp1hd08hkx2z84gvz4j6fz";
     };
     meta = { license = gpl3Plus; };
   };
@@ -748,10 +826,10 @@ let self = _self // overrides;
 
   org-plus-contrib = melpaBuild rec {
     pname   = "org-plus-contrib";
-    version = "20141020";
+    version = "20150406";
     src = fetchurl {
       url    = "http://orgmode.org/elpa/${pname}-${version}.tar";
-      sha256 = "02njxmdbmias2f5psvwqc115dyakcwm2g381gfdv8qz4sqav0r77";
+      sha256 = "1ny2myg4rm75ab2gl5rqrwy7h53q0vv18df8gk3zv13kljj76c6i";
     };
     buildPhase = ''
       cp $src ${pname}-${version}.tar
@@ -819,6 +897,21 @@ let self = _self // overrides;
     meta = { license = gpl3Plus; };
   };
 
+  rainbow-delimiters = melpaBuild rec {
+    pname = "rainbow-delimiters";
+    version = "2.1.1";
+    src = fetchFromGitHub {
+      owner = "Fanael";
+      repo = pname;
+      rev = version;
+      sha256 = "0gxc8j5a14bc9mp43cbcz41ipc0z1yvmypg52dnl8hadirry20gd";
+    };
+    meta = {
+      description = "Highlight delimiters with colors according to their depth";
+      license = gpl3Plus;
+    };
+  };
+
   request = melpaBuild rec {
     pname = "request";
     version = "0.2.0";
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b2cebf63fff0..82550b9c9318 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -3139,14 +3139,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   wordTrie = callPackage ../development/libraries/haskell/word-trie {};
 
-  # This is an unwrapped version of Yi, it will not behave well (no
-  # M-x or reload). Use ‘yiCustom’ instead.
+  # This is an unwrapped version of Yi, it will not behave well. Use
+  # ‘yi’ from all-packages.nix instead.
   yi = callPackage ../applications/editors/yi/yi.nix { };
 
-  yiCustom = callPackage ../applications/editors/yi/yi-custom.nix {
-    extraPackages = pkgs: [];
-  };
-
   yiFuzzyOpen = callPackage ../development/libraries/haskell/yi-fuzzy-open {};
 
   yiMonokai = callPackage ../development/libraries/haskell/yi-monokai {};
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index ce75904418da..766ff90d5b7b 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -7,7 +7,7 @@
 
 { fetchurl, stdenv, lua, callPackage, unzip, zziplib, pkgconfig, libtool
 , pcre, oniguruma, gnulib, tre, glibc, sqlite, openssl, expat, cairo
-, perl, gtk, python, glib, gobjectIntrospection, libevent
+, perl, gtk, python, glib, gobjectIntrospection, libevent, zlib
 }:
 
 let
@@ -205,6 +205,37 @@ let
     };
   };
 
+  luazlib = buildLuaPackage rec {
+    name = "zlib-${version}";
+    version = "0.4";
+
+    src = fetchurl {
+      url = "https://github.com/brimworks/lua-zlib/archive/v${version}.tar.gz";
+      sha256 = "1l32nwyh8b4vicxvlhbv9qhkhklbhvjfn8wd72bjk7ac9kz172rd";
+    };
+
+    buildInputs = [ zlib ];
+
+    preBuild = ''
+      makeFlagsArray=(
+        linux
+        LUAPATH="$out/share/lua/${lua.luaversion}"
+        LUACPATH="$out/lib/lua/${lua.luaversion}"
+        INCDIR="-I${lua}/include"
+        LIBDIR="-L$out/lib");
+    '';
+
+    preInstall = "mkdir -p $out/lib/lua/${lua.luaversion}";
+
+    meta = with stdenv.lib; {
+      homepage = https://github.com/brimworks/lua-zlib;
+      hydraPlatforms = platforms.linux;
+      license = licenses.mit;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+      
+
   luastdlib = buildLuaPackage {
     name = "stdlib";
     src = fetchurl {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index d97d6e182e8a..62fb56b4b1ec 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -104,11 +104,11 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK ModulePluggable ];
   };
 
-  AnyEvent = buildPerlPackage {
-    name = "AnyEvent-7.07";
+  AnyEvent = buildPerlPackage rec {
+    name = "AnyEvent-7.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.07.tar.gz;
-      sha256 = "01iilh11xc2gw6fxxr6il3r6n1k4cf6swaddgbhi525wfzlchk2c";
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz";
+      sha256 = "16nnqzxy5baiar6gxnq5w296mmjgijcn1jq8rp867nksph03mxz8";
     };
     meta = {
       maintainers = with maintainers; [ ocharles ];
@@ -117,10 +117,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   AnyEventI3 = buildPerlPackage rec {
-    name = "AnyEvent-I3-0.15";
+    name = "AnyEvent-I3-0.16";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz";
-      sha256 = "0x8zi06667bdgaxn7driqx0d71mp6021r51hdzmj5m5qbhi2hvqi";
+      sha256 = "1qwva5vmmn929l6k9wzhp4h80ad4qm4m1g2dyv4nlas624003hig";
     };
     propagatedBuildInputs = [ AnyEvent JSONXS ];
     meta = {
@@ -10567,10 +10567,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   X11XCB = buildPerlPackage rec {
-    name = "X11-XCB-0.11";
+    name = "X11-XCB-0.12";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/${name}.tar.gz";
-      sha256 = "18i3z1fzw76kl9n5driys12r6vhp3r6rmb2pjn5nc7m9n4bwgh38";
+      sha256 = "15jq55qcc27s5bn925pwry0vx2f4d42rlyz2hlfglnn2qnhsp37s";
     };
     AUTOMATED_TESTING = false;
     buildInputs = [
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5d3ba25347be..5f79ddea816d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -50,6 +50,32 @@ let
     { deps = pkgs.makeWrapper;
       substitutions.libPrefix = python.libPrefix;
       substitutions.executable = "${python}/bin/${python.executable}";
+      substitutions.magicalSedExpression = let
+        # Looks weird? Of course, it's between single quoted shell strings.
+        # NOTE: Order DOES matter here, so single character quotes need to be
+        #       at the last position.
+        quoteVariants = [ "'\"'''\"'" "\"\"\"" "\"" "'\"'\"'" ]; # hey Vim: ''
+
+        mkStringSkipper = labelNum: quote: let
+          label = "q${toString labelNum}";
+          isSingle = elem quote [ "\"" "'\"'\"'" ];
+          endQuote = if isSingle then "[^\\\\]${quote}" else quote;
+        in ''
+          /^ *[a-z]?${quote}/ {
+            /${quote}${quote}|${quote}.*${endQuote}/{n;br}
+            :${label}; n; /^${quote}/{n;br}; /${endQuote}/{n;br}; b${label}
+          }
+        '';
+
+      in ''
+        1 {
+          /^#!/!b; :r
+          /\\$/{N;br}
+          /__future__|^ *(#.*)?$/{n;br}
+          ${concatImapStrings mkStringSkipper quoteVariants}
+          /^ *[^# ]/i import sys; sys.argv[0] = '"'$(basename "$i")'"'
+        }
+      '';
     }
    ../development/python-modules/generic/wrap.sh;
 
@@ -484,11 +510,11 @@ let
 
   arrow = buildPythonPackage rec {
     name = "arrow-${version}";
-    version = "0.4.4";
+    version = "0.5.0";
 
     src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/a/arrow/${name}.tar.gz";
-      sha256 = "1sdr4gyjgvz86yr0ll0i11mgy8l1slndr7f0ngam87rpy78gp052";
+      sha256 = "1q3a6arjm6ysl2ff6lgdm504np7b1rbivrzspybjypq1nczcb7qy";
     };
 
     doCheck = false;
@@ -745,11 +771,11 @@ let
   };
 
   bcdoc = buildPythonPackage rec {
-    name = "bcdoc-0.12.1";
+    name = "bcdoc-0.13.0";
 
     src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.12.1.tar.gz";
-      md5 = "7c8617347c294ea4d36ec73fb5b2c26e";
+      url = "https://pypi.python.org/packages/source/b/bcdoc/bcdoc-0.13.0.tar.gz";
+      md5 = "819882458be7b642e00ddc9846073d89";
     };
 
     buildInputs = with self; [ self.docutils self.six ];
@@ -1199,12 +1225,12 @@ let
   };
 
   botocore = buildPythonPackage rec {
-    version = "0.81.0";
+    version = "0.102.0";
     name = "botocore-${version}";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/b/botocore/${name}.tar.gz";
-      sha256 = "0mdkkk0038ng6557cw5520xy624sqgv0avjx387bc3fbgxi8bksj";
+      sha256 = "1266hwkcchzr9r2z1q1150zmk20p3d4a75p6nppi6w9bhsywxhnr";
     };
 
     propagatedBuildInputs =
@@ -2385,11 +2411,11 @@ let
 
 
   deform = buildPythonPackage rec {
-    name = "deform-0.9.9";
+    name = "deform-2.0a2";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/d/deform/${name}.tar.gz";
-      sha256 = "0ympsjhxz5v8h4hi1mv811h064221bh26d68l9hv1x6m7sxbxpd0";
+      md5 = "7a90d41f7fbc18002ce74f39bd90a5e4";
     };
 
     buildInputs = with self; [] ++ optional isPy26 unittest2;
@@ -3353,11 +3379,11 @@ let
 
 
   peppercorn = buildPythonPackage rec {
-    name = "peppercorn-0.4";
+    name = "peppercorn-0.5";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/peppercorn/${name}.tar.gz";
-      md5 = "464d6f2342eaf704dfb52046c1f5c320";
+      md5 = "f08efbca5790019ab45d76b7244abd40";
     };
 
     meta = {
@@ -3437,11 +3463,11 @@ let
 
 
   pyramid = buildPythonPackage rec {
-    name = "pyramid-1.5.1";
+    name = "pyramid-1.5.2";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid/${name}.tar.gz";
-      md5 = "8a1ab3b773d8e22437828f7df22852c1";
+      md5 = "d56b140b41d42f818f4349d94d968c9a";
     };
 
     preCheck = ''
@@ -3581,11 +3607,11 @@ let
 
 
   pyramid_tm = buildPythonPackage rec {
-    name = "pyramid_tm-0.7";
+    name = "pyramid_tm-0.10";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pyramid_tm/${name}.tar.gz";
-      md5 = "6dc917d262c69366630c542bd21859a3";
+      md5 = "89a293488093d6c30036345fa46184d2";
     };
 
     # tests are failing in version 0.7 but are fixed in trunk
@@ -4010,11 +4036,11 @@ let
 
 
   zope_deprecation = buildPythonPackage rec {
-    name = "zope.deprecation-3.5.1";
+    name = "zope.deprecation-4.1.2";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/z/zope.deprecation/${name}.tar.gz";
-      md5 = "836cfea5fad548cd5a0d9af1300ec05e";
+      md5 = "e9a663ded58f4f9f7881beb56cae2782";
     };
 
     buildInputs = with self; [ zope_testing ];
@@ -4030,11 +4056,11 @@ let
 
 
   venusian = buildPythonPackage rec {
-    name = "venusian-1.0a7";
+    name = "venusian-1.0";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/v/venusian/${name}.tar.gz";
-      md5 = "6f67506dd3cf77116f1c01682a6c3f27";
+      md5 = "dccf2eafb7113759d60c86faf5538756";
     };
 
     # TODO: https://github.com/Pylons/venusian/issues/23
@@ -4685,11 +4711,11 @@ let
   };
 
   flake8 = buildPythonPackage (rec {
-    name = "flake8-2.1.0";
+    name = "flake8-2.3.0";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/f/flake8/${name}.tar.gz";
-      md5 = "cf326cfb88a1db6c5b29a3a6d9efb257";
+      md5 = "488d6166f6b9ef9fe9d433b95e77dc07";
     };
 
     buildInputs = with self; [ nose mock ];
@@ -5298,14 +5324,14 @@ let
 
   glances = buildPythonPackage rec {
     name = "glances-${version}";
-    version = "2.1";
+    version = "2.3";
     disabled = isPyPy;
 
     src = pkgs.fetchFromGitHub {
       owner = "nicolargo";
       repo = "glances";
       rev = "v${version}";
-      sha256 = "1bgr7lif0bpnz39arcdrsfdy7ra4c3ay2pxz1lvh4fqxyxwp3gm6";
+      sha256 = "09x9g4wzfxfhpby3aa1fbhw3iqv1vyd6h526nrm9612ba5d0myh9";
     };
 
     doCheck = false;
@@ -5880,11 +5906,11 @@ let
 
 
   jmespath = buildPythonPackage rec {
-    name = "jmespath-0.5.0";
+    name = "jmespath-0.6.1";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/j/jmespath/${name}.tar.gz";
-      sha256 = "1hiqqaz1a9qv1j8n02r9c2c010krr0ar2sf35j2z2kci7ywky963";
+      sha256 = "1f7nxk62yifh6zwhf34w4fgwxvyls8x2daphljgrg4lh0i2sgwgr";
     };
 
     propagatedBuildInputs = with self; [ ply ];
@@ -6335,14 +6361,21 @@ let
 
 
   mccabe = buildPythonPackage (rec {
-    name = "mccabe-0.2.1";
+    name = "mccabe-0.3";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/m/mccabe/${name}.tar.gz";
-      md5 = "5a3f3fa6a4bad126c88aaaa7dab682f5";
+      md5 = "81640948ff226f8c12b3277059489157";
     };
 
-    buildInputs = with self; [ ];
+    # See https://github.com/flintwork/mccabe/issues/31
+    postPatch = ''
+      cp "${pkgs.fetchurl {
+        url = "https://raw.githubusercontent.com/flintwork/mccabe/"
+            + "e8aea16d28e92bd3c62601275762fc9c16808f6c/test_mccabe.py";
+        sha256 = "0xhjxpnaxvbpi4myj9byrban7a5nrw931br9sgvfk42ayg4sn6lm";
+      }}" test_mccabe.py
+    '';
 
     meta = {
       description = "McCabe checker, plugin for flake8";
@@ -6499,11 +6532,11 @@ let
 
   rainbowstream = buildPythonPackage rec {
     name = "rainbowstream-${version}";
-    version = "1.1.6";
+    version = "1.2.5";
 
     src = pkgs.fetchurl {
       url    = "https://pypi.python.org/packages/source/r/rainbowstream/${name}.tar.gz";
-      sha256 = "04i2a8a5k6n6lgfpa9bzzbkhvywgd4bn3qlspl97pn8ply9kgszm";
+      sha256 = "1fch1vckzf4nmq67fk2jgfxpvyygviavx8di4xhjq2mib9nfc3mr";
     };
 
     doCheck = false;
@@ -7449,12 +7482,12 @@ let
 
   obfsproxy = buildPythonPackage ( rec {
     name = "obfsproxy-${version}";
-    version = "0.2.12";
+    version = "0.2.13";
 
     src = pkgs.fetchgit {
       url = meta.repositories.git;
       rev = "refs/tags/${name}";
-      sha256 = "82d694aa7f3de7327fc4dc517fb262ab076f536ed6d4377573c76df8cf019dcf";
+      sha256 = "16jb8x5hbs3g4dq10y6rqc1005bnffwnlws8x7j1d96n7k9mjn8h";
     };
 
     propagatedBuildInputs = with self;
@@ -7791,7 +7824,7 @@ let
 
     propagatedBuildInputs = with self; [
       jinja2 pygments docutils pytz unidecode six dateutil feedgenerator
-      blinker pillow beautifulsoup4
+      blinker pillow beautifulsoup4 markupsafe
     ];
 
     meta = {
@@ -7876,11 +7909,11 @@ let
 
 
   pg8000 = buildPythonPackage rec {
-    name = "pg8000-1.9.14";
+    name = "pg8000-1.10.1";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/p/pg8000/${name}.tar.gz";
-      sha256 = "1vandvfaf1m3a1fbc7nbm6syfqr9bazhzsnmai0jpjkbmb349izs";
+      md5 = "173275fd76628b0e0cbed70ed9ce9eb9";
     };
 
     propagatedBuildInputs = with self; [ pytz ];
@@ -10162,13 +10195,13 @@ let
   };
 
   robotframework = buildPythonPackage rec {
-    version = "2.8.6";
+    version = "2.8.7";
     name = "robotframework-${version}";
     disabled = isPy3k;
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/r/robotframework/${name}.tar.gz";
-      sha256 = "0hl44pwfkagr5272s90y0bkfllj0q1l4yw4rvkdrc6ikn6l61d9v";
+      sha256 = "0mfd0s989j3jrpl8q0lb4wsjy1x280chfr9r74m2dyi9c7rxzc58";
     };
 
     # error: invalid command 'test'
@@ -11951,11 +11984,11 @@ let
 
 
   turses = buildPythonPackage (rec {
-    name = "turses-0.2.22";
+    name = "turses-0.2.23";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/turses/${name}.tar.gz";
-      sha256 = "1dqgvdqly4c4d6819mbkqy4g8r7zch4dkmxicfwck7q8h96wmyx3";
+      md5 = "71b9e3ab12d9186798e739b5273d1438";
     };
 
     propagatedBuildInputs = with self; [ oauth2 urwid tweepy ] ++ optional isPy26 argparse;
@@ -11979,7 +12012,7 @@ let
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/tweepy/${name}.tar.gz";
-      sha256 = "0wcj5g21brcqr1g7m4by4rs72lfiib4scg19qynn2wz1x77jyrzp";
+      md5 = "065c80d244360988c61d64b5dfb7e229";
     };
 
     meta = {
@@ -12172,14 +12205,14 @@ let
 
 
   urwid = buildPythonPackage (rec {
-    name = "urwid-1.2.1";
+    name = "urwid-1.3.0";
 
     # multiple:  NameError: name 'evl' is not defined
     doCheck = false;
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/u/urwid/${name}.tar.gz";
-      md5 = "6a05ada11b87e7b026b01fc5150855b0";
+      md5 = "a989acd54f4ff1a554add464803a9175";
     };
 
     meta = {
@@ -12324,11 +12357,11 @@ let
   });
 
   waitress = buildPythonPackage rec {
-    name = "waitress-0.8.7";
+    name = "waitress-0.8.9";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/w/waitress/${name}.tar.gz";
-      md5 = "714f3d458d82a47f12fb168460de8366";
+      md5 = "da3f2e62b3676be5dd630703a68e2a04";
     };
 
     doCheck = false;
@@ -13544,11 +13577,11 @@ let
   };
 
   translationstring = buildPythonPackage rec {
-    name = "translationstring-1.1";
+    name = "translationstring-1.3";
 
     src = pkgs.fetchurl {
       url = "http://pypi.python.org/packages/source/t/translationstring/${name}.tar.gz";
-      md5 = "0979b46d8f0f852810c8ec4be5c26cf2";
+      md5 = "a4b62e0f3c189c783a1685b3027f7c90";
     };
 
     meta = {