about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-07-22 11:00:00 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-07-22 11:00:00 +0200
commit7f410ef923b5959147e3902f727bb91b08543f72 (patch)
tree5081fe1dbc7731c179ac8ab945e9ae2d9caefcfd
parentf77abc8b7a8b4279258862a7b6d3810e73d4b092 (diff)
parent7491fccfe65e204ecbc7addc7ccac7b6b69fe3c5 (diff)
downloadnixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar.gz
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar.bz2
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar.lz
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar.xz
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.tar.zst
nixlib-7f410ef923b5959147e3902f727bb91b08543f72.zip
Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/misc/vim-plugins/default.nix
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/doc/manual/installation.xml10
-rw-r--r--nixos/modules/config/system-path.nix1
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix49
-rw-r--r--nixos/modules/services/databases/redis.nix35
-rw-r--r--nixos/modules/services/logging/logstash.nix4
-rw-r--r--nixos/modules/services/networking/polipo.nix118
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/e18.nix40
-rw-r--r--nixos/modules/system/boot/systemd.nix1
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix22
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix3
-rw-r--r--pkgs/applications/audio/gpodder/default.nix45
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix4
-rw-r--r--pkgs/applications/editors/lighttable/default.nix58
-rw-r--r--pkgs/applications/editors/vim/configurable.nix46
-rw-r--r--pkgs/applications/editors/vim/default.nix6
-rw-r--r--pkgs/applications/editors/vim/wrapper.nix32
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix15
-rw-r--r--pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch200
-rw-r--r--pkgs/applications/graphics/hoodle/default.nix5
-rw-r--r--pkgs/applications/misc/blender/default.nix25
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/finalterm/default.nix60
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex/default.nix52
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/build-support/fetchgit/private.nix19
-rwxr-xr-xpkgs/build-support/upstream-updater/urls-from-page.sh2
-rw-r--r--pkgs/desktops/e18/default.nix16
-rw-r--r--pkgs/desktops/e18/econnman.nix23
-rw-r--r--pkgs/desktops/e18/efl.nix23
-rw-r--r--pkgs/desktops/e18/elementary.nix20
-rw-r--r--pkgs/desktops/e18/emotion.nix20
-rw-r--r--pkgs/desktops/e18/enlightenment.nix20
-rw-r--r--pkgs/desktops/e18/evas.nix17
-rw-r--r--pkgs/desktops/e18/terminology.nix23
-rw-r--r--pkgs/development/compilers/hhvm/default.nix8
-rw-r--r--pkgs/development/compilers/idris/default.nix30
-rw-r--r--pkgs/development/compilers/openjdk-darwin/default.nix3
-rw-r--r--pkgs/development/compilers/openjdk/default.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh (renamed from pkgs/development/compilers/jdk/dlj-bundle-builder.sh)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix (renamed from pkgs/development/compilers/jdk/jdk-linux-base.nix)22
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-construct.sh (renamed from pkgs/development/compilers/jdk/jdk6-construct.sh)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-linux.nix (renamed from pkgs/development/compilers/jdk/jdk6-linux.nix)0
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk7-linux.nix (renamed from pkgs/development/compilers/jdk/jdk7-linux.nix)6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8-linux.nix (renamed from pkgs/development/compilers/jdk/jdk8-linux.nix)6
-rw-r--r--pkgs/development/libraries/fftw/default.nix54
-rw-r--r--pkgs/development/libraries/haskell/HFuse/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/HTF/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix19
-rw-r--r--pkgs/development/libraries/haskell/aeson-utils/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.8.0.0.nix28
-rw-r--r--pkgs/development/libraries/haskell/applicative-quoters/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/blaze-from-html/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/cgrep/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/code-builder/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/connection/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/coroutine-object/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/deepseq-th/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/ekg-carbon/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/engine-io-snap/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/engine-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/focus/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/generic-aeson/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/gtk/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hi/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/highlighting-kate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hoodle-builder/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/hoodle-core/default.nix31
-rw-r--r--pkgs/development/libraries/haskell/hoodle-extra/default.nix29
-rw-r--r--pkgs/development/libraries/haskell/hoodle-parser/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/hoodle-render/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hoodle-types/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/http-client-tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/imm/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/interpolate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iproute/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/jmacro-rpc/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/jmacro/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/json-schema/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/loch-th/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/multipart/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/network-carbon/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/parsers/0.12.nix23
-rw-r--r--pkgs/development/libraries/haskell/path-pieces/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/placeholders/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/plugins/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reflection/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/regular-xmlpickler/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/rest-client/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/rest-happstack/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/rest-snap/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/rest-stringmap/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/rest-types/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/rest-wai/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/safe/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/simple-conduit/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/socket-io/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/statistics/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/stm-containers/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/taggy-lens/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/template-default/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/template/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tostring/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/tz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/unix-time/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/uri-encode/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/webdriver/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/word8/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xournal-parser/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix4
-rw-r--r--pkgs/development/libraries/libcredis/default.nix29
-rw-r--r--pkgs/development/libraries/libmemcached/default.nix10
-rw-r--r--pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch19
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix4
-rw-r--r--pkgs/development/mobile/titaniumenv/default.nix5
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/default.nix2
-rw-r--r--pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix6
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix13
-rw-r--r--pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix77
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix2
-rw-r--r--pkgs/development/python-modules/mygpoclient/default.nix26
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.3.nix23
-rw-r--r--pkgs/development/tools/haskell/HaRe/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/codex/default.nix5
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/prelink/default.nix22
-rw-r--r--pkgs/development/tools/misc/usb-modeswitch/default.nix12
-rw-r--r--pkgs/development/tools/vagrant/default.nix19
-rw-r--r--pkgs/misc/my-env/loadenv.sh6
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix8
-rw-r--r--pkgs/misc/vim-plugins/default.nix75
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix7
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh1
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix12
-rw-r--r--pkgs/servers/monitoring/munin/default.nix11
-rw-r--r--pkgs/servers/mpd/default.nix2
-rw-r--r--pkgs/servers/polipo/default.nix10
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix4
-rw-r--r--pkgs/shells/zsh/default.nix2
-rw-r--r--pkgs/tools/X11/bgs/default.nix4
-rw-r--r--pkgs/tools/misc/cpuminer/default.nix6
-rw-r--r--pkgs/tools/misc/cv/default.nix24
-rw-r--r--pkgs/tools/misc/gbdfed/Makefile.patch15
-rw-r--r--pkgs/tools/misc/gbdfed/default.nix29
-rw-r--r--pkgs/tools/misc/logstash/default.nix39
-rw-r--r--pkgs/tools/misc/openopc/default.nix46
-rw-r--r--pkgs/tools/networking/connman/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpcd/check-interface.patch44
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpcd/reload.patch26
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/system/collectd/default.nix46
-rw-r--r--pkgs/tools/system/efibootmgr/arbitrary-filenames.patch24
-rw-r--r--pkgs/tools/system/efibootmgr/default.nix30
-rw-r--r--pkgs/tools/system/efivar/default.nix28
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix76
-rw-r--r--pkgs/top-level/haskell-packages.nix77
-rw-r--r--pkgs/top-level/python-packages.nix56
179 files changed, 2648 insertions, 603 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 6110b74933b3..7a5a7c254944 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -89,6 +89,7 @@
   sander = "Sander van der Burg <s.vanderburg@tudelft.nl>";
   shlevy = "Shea Levy <shea@shealevy.com>";
   simons = "Peter Simons <simons@cryp.to>";
+  skeidel = "Sven Keidel <svenkeidel@gmail.com>";
   smironov = "Sergey Mironov <ierton@gmail.com>";
   sprock = "Roger Mason <rmason@mun.ca>";
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
diff --git a/nixos/doc/manual/installation.xml b/nixos/doc/manual/installation.xml
index 3da5e3009771..4cbfcc229fa4 100644
--- a/nixos/doc/manual/installation.xml
+++ b/nixos/doc/manual/installation.xml
@@ -320,7 +320,10 @@ changes:
 <itemizedlist>
   <listitem>
     <para>You should boot the live CD in UEFI mode (consult your
-    specific hardware's documentation for instructions).</para>
+    specific hardware's documentation for instructions). You may find
+    the <link
+    xlink:href="http://www.rodsbooks.com/refind">rEFInd
+    boot manager</link> useful.</para>
   </listitem>
   <listitem>
     <para>Instead of <command>fdisk</command>, you should use
@@ -336,6 +339,11 @@ changes:
     UEFI mode.</para>
   </listitem>
   <listitem>
+    <para>After having mounted your installation partition to
+    <code>/mnt</code>, you must mount the <code>boot</code> partition
+    to <code>/mnt/boot</code>.</para>
+  </listitem>
+  <listitem>
     <para>You may want to look at the options starting with
     <option>boot.loader.efi</option> and <option>boot.loader.gummiboot</option>
     as well.</para>
diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix
index 2ea998bbb635..6b4c38172e95 100644
--- a/nixos/modules/config/system-path.nix
+++ b/nixos/modules/config/system-path.nix
@@ -110,6 +110,7 @@ in
         "/man"
         "/sbin"
         "/share/emacs"
+        "/share/vim-plugins"
         "/share/org"
         "/share/info"
         "/share/terminfo"
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 31de680514e6..a71f5152bd15 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -136,6 +136,7 @@
       nsd = 126;
       gitolite = 127;
       znc = 128;
+      polipo = 129;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -246,6 +247,7 @@
       nsd = 126;
       firebird = 127;
       znc = 128;
+      polipo = 129;
 
       # When adding a gid, make sure it doesn't match an existing uid. And don't use gids above 399!
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index a9039eea71d4..68971551d89e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -14,17 +14,17 @@
   ./config/power-management.nix
   ./config/pulseaudio.nix
   ./config/shells-environment.nix
-  ./config/system-environment.nix
   ./config/swap.nix
   ./config/sysctl.nix
+  ./config/system-environment.nix
   ./config/system-path.nix
   ./config/timezone.nix
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
   ./config/zram.nix
   ./hardware/all-firmware.nix
-  ./hardware/cpu/intel-microcode.nix
   ./hardware/cpu/amd-microcode.nix
+  ./hardware/cpu/intel-microcode.nix
   ./hardware/network/b43.nix
   ./hardware/network/intel-2100bg.nix
   ./hardware/network/intel-2200bg.nix
@@ -52,6 +52,7 @@
   ./programs/blcr.nix
   ./programs/environment.nix
   ./programs/info.nix
+  ./programs/screen.nix
   ./programs/shadow.nix
   ./programs/shell.nix
   ./programs/ssh.nix
@@ -59,7 +60,6 @@
   ./programs/venus.nix
   ./programs/wvdial.nix
   ./programs/zsh/zsh.nix
-  ./programs/screen.nix
   ./rename.nix
   ./security/apparmor.nix
   ./security/apparmor-suid.nix
@@ -92,15 +92,15 @@
   ./services/databases/4store.nix
   ./services/databases/couchdb.nix
   ./services/databases/firebird.nix
+  ./services/databases/influxdb.nix
   ./services/databases/memcached.nix
+  ./services/databases/monetdb.nix
   ./services/databases/mongodb.nix
-  ./services/databases/redis.nix
   ./services/databases/mysql.nix
   ./services/databases/openldap.nix
   ./services/databases/postgresql.nix
+  ./services/databases/redis.nix
   ./services/databases/virtuoso.nix
-  ./services/databases/monetdb.nix
-  ./services/databases/influxdb.nix
   ./services/desktops/accountsservice.nix
   ./services/desktops/geoclue2.nix
   ./services/desktops/gnome3/at-spi2-core.nix
@@ -124,16 +124,16 @@
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
   ./services/hardware/sane.nix
+  ./services/hardware/thinkfan.nix
   ./services/hardware/udev.nix
   ./services/hardware/udisks2.nix
   ./services/hardware/upower.nix
-  ./services/hardware/thinkfan.nix
   ./services/logging/klogd.nix
   ./services/logging/logcheck.nix
   ./services/logging/logrotate.nix
   ./services/logging/logstash.nix
-  ./services/logging/syslogd.nix
   ./services/logging/rsyslogd.nix
+  ./services/logging/syslogd.nix
   ./services/mail/dovecot.nix
   ./services/mail/freepops.nix
   ./services/mail/mail.nix
@@ -146,12 +146,12 @@
   ./services/misc/disnix.nix
   ./services/misc/felix.nix
   ./services/misc/folding-at-home.nix
-  ./services/misc/gpsd.nix
   ./services/misc/gitolite.nix
+  ./services/misc/gpsd.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
-  ./services/misc/nix-ssh-serve.nix
   ./services/misc/nixos-manual.nix
+  ./services/misc/nix-ssh-serve.nix
   ./services/misc/rippled.nix
   ./services/misc/rogue.nix
   ./services/misc/svnserve.nix
@@ -179,24 +179,23 @@
   ./services/networking/bind.nix
   ./services/networking/bitlbee.nix
   ./services/networking/btsync.nix
+  ./services/networking/chrony.nix
   ./services/networking/cjdns.nix
-  ./services/networking/connman.nix
   ./services/networking/cntlm.nix
-  ./services/networking/chrony.nix
+  ./services/networking/connman.nix
   ./services/networking/ddclient.nix
   ./services/networking/dhcpcd.nix
   ./services/networking/dhcpd.nix
   ./services/networking/dnsmasq.nix
   ./services/networking/ejabberd.nix
   ./services/networking/firewall.nix
-  ./services/networking/haproxy.nix
-  ./services/networking/tcpcrypt.nix
   ./services/networking/flashpolicyd.nix
   ./services/networking/freenet.nix
   ./services/networking/git-daemon.nix
   ./services/networking/gnunet.nix
   ./services/networking/gogoclient.nix
   ./services/networking/gvpe.nix
+  ./services/networking/haproxy.nix
   ./services/networking/hostapd.nix
   ./services/networking/ifplugd.nix
   ./services/networking/iodined.nix
@@ -214,6 +213,7 @@
   ./services/networking/oidentd.nix
   ./services/networking/openfire.nix
   ./services/networking/openvpn.nix
+  ./services/networking/polipo.nix
   ./services/networking/prayer.nix
   ./services/networking/privoxy.nix
   ./services/networking/quassel.nix
@@ -224,10 +224,11 @@
   ./services/networking/sabnzbd.nix
   ./services/networking/searx.nix
   ./services/networking/spiped.nix
-  ./services/networking/supybot.nix
-  ./services/networking/syncthing.nix
   ./services/networking/ssh/lshd.nix
   ./services/networking/ssh/sshd.nix
+  ./services/networking/supybot.nix
+  ./services/networking/syncthing.nix
+  ./services/networking/tcpcrypt.nix
   ./services/networking/teamspeak3.nix
   ./services/networking/tftpd.nix
   ./services/networking/unbound.nix
@@ -245,11 +246,11 @@
   ./services/search/elasticsearch.nix
   ./services/search/solr.nix
   ./services/security/clamav.nix
-  ./services/security/haveged.nix
   ./services/security/fprot.nix
   ./services/security/frandom.nix
-  ./services/security/tor.nix
+  ./services/security/haveged.nix
   ./services/security/torify.nix
+  ./services/security/tor.nix
   ./services/security/torsocks.nix
   ./services/system/dbus.nix
   ./services/system/kerberos.nix
@@ -257,14 +258,14 @@
   ./services/system/uptimed.nix
   ./services/torrent/deluge.nix
   ./services/torrent/transmission.nix
-  ./services/ttys/gpm.nix
   ./services/ttys/agetty.nix
+  ./services/ttys/gpm.nix
   ./services/ttys/kmscon.nix
   ./services/web-servers/apache-httpd/default.nix
   ./services/web-servers/fcgiwrap.nix
   ./services/web-servers/jboss/default.nix
-  ./services/web-servers/lighttpd/default.nix
   ./services/web-servers/lighttpd/cgit.nix
+  ./services/web-servers/lighttpd/default.nix
   ./services/web-servers/lighttpd/gitweb.nix
   ./services/web-servers/nginx/default.nix
   ./services/web-servers/phpfpm.nix
@@ -276,11 +277,12 @@
   ./services/x11/display-managers/auto.nix
   ./services/x11/display-managers/default.nix
   ./services/x11/display-managers/kdm.nix
-  ./services/x11/display-managers/slim.nix
   ./services/x11/display-managers/lightdm.nix
+  ./services/x11/display-managers/slim.nix
   ./services/x11/hardware/multitouch.nix
   ./services/x11/hardware/synaptics.nix
   ./services/x11/hardware/wacom.nix
+  ./services/x11/redshift.nix
   ./services/x11/window-managers/awesome.nix
   #./services/x11/window-managers/compiz.nix
   ./services/x11/window-managers/default.nix
@@ -290,7 +292,6 @@
   ./services/x11/window-managers/twm.nix
   ./services/x11/window-managers/wmii.nix
   ./services/x11/window-managers/xmonad.nix
-  ./services/x11/redshift.nix
   ./services/x11/xfs.nix
   ./services/x11/xserver.nix
   ./system/activation/activation-script.nix
@@ -313,17 +314,17 @@
   ./system/etc/etc.nix
   ./system/upstart/upstart.nix
   ./tasks/cpu-freq.nix
-  ./tasks/filesystems.nix
+  ./tasks/encrypted-devices.nix
   ./tasks/filesystems/btrfs.nix
   ./tasks/filesystems/ext.nix
   ./tasks/filesystems/f2fs.nix
   ./tasks/filesystems/nfs.nix
+  ./tasks/filesystems.nix
   ./tasks/filesystems/reiserfs.nix
   ./tasks/filesystems/unionfs-fuse.nix
   ./tasks/filesystems/vfat.nix
   ./tasks/filesystems/xfs.nix
   ./tasks/filesystems/zfs.nix
-  ./tasks/encrypted-devices.nix
   ./tasks/kbd.nix
   ./tasks/lvm.nix
   ./tasks/network-interfaces.nix
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 2521e356bf39..b91c389e90a2 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -38,86 +38,92 @@ in
     services.redis = {
 
       enable = mkOption {
+        type = types.bool;
         default = false;
         description = "Whether to enable the Redis server.";
       };
 
       package = mkOption {
+        type = types.package;
         default = pkgs.redis;
         description = "Which Redis derivation to use.";
-        type = types.package;
       };
 
       user = mkOption {
+        type = types.str;
         default = "redis";
         description = "User account under which Redis runs.";
       };
 
       pidFile = mkOption {
+        type = types.path;
         default = "/var/lib/redis/redis.pid";
         description = "";
       };
 
       port = mkOption {
+        type = types.int;
         default = 6379;
         description = "The port for Redis to listen to.";
-        type = with types; int;
       };
 
       bind = mkOption {
+        type = with types; nullOr str;
         default = null; # All interfaces
         description = "The IP interface to bind to.";
         example = "127.0.0.1";
       };
 
       unixSocket = mkOption {
+        type = with types; nullOr path;
         default = null;
         description = "The path to the socket to bind to.";
         example = "/var/run/redis.sock";
       };
 
       logLevel = mkOption {
+        type = types.str;
         default = "notice"; # debug, verbose, notice, warning
         example = "debug";
         description = "Specify the server verbosity level, options: debug, verbose, notice, warning.";
-        type = with types; string;
       };
 
       logfile = mkOption {
+        type = types.str;
         default = "/dev/null";
         description = "Specify the log file name. Also 'stdout' can be used to force Redis to log on the standard output.";
         example = "/var/log/redis.log";
-        type = with types; string;
       };
 
       syslog = mkOption {
+        type = types.bool;
         default = true;
         description = "Enable logging to the system logger.";
-        type = with types; bool;
       };
 
       databases = mkOption {
+        type = types.int;
         default = 16;
         description = "Set the number of databases.";
-        type = with types; int;
       };
 
       save = mkOption {
+        type = with types; listOf (listOf int);
         default = [ [900 1] [300 10] [60 10000] ];
         description = "The schedule in which data is persisted to disk, represented as a list of lists where the first element represent the amount of seconds and the second the number of changes.";
         example = [ [900 1] [300 10] [60 10000] ];
       };
 
       dbFilename = mkOption {
+        type = types.str;
         default = "dump.rdb";
         description = "The filename where to dump the DB.";
-        type = with types; string;
       };
 
       dbpath = mkOption {
+        type = types.path;
         default = "/var/lib/redis";
         description = "The DB will be written inside this directory, with the filename specified using the 'dbFilename' configuration.";
-        type = with types; string;
       };
 
       slaveOf = mkOption {
@@ -135,46 +141,47 @@ in
       };
 
       requirePass = mkOption {
+        type = with types; nullOr str;
         default = null;
         description = "Password for database (STORED PLAIN TEXT, WORLD-READABLE IN NIX STORE)";
         example = "letmein!";
       };
 
       appendOnly = mkOption {
+        type = types.bool;
         default = false;
         description = "By default data is only periodically persisted to disk, enable this option to use an append-only file for improved persistence.";
-        type = with types; bool;
       };
 
       appendOnlyFilename = mkOption {
+        type = types.str;
         default = "appendonly.aof";
         description = "Filename for the append-only file (stored inside of dbpath)";
-        type = with types; string;
       };
 
       appendFsync = mkOption {
+        type = types.str;
         default = "everysec"; # no, always, everysec
         description = "How often to fsync the append-only log, options: no, always, everysec.";
-        type = with types; string;
       };
 
       slowLogLogSlowerThan = mkOption {
+        type = types.int;
         default = 10000;
         description = "Log queries whose execution take longer than X in milliseconds.";
         example = 1000;
-        type = with types; int;
       };
 
       slowLogMaxLen = mkOption {
+        type = types.int;
         default = 128;
         description = "Maximum number of items to keep in slow log.";
-        type = with types; int;
       };
 
       extraConfig = mkOption {
+        type = types.lines;
         default = "";
         description = "Extra configuration options for redis.conf.";
-        type = with types; string;
       };
     };
 
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index c92c81135704..802dd454878b 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -69,9 +69,9 @@ in
     systemd.services.logstash = with pkgs; {
       description = "Logstash Daemon";
       wantedBy = [ "multi-user.target" ];
-
+      environment = { JAVA_HOME = jre; };
       serviceConfig = {
-        ExecStart = "${jre}/bin/java -jar ${logstash} agent -f ${writeText "logstash.conf" ''
+        ExecStart = "${logstash}/bin/logstash agent -f ${writeText "logstash.conf" ''
           input {
             ${cfg.inputConfig}
           }
diff --git a/nixos/modules/services/networking/polipo.nix b/nixos/modules/services/networking/polipo.nix
new file mode 100644
index 000000000000..05ded84625d0
--- /dev/null
+++ b/nixos/modules/services/networking/polipo.nix
@@ -0,0 +1,118 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.polipo;
+
+  polipoConfig = pkgs.writeText "polipo.conf" ''
+    proxyAddress = ${cfg.proxyAddress}
+    proxyPort = ${toString cfg.proxyPort}
+    allowedClients = ${concatStringsSep ", " cfg.allowedClients}
+    ${optionalString (cfg.parentProxy != "") "parentProxy = ${cfg.parentProxy}" }
+    ${optionalString (cfg.socksParentProxy != "") "socksParentProxy = ${cfg.socksParentProxy}" }
+    ${config.services.polipo.extraConfig}
+  '';
+
+in
+
+{
+
+  options = {
+
+    services.polipo = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to run the polipo caching web proxy.";
+      };
+
+      proxyAddress = mkOption {
+        type = types.string;
+        default = "127.0.0.1";
+        description = "IP address on which Polipo will listen.";
+      };
+
+      proxyPort = mkOption {
+        type = types.int;
+        default = 8123;
+        description = "TCP port on which Polipo will listen.";
+      };
+
+      allowedClients = mkOption {
+        type = types.listOf types.string;
+        default = [ "127.0.0.1" "::1" ];
+        example = [ "127.0.0.1" "::1" "134.157.168.0/24" "2001:660:116::/48" ];
+        description = ''
+          List of IP addresses or network addresses that may connect to Polipo.
+        '';
+      };
+
+      parentProxy = mkOption {
+        type = types.string;
+        default = "";
+        example = "localhost:8124";
+        description = ''
+          Hostname and port number of an HTTP parent proxy;
+          it should have the form ‘host:port’.
+        '';
+      };
+
+      socksParentProxy = mkOption {
+        type = types.string;
+        default = "";
+        example = "localhost:9050";
+        description = ''
+          Hostname and port number of an SOCKS parent proxy;
+          it should have the form ‘host:port’.
+        '';
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Polio configuration. Contents will be added 
+          verbatim to the configuration file.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    users.extraUsers = singleton
+      { name = "polipo";
+        uid = config.ids.uids.polipo;
+        description = "Polipo caching proxy user";
+        home = "/var/cache/polipo";
+        createHome = true;
+      };
+
+    users.extraGroups = singleton
+      { name = "polipo";
+        gid = config.ids.gids.polipo;
+        members = [ "polipo" ];
+      };
+
+    systemd.services.polipo = {
+      description = "caching web proxy";
+      after = [ "network.target" "nss-lookup.target" ];
+      wantedBy = [ "multi-user.target"];
+      preStart = ''
+         ${pkgs.coreutils}/bin/chown polipo:polipo /var/cache/polipo -R
+      '';
+      serviceConfig = {
+        ExecStart  = "${pkgs.polipo}/bin/polipo -c ${polipoConfig}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID";
+        User = "polipo";
+      };
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index b82398ccf9dd..991c68471a67 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -17,7 +17,7 @@ in
   # Note: the order in which desktop manager modules are imported here
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if KDE is enabled, it supersedes xterm.
-  imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ./xbmc.nix ];
+  imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./e18.nix ./gnome3.nix ./xbmc.nix ];
 
   options = {
 
diff --git a/nixos/modules/services/x11/desktop-managers/e18.nix b/nixos/modules/services/x11/desktop-managers/e18.nix
new file mode 100644
index 000000000000..e59b7f426837
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/e18.nix
@@ -0,0 +1,40 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+let
+
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.e18;
+
+in
+
+{
+  options = {
+
+    services.xserver.desktopManager.e18.enable = mkOption {
+      default = false;
+      example = true;
+      description = "Enable the E18 desktop environment.";
+    };
+
+  };
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+
+    environment.systemPackages = [
+      pkgs.e18.efl pkgs.e18.evas pkgs.e18.emotion pkgs.e18.elementary pkgs.e18.enlightenment
+      pkgs.e18.terminology pkgs.e18.econnman
+    ];
+
+    services.xserver.desktopManager.session = [
+    { name = "E18";
+      start = ''
+        ${pkgs.e18.enlightenment}/bin/enlightenment_start
+        waitPID=$!
+      '';
+    }];
+
+  };
+
+}
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index c6c0021ba6d3..14caa5d360d5 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -825,6 +825,7 @@ in
     systemd.services."user@".restartIfChanged = false;
 
     systemd.services.systemd-remount-fs.restartIfChanged = false;
+    systemd.services.systemd-journal-flush.restartIfChanged = false;
 
   };
 }
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 215ae1468984..9a4d11d550a1 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -121,12 +121,26 @@ in
 
   networking.usePredictableInterfaceNames = false;
 
+  systemd.services.wait-metadata-online = {
+    description = "Wait for GCE metadata server to become reachable";
+    wantedBy = [ "network-online.target" ];
+    before = [ "network-online.target" ];
+    path = [ pkgs.netcat ];
+    script = ''
+      # wait for the metadata server to become available for up to 60 seconds
+      for counter in {1..30}; do sleep 2 && nc -vzw 2 metadata 80 && break; done
+    '';
+    serviceConfig.Type = "oneshot";
+    serviceConfig.RemainAfterExit = true;
+  };
+
   systemd.services.fetch-ssh-keys =
     { description = "Fetch host keys and authorized_keys for root user";
 
-      wantedBy = [ "multi-user.target" ];
+      wantedBy = [ "sshd.service" ];
       before = [ "sshd.service" ];
-      after = [ "network.target" ];
+      after = [ "network-online.target" ];
+      wants = [ "network-online.target" ];
 
       path  = [ pkgs.curl ];
       script =
@@ -148,7 +162,7 @@ in
           fi
 
           echo "obtaining SSH private host key..."
-          curl -o /root/ssh_host_ecdsa_key http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key
+          curl -o /root/ssh_host_ecdsa_key  --retry-max-time 60 http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key
           if [ $? -eq 0 -a -e /root/ssh_host_ecdsa_key ]; then
               mv -f /root/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key
               echo "downloaded ssh_host_ecdsa_key"
@@ -156,7 +170,7 @@ in
           fi
 
           echo "obtaining SSH public host key..."
-          curl -o /root/ssh_host_ecdsa_key.pub http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key_pub
+          curl -o /root/ssh_host_ecdsa_key.pub --retry-max-time 60 http://metadata/0.1/meta-data/attributes/ssh_host_ecdsa_key_pub
           if [ $? -eq 0 -a -e /root/ssh_host_ecdsa_key.pub ]; then
               mv -f /root/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
               echo "downloaded ssh_host_ecdsa_key.pub"
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 594b3e93ffeb..2e30f4c62f97 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -51,6 +51,9 @@ with lib;
           set -f
           cp -prd $storePaths /mnt/nix/store/
 
+          mkdir -p /mnt/etc/nix
+          echo 'build-users-group = ' > /mnt/etc/nix/nix.conf
+
           # Register the paths in the Nix database.
           printRegistration=1 perl ${pkgs.pathsFromGraph} /tmp/xchg/closure | \
               chroot /mnt ${config.nix.package}/bin/nix-store --load-db
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
new file mode 100644
index 000000000000..19b61ebc76d4
--- /dev/null
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -0,0 +1,45 @@
+{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
+  ipodSupport ? true, libgpod, gpodderHome ? "", gpodderDownloadDir ? "" }:
+
+with pkgs.lib;
+
+let
+  inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
+
+in buildPythonPackage rec {
+  name = "gpodder-3.7.0";
+
+  src = fetchurl {
+    url = "http://gpodder.org/src/${name}.tar.gz";
+    sha256 = "fa90ef4bdd3fd9eef95404f7f43f70912ae3ab4f8d24078484a2f3e11b14dc47";
+  };
+
+  buildInputs = [ coverage feedparser minimock sqlite3 mygpoclient intltool ];
+
+  propagatedBuildInputs = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
+    ++ stdenv.lib.optional ipodSupport libgpod;
+
+  postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile";
+
+  checkPhase = "make unittest";
+
+  preFixup = ''
+    wrapProgram $out/bin/gpodder \
+      ${optionalString (gpodderHome != "") "--set GPODDER_HOME ${gpodderHome}"} \
+      ${optionalString (gpodderDownloadDir != "") "--set GPODDER_DOWNLOAD_DIR ${gpodderDownloadDir}"}
+  '';
+
+  installPhase = "DESTDIR=/ PREFIX=$out make install";
+
+  meta = {
+    description = "A podcatcher written in python";
+    longDescription = ''
+      gPodder downloads and manages free audio and video content (podcasts)
+      for you. Listen directly on your computer or on your mobile devices.
+    '';
+    homepage = "http://gpodder.org/";
+    license = "GPLv3";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.skeidel ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index e52011547c7a..ba2437f1a2b8 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -2,11 +2,11 @@
 , texLiveAggregationFun }:
 
 stdenv.mkDerivation rec {
-  name = "org-8.2.7";
+  name = "org-8.2.7b";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "1n864hnjvx5n2gfi7n0xbwvb1k8l5rdh4a3vpbhw23hy8rx3bvaw";
+    sha256 = "07hq2q126d967nj7xq46q4mkca5r2rw61bn8d6nzkhksghp8b2v1";
   };
 
   buildInputs = [ emacs ];
diff --git a/pkgs/applications/editors/lighttable/default.nix b/pkgs/applications/editors/lighttable/default.nix
new file mode 100644
index 000000000000..b5ab1950e2b6
--- /dev/null
+++ b/pkgs/applications/editors/lighttable/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchurl, buildEnv, makeDesktopItem, makeWrapper, zlib, glib, alsaLib
+, dbus, gtk, atk, pango, freetype, fontconfig, libgnome_keyring3, gdk_pixbuf
+, cairo, cups, expat, libgpgerror, nspr, gnome3, nss, xlibs, udev
+}:
+
+let
+  libPath = stdenv.lib.makeLibraryPath [
+      stdenv.gcc.gcc zlib glib dbus gtk atk pango freetype libgnome_keyring3 nss
+      fontconfig gdk_pixbuf cairo cups expat libgpgerror alsaLib nspr gnome3.gconf
+      xlibs.libXrender xlibs.libX11 xlibs.libXext xlibs.libXdamage xlibs.libXtst
+      xlibs.libXcomposite xlibs.libXi xlibs.libXfixes
+];
+in
+assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
+
+stdenv.mkDerivation rec {
+  name = "LightTable-${version}";
+  version = "0.6.7";
+
+  src = 
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        name = "LightTableLinux.tar.gz";
+        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux.tar.gz;
+        sha256 = "3b09f9665ed1b4abb7c1ca16286ac7222caf6dc124059be6db4cb9f5fd041e73";
+      }
+    else
+      fetchurl {
+        name = "LightTableLinux64.tar.gz";
+        url = https://d35ac8ww5dfjyg.cloudfront.net/playground/bins/0.6.7/LightTableLinux64.tar.gz;
+        sha256 = "710d670ccc30aadba521ccb723388679ee6404aac662297a005432c811d59e82";
+      };
+
+  buildInputs = [ makeWrapper ];
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    tar xvf ${src}
+    mkdir -p $out/bin
+    mv LightTable $out/
+
+    patchelf \
+      --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${stdenv.gcc.gcc}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
+      $out/LightTable/ltbin
+
+    ln -s ${udev}/lib/libudev.so.1 $out/LightTable/libudev.so.0
+
+    makeWrapper $out/LightTable/ltbin $out/bin/lighttable \
+      --prefix "LD_LIBRARY_PATH" : $out/LightTable
+  '';
+
+  meta = with stdenv.lib; {
+    description = "the next generation code editor";
+    homepage = http://www.lighttable.com/;
+    license = [ licenses.gpl3 ];
+  };
+}
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index e0d8de157b09..710ceb7d31f1 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -1,9 +1,35 @@
 # TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
 # but I have gvim with python support now :) - Marc
-args@{source ? "default", ...}: with args;
-
-
-let inherit (args.composableDerivation) composableDerivation edf; in
+args@{pkgs, source ? "default", ...}: with args;
+
+
+let inherit (args.composableDerivation) composableDerivation edf;
+  nixosRuntimepath = pkgs.writeText "nixos-vimrc" ''
+    set nocompatible
+    syntax on
+
+    function! NixosPluginPath()
+      let seen = {}
+      for p in reverse(split($NIX_PROFILES))
+        for d in split(glob(p . '/share/vim-plugins/*'))
+          let pluginname = substitute(d, ".*/", "", "")
+          if !has_key(seen, pluginname)
+            exec 'set runtimepath^='.d
+            let seen[pluginname] = 1
+          endif
+        endfor
+      endfor
+    endfunction
+
+    execute NixosPluginPath()
+
+    if filereadable("/etc/vimrc")
+      source /etc/vimrc
+    elseif filereadable("/etc/vim/vimrc")
+      source /etc/vim/vimrc
+    endif
+  '';
+in
 composableDerivation {
   # use gccApple to compile on darwin
   mkDerivation = ( if stdenv.isDarwin
@@ -11,18 +37,18 @@ composableDerivation {
                    else stdenv ).mkDerivation;
 } (fix: {
 
-    name = "vim_configurable-7.4.316";
+    name = "vim_configurable-7.4.335";
 
     enableParallelBuilding = true; # test this
 
-    src = 
+    src =
       builtins.getAttr source {
       "default" =
         # latest release
       args.fetchhg {
             url = "https://vim.googlecode.com/hg/";
-            rev = "v7-4-316";
-            sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
+            rev = "v7-4-335";
+            sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
       };
 
       "vim-nox" =
@@ -39,7 +65,7 @@ composableDerivation {
 
     # if darwin support is enabled, we want to make sure we're not building with
     # OS-installed python framework
-    patches = stdenv.lib.optionals 
+    patches = stdenv.lib.optionals
       (stdenv.isDarwin && (config.vim.darwin or true))
       [ ./python_framework.patch ];
 
@@ -145,6 +171,8 @@ composableDerivation {
     echo $nativeBuildInputs
     echo $rpath
     patchelf --set-rpath $rpath $out/bin/{vim,gvim}
+
+    ln -sfn ${nixosRuntimepath} $out/share/vim/vimrc
   '';
 
   dontStrip = 1;
diff --git a/pkgs/applications/editors/vim/default.nix b/pkgs/applications/editors/vim/default.nix
index bf9472801731..95f654eb8cac 100644
--- a/pkgs/applications/editors/vim/default.nix
+++ b/pkgs/applications/editors/vim/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "vim-${version}";
 
-  version = "7.4.316";
+  version = "7.4.335";
 
   src = fetchhg {
     url = "https://vim.googlecode.com/hg/";
-    rev = "v7-4-316";
-    sha256 = "0scxx33p1ky0wihk04xqpd6rygp1crm0hx446zbjwbsjj6xxn7sx";
+    rev = "v7-4-335";
+    sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/wrapper.nix b/pkgs/applications/editors/vim/wrapper.nix
deleted file mode 100644
index 72e868050537..000000000000
--- a/pkgs/applications/editors/vim/wrapper.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, makeWrapper, writeText, vim, vimrc }:
-
-let
-
-  vimrcfile = writeText "vimrc" vimrc;
-
-  p = builtins.parseDrvName vim.name;
-
-in stdenv.mkDerivation rec {
-  name = "${p.name}-with-vimrc-${p.version}";
-
-  buildInputs = [ makeWrapper vim vimrcfile ];
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out
-    cp -r ${vim}/* $out/
-
-    chmod u+w $out/bin
-    chmod u+w $out/share/vim
-
-    ln -s ${vimrcfile} $out/share/vim/vimrc
-    wrapProgram $out/bin/vim --set VIM "$out/share/vim"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "The most popular clone of the VI editor";
-    homepage    = http://www.vim.org;
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index d1a084761e79..3810006103df 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -83,6 +83,21 @@ rec {
     };
   };
 
+  focusblur = pluginDerivation rec {
+    /* menu:
+       Blur/Focus Blur
+    */
+    name = "focusblur-3.2.6";
+    buildInputs = [ gimp pkgconfig pkgs.fftwSinglePrec ] ++ gimp.nativeBuildInputs;
+    patches = [ ./patches/focusblur-glib.patch ];
+    postInstall = "fail";
+    installPhase = "installPlugins src/focusblur";
+    src = fetchurl {
+      url = "http://registry.gimp.org/files/${name}.tar.bz2";
+      sha256 = "1gqf3hchz7n7v5kpqkhqh8kwnxbsvlb5cr2w2n7ngrvl56f5xs1h";
+    };
+  };
+
   resynthesizer = pluginDerivation {
     /* menu:
       Filters/Map/Resynthesize
diff --git a/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
new file mode 100644
index 000000000000..b1079ab36604
--- /dev/null
+++ b/pkgs/applications/graphics/gimp/plugins/patches/focusblur-glib.patch
@@ -0,0 +1,200 @@
+ls diff --git focusblur-3.2.6/src/aaa.h focusblur-3.2.6/src/aaa.h
+index 4a6d90b..c74cab2 100644
+--- focusblur-3.2.6/src/aaa.h
++++ focusblur-3.2.6/src/aaa.h
+@@ -19,8 +19,7 @@
+ #ifndef __AAA_H__
+ #define __AAA_H__
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/brush.h focusblur-3.2.6/src/brush.h
+index 685b253..8778fec 100644
+--- focusblur-3.2.6/src/brush.h
++++ focusblur-3.2.6/src/brush.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_BRUSH_H__
+ #define __FOCUSBLUR_BRUSH_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include "focusblurtypes.h"
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/depthmap.h focusblur-3.2.6/src/depthmap.h
+index 78f5e99..baee540 100644
+--- focusblur-3.2.6/src/depthmap.h
++++ focusblur-3.2.6/src/depthmap.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_DEPTHMAP_H__
+ #define __FOCUSBLUR_DEPTHMAP_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ #include "focusblurenums.h"
+diff --git focusblur-3.2.6/src/diffusion.h focusblur-3.2.6/src/diffusion.h
+index 07ffe4b..3c1e4b9 100644
+--- focusblur-3.2.6/src/diffusion.h
++++ focusblur-3.2.6/src/diffusion.h
+@@ -23,7 +23,7 @@
+ #define __FOCUSBLUR_DIFFUSION_H__
+ 
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblur.h"
+ #include "focusblurtypes.h"
+diff --git focusblur-3.2.6/src/fftblur.h focusblur-3.2.6/src/fftblur.h
+index 124bcba..cd809fa 100644
+--- focusblur-3.2.6/src/fftblur.h
++++ focusblur-3.2.6/src/fftblur.h
+@@ -23,8 +23,7 @@
+ #define __FOCUSBLUR_FFTBLUR_H__
+ 
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimpwidgets/gimpwidgetstypes.h>
+ 
+ #include "focusblurparam.h"
+diff --git focusblur-3.2.6/src/fftblurbuffer.h focusblur-3.2.6/src/fftblurbuffer.h
+index b34d682..42e6380 100644
+--- focusblur-3.2.6/src/fftblurbuffer.h
++++ focusblur-3.2.6/src/fftblurbuffer.h
+@@ -28,8 +28,7 @@
+ #endif
+ #include <fftw3.h>
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <gtk/gtkstyle.h>
+ #include <libgimp/gimptypes.h>
+ #include <libgimpwidgets/gimpwidgetstypes.h>
+diff --git focusblur-3.2.6/src/fftblurproc.h focusblur-3.2.6/src/fftblurproc.h
+index 495572d..10a34f4 100644
+--- focusblur-3.2.6/src/fftblurproc.h
++++ focusblur-3.2.6/src/fftblurproc.h
+@@ -23,8 +23,7 @@
+ #define __FOCUSBLUR_FFTBLUR_PROC_H__
+ 
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ 
+diff --git focusblur-3.2.6/src/focusblur.h focusblur-3.2.6/src/focusblur.h
+index 54ca40a..d7e13a6 100644
+--- focusblur-3.2.6/src/focusblur.h
++++ focusblur-3.2.6/src/focusblur.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_H__
+ #define __FOCUSBLUR_H__
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff --git focusblur-3.2.6/src/focusblurparam.h focusblur-3.2.6/src/focusblurparam.h
+index 64c887b..32865b4 100644
+--- focusblur-3.2.6/src/focusblurparam.h
++++ focusblur-3.2.6/src/focusblurparam.h
+@@ -22,8 +22,7 @@
+ #ifndef __FOCUSBLUR_PARAM_H__
+ #define __FOCUSBLUR_PARAM_H__
+ 
+-#include <glib/gmacros.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <gtk/gtkstyle.h>
+ #include <libgimp/gimptypes.h>
+ 
+diff --git focusblur-3.2.6/src/focusblurstock.h focusblur-3.2.6/src/focusblurstock.h
+index 15f3603..cfc0567 100644
+--- focusblur-3.2.6/src/focusblurstock.h
++++ focusblur-3.2.6/src/focusblurstock.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_STOCK_H__
+ #define __FOCUSBLUR_STOCK_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ G_BEGIN_DECLS
+ 
+diff --git focusblur-3.2.6/src/focusblurtypes.h focusblur-3.2.6/src/focusblurtypes.h
+index 0954c60..1531c84 100644
+--- focusblur-3.2.6/src/focusblurtypes.h
++++ focusblur-3.2.6/src/focusblurtypes.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_TYPES_H__
+ #define __FOCUSBLUR_TYPES_H__
+ 
+-#include <glib/gmacros.h>
++#include <glib.h>
+ 
+ 
+ G_BEGIN_DECLS
+diff --git focusblur-3.2.6/src/interface.h focusblur-3.2.6/src/interface.h
+index 6defd27..e819c60 100644
+--- focusblur-3.2.6/src/interface.h
++++ focusblur-3.2.6/src/interface.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_INTERFACE_H__
+ #define __FOCUSBLUR_INTERFACE_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ 
+ #include "focusblurtypes.h"
+ 
+diff --git focusblur-3.2.6/src/render.h focusblur-3.2.6/src/render.h
+index febbd24..a501f1e 100644
+--- focusblur-3.2.6/src/render.h
++++ focusblur-3.2.6/src/render.h
+@@ -24,7 +24,7 @@
+ 
+ #include "config.h"
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ //#include <libgimp/gimp.h>
+ #include <libgimp/gimpui.h>
+ 
+diff --git focusblur-3.2.6/src/shine.h focusblur-3.2.6/src/shine.h
+index c5a3621..86b4c09 100644
+--- focusblur-3.2.6/src/shine.h
++++ focusblur-3.2.6/src/shine.h
+@@ -22,7 +22,7 @@
+ #ifndef __FOCUSBLUR_SHINE_H__
+ #define __FOCUSBLUR_SHINE_H__
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimp/gimptypes.h>
+ 
+ #include "focusblurtypes.h"
+diff --git focusblur-3.2.6/src/source.h focusblur-3.2.6/src/source.h
+index 50d34ca..8eec35c 100644
+--- focusblur-3.2.6/src/source.h
++++ focusblur-3.2.6/src/source.h
+@@ -24,7 +24,7 @@
+ 
+ #include "config.h"
+ 
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <libgimp/gimptypes.h>
+ 
+ #include "focusblurtypes.h"
diff --git a/pkgs/applications/graphics/hoodle/default.nix b/pkgs/applications/graphics/hoodle/default.nix
index 635e8bf31046..8223b2c5ad90 100644
--- a/pkgs/applications/graphics/hoodle/default.nix
+++ b/pkgs/applications/graphics/hoodle/default.nix
@@ -4,14 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "hoodle";
-  version = "0.2.2.1";
-  sha256 = "1qkyyzfmprhniwarnq6cdmv1r6605b3h2lsc1rlalxhq6jh5gamd";
+  version = "0.3";
+  sha256 = "01wz7bwdr3i43ikaiaq8vpn6b0clxjnjyaw6nl6zaq489dhj6fv5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     cmdargs configurator dyre filepath hoodleCore mtl
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://ianwookim.org/hoodle";
     description = "Executable for hoodle";
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 930a48a617fd..c6a6fa7861ca 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,27 +1,35 @@
-{ stdenv, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew
+{ stdenv, lib, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python
-, zlib
+, zlib, fftw
 , jackaudioSupport ? false, jackaudio
 }:
 
+with lib;
+
 stdenv.mkDerivation rec {
-  name = "blender-2.70a";
+  name = "blender-2.71";
 
   src = fetchurl {
     url = "http://download.blender.org/source/${name}.tar.gz";
-    sha256 = "1rgkijn1nirj3jwh058zv6piw8q4j5wwjapgbvh2hh6fpbj84bgb";
+    sha256 = "18pzcnrs4rcb6mf6aqr9xj2r05v8aay8daj31395ljfzw667zakx";
   };
 
   buildInputs =
-    [ SDL boost cmake ffmpeg gettext glew ilmbase jackaudio libXi
+    [ SDL boost cmake ffmpeg gettext glew ilmbase libXi
       libjpeg libpng libsamplerate libsndfile libtiff mesa openal
-      opencolorio openexr openimageio openjpeg python zlib
-    ] ++ stdenv.lib.optional jackaudioSupport jackaudio;
+      opencolorio openexr openimageio /* openjpeg */ python zlib fftw
+    ] ++ optional jackaudioSupport jackaudio;
+
+  postUnpack =
+    ''
+      substituteInPlace */doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3
+    '';
 
   cmakeFlags =
     [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
       "-DWITH_OPENCOLLADA=OFF"
+      "-DWITH_MOD_OCEANSIM=ON"
       "-DWITH_CODEC_FFMPEG=ON"
       "-DWITH_CODEC_SNDFILE=ON"
       "-DWITH_INSTALL_PORTABLE=OFF"
@@ -29,7 +37,8 @@ stdenv.mkDerivation rec {
       "-DPYTHON_LIBPATH=${python}/lib"
       "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m"
       "-DPYTHON_VERSION=${python.majorVersion}"
-    ] ++ stdenv.lib.optional jackaudioSupport "-DWITH_JACK=ON";
+    ]
+    ++ optional jackaudioSupport "-DWITH_JACK=ON";
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
 
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 14843595d4e7..95f28d9058a0 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-1.44.0";
+  name = "calibre-1.45.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "14k9rzp4rphls4zkzrdq8kk0mgzsh5sdmngxklb58r71xj2r995j";
+    sha256 = "0g9fzpkjvi0h7h5azk3v425l8gxd8zidcz3nrzlg26hgvbkzpm20";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/finalterm/default.nix b/pkgs/applications/misc/finalterm/default.nix
new file mode 100644
index 000000000000..0c084f9d018c
--- /dev/null
+++ b/pkgs/applications/misc/finalterm/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper
+, pkgconfig, cmake, libxml2, vala, intltool, libmx, gnome3, gtk3, gtk_doc
+, keybinder3, clutter_gtk, libnotify
+, libxkbcommon, xlibs, udev
+, bashInteractive
+}:
+
+let rev = "5ccde4e8f2c02a398f9172e07c25262ecf954626";
+in stdenv.mkDerivation {
+  name = "finalterm-git-${builtins.substring 0 8 rev}";
+
+  src = fetchFromGitHub {
+    owner = "p-e-w";
+    repo = "finalterm";
+    inherit rev;
+    sha256 = "1gw6nc19whfjd4xj0lc0fmjypn8d7nasif79671859ymnfizyq4f";
+  };
+
+  buildInputs = [
+    pkgconfig cmake vala intltool gtk3 gnome3.gnome_common gnome3.libgee
+    gtk_doc clutter_gtk libmx keybinder3 libxml2 libnotify makeWrapper
+    xlibs.libpthreadstubs xlibs.libXdmcp xlibs.libxshmfence
+    libxkbcommon
+  ] ++ lib.optionals stdenv.isLinux [
+    udev
+  ];
+
+  preConfigure = ''
+    substituteInPlace data/org.gnome.finalterm.gschema.xml \
+      --replace "/bin/bash" "${bashInteractive}/bin/bash"
+
+    cmakeFlagsArray=(
+      -DMINIMAL_FLAGS=ON
+    )
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/finalterm" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
+  '';
+
+  meta = with lib; {
+    homepage = "http://finalterm.org";
+    description = "A new breed of terminal emulator";
+    longDescription = ''
+      Final Term is a new breed of terminal emulator.
+
+      It goes beyond mere emulation and understands what is happening inside the shell it is hosting. This allows it to offer features no other terminal can, including:
+
+      - Semantic text menus
+      - Smart command completion
+      - GUI terminal controls
+    '';
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ cstrahan ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index f0a66d421011..663ce872e222 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "kdeconnect-${version}";
-  version = "0.7";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "http://download.kde.org/unstable/kdeconnect/${version}/src/kdeconnect-kde-${version}.tar.xz";
-    sha256 = "0a8g3avg9x5j07cf3c16i4w65q3fn1cbs8zxgq0vl14rzdy09q2j";
+    sha256 = "1v7sicgy39n8pn7nzq9f7lkmwbcvavhy3b66agyhxwmyzz6mcd4g";
   };
 
   buildInputs = [ gettext kdelibs libXtst makeWrapper qca2 qca2_ossl qjson ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
index 6764c232bd83..8fe78d6f825d 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex/default.nix
@@ -7,45 +7,41 @@
 , gnupg1, gnutls, hamlet, hinotify, hS3, hslogger, HTTP, httpClient
 , httpConduit, httpTypes, IfElse, json, liftedBase, lsof, MissingH
 , monadControl, mtl, network, networkInfo, networkMulticast
-, networkProtocolXmpp, openssh, optparseApplicative, perl
-, QuickCheck, random, regexTdfa, rsync, SafeSemaphore, securemem
-, SHA, shakespeare, stm, tasty, tastyHunit, tastyQuickcheck
-, tastyRerun, text, time, transformers, unixCompat, utf8String
-, uuid, wai, waiExtra, warp, warpTls, which, xmlTypes, yesod
-, yesodCore, yesodDefault, yesodForm, yesodStatic
+, networkProtocolXmpp, openssh, optparseApplicative, pathPieces
+, perl, QuickCheck, random, regexTdfa, rsync, SafeSemaphore
+, securemem, SHA, shakespeare, stm, tasty, tastyHunit
+, tastyQuickcheck, tastyRerun, text, time, transformers, unixCompat
+, utf8String, uuid, wai, waiExtra, warp, warpTls, which, xmlTypes
+, yesod, yesodCore, yesodDefault, yesodForm, yesodStatic
+, fsnotify
 }:
 
 cabal.mkDerivation (self: {
   pname = "git-annex";
-  version = "5.20140709";
-  sha256 = "0n636b52199kj8w3awfvrabg6c76kb133gbfh9r8sp0xrg376z2s";
+  version = "5.20140717";
+  sha256 = "199gqp85f6xnyg3svs23n3r6q4pflvz4zy5y376klay9mzzp0rbl";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
     aeson async blazeBuilder bloomfilter byteable caseInsensitive
-    clientsession cryptoApi cryptohash dataDefault dataenc DAV dbus
-    dlist dns editDistance exceptions extensibleExceptions fdoNotify
-    feed filepath gnutls hamlet hinotify hS3 hslogger HTTP httpClient
+    clientsession cryptoApi cryptohash dataDefault dataenc DAV
+    dlist dns editDistance exceptions extensibleExceptions
+    feed filepath gnutls hamlet hS3 hslogger HTTP httpClient
     httpConduit httpTypes IfElse json liftedBase MissingH monadControl
     mtl network networkInfo networkMulticast networkProtocolXmpp
-    optparseApplicative QuickCheck random regexTdfa SafeSemaphore
-    securemem SHA shakespeare stm tasty tastyHunit tastyQuickcheck
-    tastyRerun text time transformers unixCompat utf8String uuid wai
-    waiExtra warp warpTls xmlTypes yesod yesodCore yesodDefault
-    yesodForm yesodStatic
-  ];
+    optparseApplicative pathPieces QuickCheck random regexTdfa
+    SafeSemaphore securemem SHA shakespeare stm tasty tastyHunit
+    tastyQuickcheck tastyRerun text time transformers unixCompat
+    utf8String uuid wai waiExtra warp warpTls xmlTypes yesod yesodCore
+    yesodDefault yesodForm yesodStatic
+  ] ++ (if self.stdenv.isDarwin then [
+    fsnotify
+  ] else [
+    dbus fdoNotify hinotify
+  ]);
   buildTools = [ bup curl git gnupg1 lsof openssh perl rsync which ];
-  configureFlags = "-fS3
-                    -fWebDAV
-                    -fInotify
-                    -fDbus
-                    -fAssistant
-                    -fWebapp
-                    -fPairing
-                    -fXMPP
-                    -fDNS
-                    -fProduction
-                    -fTDFA";
+  configureFlags = "-fAssistant
+                    -fProduction";
   preConfigure = ''
     export HOME="$NIX_BUILD_TOP/tmp"
     mkdir "$HOME"
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 054b1c1b0f3c..fb1734c47ee1 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -10,7 +10,7 @@
 
 let
 
-  version = "2.0.1";
+  version = "2.0.2";
 
   svn = subversionClient.override { perlBindings = true; };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "1pylqr2qzndy92x3pq8hkwsb3garww2jxb167s6hshrva81s24mb";
+    sha256 = "1hk9xxnqiyxii4cfl0j88kws5h1w8xavmfp8a2qb3as5jwnc5y5w";
   };
 
   patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ./cert-path.patch ];
diff --git a/pkgs/build-support/fetchgit/private.nix b/pkgs/build-support/fetchgit/private.nix
new file mode 100644
index 000000000000..dd3a8c1cb417
--- /dev/null
+++ b/pkgs/build-support/fetchgit/private.nix
@@ -0,0 +1,19 @@
+{ fetchgit, writeScript, openssh, stdenv }: args: derivation ((fetchgit args).drvAttrs // {
+  SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
+    then builtins.toString <ssh-auth-sock>
+    else null;
+  GIT_SSH = writeScript "fetchgit-ssh" ''
+    #! ${stdenv.shell}
+    exec -a ssh ${openssh}/bin/ssh -F ${let
+      sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
+        then <ssh-config-file>
+        else builtins.trace ''
+          Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
+
+          Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
+
+          You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
+        '' "/var/lib/empty/config";
+    in builtins.toString sshConfigFile} "$@"
+  '';
+})
diff --git a/pkgs/build-support/upstream-updater/urls-from-page.sh b/pkgs/build-support/upstream-updater/urls-from-page.sh
index aecf645eb817..db39286ccb02 100755
--- a/pkgs/build-support/upstream-updater/urls-from-page.sh
+++ b/pkgs/build-support/upstream-updater/urls-from-page.sh
@@ -9,6 +9,6 @@ relpath="${path#$server}"
  
 echo "URL: $url" >&2
 
-curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \
+curl -A 'text/html; text/xhtml; text/xml; */*' -L -k "$url" | sed -re 's/^/-/;s/[^a-zA-Z][hH][rR][eE][fF]=("([^"]*)"|'\''([^'\'']*)'\''|([^"'\'' <>&]+)[ <>&])/\n+\2\3\4\n-/g' | \
   sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \
   sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"
diff --git a/pkgs/desktops/e18/default.nix b/pkgs/desktops/e18/default.nix
new file mode 100644
index 000000000000..56361eb85ce1
--- /dev/null
+++ b/pkgs/desktops/e18/default.nix
@@ -0,0 +1,16 @@
+{ callPackage, pkgs }:
+rec {
+  #### CORE EFL
+  efl = callPackage ./efl.nix { };
+  evas = callPackage ./evas.nix { };
+  emotion = callPackage ./emotion.nix { };
+  elementary = callPackage ./elementary.nix { };
+
+  #### WINDOW MANAGER
+  enlightenment = callPackage ./enlightenment.nix { };
+
+  #### APPLICATIONS
+  econnman = callPackage ./econnman.nix { };
+  terminology = callPackage ./terminology.nix { };
+
+}
diff --git a/pkgs/desktops/e18/econnman.nix b/pkgs/desktops/e18/econnman.nix
new file mode 100644
index 000000000000..f2c67edf4f88
--- /dev/null
+++ b/pkgs/desktops/e18/econnman.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18, python27, python27Packages, dbus, makeWrapper }:
+stdenv.mkDerivation rec {
+  name = "econnman-${version}";
+  version = "1.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
+    sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
+  };
+
+  buildInputs = [ makeWrapper pkgconfig e18.efl python27 dbus ];
+  propagatedBuildInputs = [ python27Packages.pythonefl python27Packages.dbus e18.elementary ];
+  postInstall = ''
+    wrapProgram $out/bin/econnman-bin --prefix PYTHONPATH : ${python27Packages.dbus}/lib/python2.7/site-packages:${python27Packages.pythonefl}/lib/python2.7/site-packages
+  '';
+
+  meta = {
+    description = "Econnman is a user interface for the connman network connection manager";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/efl.nix b/pkgs/desktops/e18/efl.nix
new file mode 100644
index 000000000000..ca09ac32ee53
--- /dev/null
+++ b/pkgs/desktops/e18/efl.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, pulseaudio, libsndfile, xlibs, wayland, libdrm, libxkbcommon, udev, utillinuxCurses, dbus, bullet, luajit, python27Packages }:
+stdenv.mkDerivation rec {
+  name = "efl-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.gz";
+    sha256 = "0py8x0kv2hgl5v983xb6653fvmvn20im6picpc0hqfyxy09g1b24";
+  };
+  buildInputs = [ pkgconfig openssl zlib freetype fontconfig fribidi SDL mesa giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-libav pulseaudio libsndfile xlibs.libXcursor xlibs.printproto xlibs.libX11 libdrm udev utillinuxCurses luajit ];
+  propagatedBuildInputs = [ wayland libxkbcommon python27Packages.dbus dbus libjpeg xlibs.libXcomposite xlibs.libXdamage xlibs.libXinerama xlibs.libXp xlibs.libXtst xlibs.libXi xlibs.libXext bullet xlibs.libXScrnSaver ];
+  configureFlags = [ "--with-opengl=full" "--with-tests=none" "--enable-wayland" "--enable-sdl" "--enable-drm" ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${xlibs.libXtst} $NIX_CFLAGS_COMPILE"
+    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
+  '';
+  meta = {
+    description = "Enlightenment Core libraries";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl3;
+  };
+}
diff --git a/pkgs/desktops/e18/elementary.nix b/pkgs/desktops/e18/elementary.nix
new file mode 100644
index 000000000000..f808d5c905b7
--- /dev/null
+++ b/pkgs/desktops/e18/elementary.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "elementary-${version}";
+  version = "1.10.2";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.gz";
+    sha256 = "0y3knvmabl9adc8pd54p7qxpf7gvciixc1rk40hqppwhdgbgpz28";
+  };
+  buildInputs = [ pkgconfig e18.efl ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Widget set/toolkit";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/emotion.nix b/pkgs/desktops/e18/emotion.nix
new file mode 100644
index 000000000000..7e1c3be64008
--- /dev/null
+++ b/pkgs/desktops/e18/emotion.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18, vlc }:
+stdenv.mkDerivation rec {
+  name = "emotion_generic_players-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.gz";
+    sha256 = "1nwlrk9inrhiv6jpzji10ikcdlhzhz7f2b5qhi2ai8bb6j61ryyc";
+  };
+  buildInputs = [ pkgconfig e18.efl vlc ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "Extra video decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/enlightenment.nix b/pkgs/desktops/e18/enlightenment.nix
new file mode 100644
index 000000000000..fde939c146ae
--- /dev/null
+++ b/pkgs/desktops/e18/enlightenment.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, e18, xlibs, libffi, pam, alsaLib, luajit }:
+stdenv.mkDerivation rec {
+  name = "enlightenment-${version}";
+  version = "0.18.8";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.gz";
+    sha256 = "1fsigbrknkwy909p1gqwxag1bar3p413s4f6fq3qnbsd6gjbvj8l";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary xlibs.libxcb xlibs.xcbutilkeysyms xlibs.libXrandr libffi pam alsaLib luajit ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 -I${e18.efl}/include/ecore-imf-1 -I${e18.efl}/include/ethumb-client-1 -I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The Compositing Window Manager and Desktop Shell";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/desktops/e18/evas.nix b/pkgs/desktops/e18/evas.nix
new file mode 100644
index 000000000000..9ddd94dbaea0
--- /dev/null
+++ b/pkgs/desktops/e18/evas.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, e18, zlib }:
+stdenv.mkDerivation rec {
+  name = "evas_generic_loaders-${version}";
+  version = "1.10.0";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.gz";
+    sha256 = "0qx44g7a8pzcgspx8q10zjiwzafis301fhpchd4pskfxhqd4qagm";
+  };
+  buildInputs = [ pkgconfig e18.efl zlib ];
+  meta = {
+    description = "Extra image decoders";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/desktops/e18/terminology.nix b/pkgs/desktops/e18/terminology.nix
new file mode 100644
index 000000000000..892abc6ea5fe
--- /dev/null
+++ b/pkgs/desktops/e18/terminology.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, e18 }:
+stdenv.mkDerivation rec {
+  name = "terminology-${version}";
+  version = "0.6.1";
+  src = fetchurl {
+    url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
+    sha256 = "1wi9njyfs95y4nb9jd30032qqka5cg7k0wacck8s1yqxwg5ng38x";
+  };
+  buildInputs = [ pkgconfig e18.efl e18.elementary ];
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eo-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ecore-con-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/eldbus-1 $NIX_CFLAGS_COMPILE"
+    export NIX_CFLAGS_COMPILE="-I${e18.efl}/include/ethumb-1 $NIX_CFLAGS_COMPILE"
+  '';
+  meta = {
+    description = "The best terminal emulator written with the EFL";
+    homepage = http://enlightenment.org/;
+    maintainers = [ stdenv.lib.maintainers.matejc ];
+    platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index 918b75156c32..1be650a544a0 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name    = "hhvm-${version}";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchgit {
     url    = "https://github.com/facebook/hhvm.git";
-    rev    = "71ecbd8fb5e94b2a008387a2b5e9a8df5c6f5c7b";
-    sha256 = "1zv3k3bxahwyna2jgicwxm9lxs11jddpc9v41488rmzvfhdmzzkn";
+    rev    = "01228273b8cf709aacbd3df1c51b1e690ecebac8";
+    sha256 = "418d5a55ac4ba5335a42329ebfb7dd96fdb8d5edbc2700251c86e9fa2ae4a967";
     fetchSubmodules = true;
   };
 
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace hphp/util/generate-buildinfo.sh \
       --replace /bin/bash ${stdenv.shell}
+    substituteInPlace ./configure \
+      --replace "/usr/bin/env bash" ${stdenv.shell}
   '';
   installPhase = ''
     mkdir -p $out/bin $out/lib
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index d2bf006285d0..c2b6b0ac5acc 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -1,27 +1,27 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint, binary
-, blazeHtml, blazeMarkup, boehmgc, Cabal, cheapskate, deepseq
-, filepath, gmp, happy, haskeline, languageJava, lens, libffi
-, llvmGeneral, llvmGeneralPure, mtl, network, optparseApplicative
-, parsers, split, text, time, transformers, trifecta
-, unorderedContainers, utf8String, vector, vectorBinaryInstances
-, xml, zlib
+{ cabal, annotatedWlPprint, ansiTerminal, ansiWlPprint
+, base64Bytestring, binary, blazeHtml, blazeMarkup, boehmgc, Cabal
+, cheapskate, deepseq, filepath, fingertree, gmp, happy, haskeline
+, languageJava, lens, libffi, llvmGeneral, llvmGeneralPure, mtl
+, network, optparseApplicative, parsers, split, text, time
+, transformers, trifecta, unorderedContainers, utf8String, vector
+, vectorBinaryInstances, xml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.13.1";
-  sha256 = "09528c2zxriw3l8c7dd2k5db9j1qmqhs6nbqwc7dkskzqv9snz7n";
+  version = "0.9.14";
+  sha256 = "0kfzp89sass93p9zsxq616zfix7ipi1rmjqmcjixihi01k7c0b8b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    annotatedWlPprint ansiTerminal ansiWlPprint binary blazeHtml
-    blazeMarkup Cabal cheapskate deepseq filepath haskeline
-    languageJava lens libffi llvmGeneral llvmGeneralPure mtl network
-    optparseApplicative parsers split text time transformers trifecta
-    unorderedContainers utf8String vector vectorBinaryInstances xml
-    zlib
+    annotatedWlPprint ansiTerminal ansiWlPprint base64Bytestring binary
+    blazeHtml blazeMarkup Cabal cheapskate deepseq filepath fingertree
+    haskeline languageJava lens libffi llvmGeneral llvmGeneralPure mtl
+    network optparseApplicative parsers split text time transformers
+    trifecta unorderedContainers utf8String vector
+    vectorBinaryInstances xml zlib
   ];
   buildTools = [ happy ];
   extraLibraries = [ boehmgc gmp ];
diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix
index fc8493d4cf35..8d3cbef75d41 100644
--- a/pkgs/development/compilers/openjdk-darwin/default.nix
+++ b/pkgs/development/compilers/openjdk-darwin/default.nix
@@ -26,8 +26,7 @@ let
       echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
 
       # Set JAVA_HOME automatically.
-      mkdir -p $out/nix-support
-      cat <<EOF > $out/nix-support/setup-hook
+      cat <<EOF >> $out/nix-support/setup-hook
       if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
       EOF
     '';
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index c24096714c9a..6fd7ad9d65b1 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -15,9 +15,9 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "60";
+  update = "65";
 
-  build = "30";
+  build = "32";
 
   # On x86 for heap sizes over 700MB disable SEGMEXEC and PAGEEXEC as well.
   paxflags = if stdenv.isi686 then "msp" else "m";
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://tarballs.nixos.org/openjdk-7u${update}-b${build}.tar.xz";
-    sha256 = "08rp3bbbzk0p6226qayr1vmahhp41phm5g56dlb7d2hfp2cfpd81";
+    sha256 = "0lyp75sl5w4b9azphb2nq5cwzli85inpksq4943q4j349rkmdprx";
   };
 
   outputs = [ "out" "jre" ];
diff --git a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
index 028164ac3955..028164ac3955 100644
--- a/pkgs/development/compilers/jdk/dlj-bundle-builder.sh
+++ b/pkgs/development/compilers/oraclejdk/dlj-bundle-builder.sh
diff --git a/pkgs/development/compilers/jdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index b29ae826d888..90a64ecd5217 100644
--- a/pkgs/development/compilers/jdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -30,6 +30,7 @@
 , alsaLib
 , atk
 , gdk_pixbuf
+, setJavaClassPath
 }:
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
@@ -59,9 +60,9 @@ let
       "";
 in
 
-stdenv.mkDerivation rec {
+let result = stdenv.mkDerivation rec {
   name =
-    if installjdk then "jdk-1.${productVersion}.0_${patchVersion}" else "jre-1.${productVersion}.0_${patchVersion}";
+    if installjdk then "oraclejdk-${productVersion}u${patchVersion}" else "oraclejre-${productVersion}u${patchVersion}";
 
   src =
     if stdenv.system == "i686-linux" then
@@ -71,7 +72,6 @@ stdenv.mkDerivation rec {
         sha256 = sha256_i686;
       }
     else if stdenv.system == "x86_64-linux" then
-
       requireFile {
         name = "jdk-${productVersion}u${patchVersion}-linux-x64.tar.gz";
         url = downloadUrl;
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
 
   # See: https://github.com/NixOS/patchelf/issues/10
   dontStrip = 1;
-  
+
   installPhase = ''
     cd ..
 
@@ -140,7 +140,7 @@ stdenv.mkDerivation rec {
     rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/server
     rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}/xawt
     rpath=$rpath''${rpath:+:}$jrePath/lib/${architecture}
-    
+
     # set all the dynamic linkers
     find $out -type f -perm +100 \
         -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
@@ -157,6 +157,14 @@ stdenv.mkDerivation rec {
 
     mkdir $jrePath/lib/${architecture}/plugins
     ln -s $jrePath/lib/${architecture}/libnpjp2.so $jrePath/lib/${architecture}/plugins
+
+    mkdir -p $out/nix-support
+    echo -n "${setJavaClassPath}" > $out/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    cat <<EOF >> $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out; fi
+    EOF
   '';
 
   inherit installjdk pluginSupport;
@@ -170,6 +178,8 @@ stdenv.mkDerivation rec {
 
   passthru.mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
 
+  passthru.jre = result; # FIXME: use multiple outputs or return actual JRE package
+
   meta.license = "unfree";
-}
 
+}; in result
diff --git a/pkgs/development/compilers/jdk/jdk6-construct.sh b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
index 16ee0f5a2f04..16ee0f5a2f04 100644
--- a/pkgs/development/compilers/jdk/jdk6-construct.sh
+++ b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
diff --git a/pkgs/development/compilers/jdk/jdk6-linux.nix b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
index 97ec6b56305c..97ec6b56305c 100644
--- a/pkgs/development/compilers/jdk/jdk6-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
diff --git a/pkgs/development/compilers/jdk/jdk7-linux.nix b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
index 46544dc390f2..55e8ad45085f 100644
--- a/pkgs/development/compilers/jdk/jdk7-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk7-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "7";
-  patchVersion = "60";
+  patchVersion = "65";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html;
-  sha256_i686 = "d736fb4fd7c8ef50b76411daa640c6feeb48a5c275d29a90ffeb916a78d47a48";
-  sha256_x86_64 = "c7232b717573b057dbe828d937ee406b7a75fbc6aba7f1de98a049cbd42c6ae8";
+  sha256_i686 = "e3032c561deb237c033b485a358cc429ec83b621303bc6b31768855778a9eaa0";
+  sha256_x86_64 = "33fac9630ca8c2d374247abc5c010ac8d2875a3384968aa3e74448361808e4b7";
   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/jdk/jdk8-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
index 0c3eed75f4c2..63af45643749 100644
--- a/pkgs/development/compilers/jdk/jdk8-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8-linux.nix
@@ -1,9 +1,9 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "5";
+  patchVersion = "11";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256_i686 = "779f83efb8dc9ce7c1143ba9bbd38fa2d8a1c49dcb61f7d36972d37d109c5fc9";
-  sha256_x86_64 = "44901389e9fb118971534ad0f58558ba8c43f315b369117135bd6617ae631edc";
+  sha256_i686 = "3981e6fb7d35b20ac3c05ec56fb3798ac1cd872a9e968bb3d77a718af7b146d1";
+  sha256_x86_64 = "f3593b248b64cc53bf191f45b92a1f10e8c5099c2f84bd5bd5d6465dfd07a8e9";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "f3020a3922efd6626c2fff45695d527f34a8020e938a49292561f18ad1320b59";
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 97043f11f50f..83735376b987 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,39 +1,31 @@
-{ fetchurl, stdenv, builderDefs, precision ? "double" }:
-
-assert stdenv.lib.elem precision [ "single" "double" "long-double" "quad-precision" ];
-
-with { inherit (stdenv.lib) optional; };
-
-let
-  version = "3.3.3";
-  localDefs = builderDefs.passthru.function {
-    src =
-      fetchurl {
-        url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
-        sha256 = "1wwp9b2va7vkq3ay7a9jk22nr4x5q6m37rzqy2j8y3d11c5grkc5";
-      };
-    buildInputs = [];
-    configureFlags = [
-        "--enable-shared" "--disable-static"
-        "--enable-threads" "--enable-openmp" # very small wrappers
-      ]
-      ++ optional (precision != "double") "--enable-${precision}"
-      # all x86_64 have sse2
-      ++ optional stdenv.isx86_64 "--enable-sse2";
-  };
+{ fetchurl, stdenv, lib, precision ? "double" }:
+
+with lib;
+
+assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-in with localDefs;
+let version = "3.3.4"; in
 
 stdenv.mkDerivation rec {
   name = "fftw-${precision}-${version}";
-  builder = writeScript "${name}-builder"
-    (textClosure localDefs [doConfigure doMakeInstall doForceShare]);
+
+  src = fetchurl {
+    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
+    sha256 = "10h9mzjxnwlsjziah4lri85scc05rlajz39nqf3mbh4vja8dw34g";
+  };
+
+  configureFlags =
+    [ "--enable-shared" "--disable-static"
+      "--enable-threads" "--enable-openmp" # very small wrappers
+    ]
+    ++ optional (precision != "double") "--enable-${precision}"
+    # all x86_64 have sse2
+    ++ optional stdenv.isx86_64 "--enable-sse2";
+
+  enableParallelBuilding = true;
+
   meta = {
     description = "Fastest Fourier Transform in the West library";
-  };
-  passthru = {
-    # Allow instantiating "-A fftw.src"
-    inherit src;
+    homepage = http://www.fftw.org/;
   };
 }
-
diff --git a/pkgs/development/libraries/haskell/HFuse/default.nix b/pkgs/development/libraries/haskell/HFuse/default.nix
index 7ddacbc79ac8..04ebefd37fac 100644
--- a/pkgs/development/libraries/haskell/HFuse/default.nix
+++ b/pkgs/development/libraries/haskell/HFuse/default.nix
@@ -9,11 +9,6 @@ cabal.mkDerivation (self: {
   extraLibraries = [ fuse ];
   preConfigure = ''
     sed -i -e "s@  Extra-Lib-Dirs:         /usr/local/lib@  Extra-Lib-Dirs:         ${fuse}/lib@" HFuse.cabal
-    sed -i -e "s/LANGUAGE FlexibleContexts/LANGUAGE FlexibleContexts, RankNTypes/" System/Fuse.hsc
-    sed -i -e "s/E(Exception/E(catch, Exception, IOException/" System/Fuse.hsc
-    sed -i -e "s/IO(catch,/IO(/" System/Fuse.hsc
-    sed -i -e "s/IO.catch/ E.catch/" System/Fuse.hsc
-    sed -i -e "s/const exitFailure/\\\\(_ :: IOException) -> exitFailure/" System/Fuse.hsc
   '';
   meta = {
     homepage = "https://github.com/m15k/hfuse";
diff --git a/pkgs/development/libraries/haskell/HTF/default.nix b/pkgs/development/libraries/haskell/HTF/default.nix
index 7667dd3d5422..5908498bd0a7 100644
--- a/pkgs/development/libraries/haskell/HTF/default.nix
+++ b/pkgs/development/libraries/haskell/HTF/default.nix
@@ -2,21 +2,23 @@
 
 { cabal, aeson, base64Bytestring, cpphs, Diff, filepath
 , haskellSrcExts, HUnit, liftedBase, monadControl, mtl, QuickCheck
-, random, regexCompat, temporary, text, unorderedContainers, xmlgen
+, random, regexCompat, temporary, text, time, unorderedContainers
+, vector, xmlgen
 }:
 
 cabal.mkDerivation (self: {
   pname = "HTF";
-  version = "0.11.4.0";
-  sha256 = "0bg84x6xk359zby04xw62yy227fk85mgs7x5nkdbsxcajm7j0bs9";
+  version = "0.12.0.0";
+  sha256 = "1mbil44gbcl52f84dphxkdvxsyz8bhc532mlq37aqr1bmj54rv0i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson base64Bytestring cpphs Diff haskellSrcExts HUnit liftedBase
-    monadControl mtl QuickCheck random regexCompat text xmlgen
+    monadControl mtl QuickCheck random regexCompat text time vector
+    xmlgen
   ];
   testDepends = [
-    aeson filepath mtl random regexCompat temporary text
+    aeson filepath HUnit mtl random regexCompat temporary text
     unorderedContainers
   ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
new file mode 100644
index 000000000000..60667b2afa01
--- /dev/null
+++ b/pkgs/development/libraries/haskell/QuickCheck/2.7.6.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, random, testFramework, tfRandom, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "QuickCheck";
+  version = "2.7.6";
+  sha256 = "09y5l0062l9i5jp9v6811kvkk4zpy0mizwaw44abgz0x1h59gn40";
+  buildDepends = [ random tfRandom transformers ];
+  testDepends = [ testFramework ];
+  noHaddock = self.stdenv.lib.versionOlder self.ghc.version "6.11";
+  meta = {
+    homepage = "https://github.com/nick8325/quickcheck";
+    description = "Automatic testing of Haskell programs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson-utils/default.nix b/pkgs/development/libraries/haskell/aeson-utils/default.nix
new file mode 100644
index 000000000000..b0329a4126f1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson-utils/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, scientific, text }:
+
+cabal.mkDerivation (self: {
+  pname = "aeson-utils";
+  version = "0.2.2.1";
+  sha256 = "0sj4kdcxcj2wnf3s109yxq8gghz976hkiqs19bjcp6qkzdf5w6sd";
+  buildDepends = [ aeson attoparsec scientific text ];
+  meta = {
+    description = "Utilities for working with Aeson";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
new file mode 100644
index 000000000000..cfb256eb9b76
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.8.0.0.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, blazeBuilder, deepseq, dlist, hashable, HUnit
+, mtl, QuickCheck, scientific, syb, testFramework
+, testFrameworkHunit, testFrameworkQuickcheck2, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.8.0.0";
+  sha256 = "0p2x03wjawhav87jp57vwclra0gjwn1gqk74zgnji25ypwsvgkk4";
+  buildDepends = [
+    attoparsec blazeBuilder deepseq dlist hashable mtl scientific syb
+    text time unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/applicative-quoters/default.nix b/pkgs/development/libraries/haskell/applicative-quoters/default.nix
new file mode 100644
index 000000000000..84bd2e1e4386
--- /dev/null
+++ b/pkgs/development/libraries/haskell/applicative-quoters/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcMeta }:
+
+cabal.mkDerivation (self: {
+  pname = "applicative-quoters";
+  version = "0.1.0.8";
+  sha256 = "10m29d0938khjdazsmsvvncr5xndnpzpm1b7ymzb3b4b81xmcpgl";
+  buildDepends = [ haskellSrcMeta ];
+  meta = {
+    description = "Quasiquoters for idiom brackets and an applicative do-notation";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/blaze-from-html/default.nix b/pkgs/development/libraries/haskell/blaze-from-html/default.nix
new file mode 100644
index 000000000000..4897e7505560
--- /dev/null
+++ b/pkgs/development/libraries/haskell/blaze-from-html/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, tagsoup }:
+
+cabal.mkDerivation (self: {
+  pname = "blaze-from-html";
+  version = "0.3.2.1";
+  sha256 = "1li3zxrgwj5rgk894d9zwfxnx5dfjzkvjlcyck2g7s0awfp2kq4s";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ filepath tagsoup ];
+  meta = {
+    homepage = "http://jaspervdj.be/blaze";
+    description = "Tool to convert HTML to BlazeHtml code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cgrep/default.nix b/pkgs/development/libraries/haskell/cgrep/default.nix
new file mode 100644
index 000000000000..5fae8ab3dfdd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cgrep/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ansiTerminal, cmdargs, dlist, filepath, regexPosix, safe
+, split, stm, stringsearch, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cgrep";
+  version = "6.4.3.1";
+  sha256 = "0pqifapjgazz7wiydc775i4f6iixq8v87rzjgvvymdbdsn0sfa0r";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    ansiTerminal cmdargs dlist filepath regexPosix safe split stm
+    stringsearch unorderedContainers
+  ];
+  meta = {
+    homepage = "http://awgn.github.io/cgrep/";
+    description = "Command line tool";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/code-builder/default.nix b/pkgs/development/libraries/haskell/code-builder/default.nix
new file mode 100644
index 000000000000..77883f5a07ad
--- /dev/null
+++ b/pkgs/development/libraries/haskell/code-builder/default.nix
@@ -0,0 +1,14 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "code-builder";
+  version = "0.1.3";
+  sha256 = "1ax4c19xkszahcxvwc1wa1hrgk6ajck5sbprbplsi1gc9jj4g7jm";
+  meta = {
+    description = "Simple system for generating code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
index 00bb1f5bdcb3..5dc139d058f9 100644
--- a/pkgs/development/libraries/haskell/conduit-extra/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -1,22 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, blazeBuilder, conduit, exceptions, filepath
-, hspec, monadControl, network, primitive, resourcet
+{ cabal, async, attoparsec, blazeBuilder, conduit, exceptions
+, filepath, hspec, monadControl, network, primitive, resourcet, stm
 , streamingCommons, text, transformers, transformersBase
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit-extra";
-  version = "1.1.1";
-  sha256 = "1876kg7zb0gasl7ijmx48r5r2jv3c5xxa1xb6g6iqfysx0qsv6z2";
+  version = "1.1.2";
+  sha256 = "1hglg491vgy6hjggi7067rjly3dlnr3byf6xlc20narzr25sxfxi";
   buildDepends = [
     attoparsec blazeBuilder conduit filepath monadControl network
-    primitive resourcet streamingCommons text transformers
+    primitive resourcet stm streamingCommons text transformers
     transformersBase
   ];
   testDepends = [
-    attoparsec blazeBuilder conduit exceptions hspec resourcet text
-    transformers transformersBase
+    async attoparsec blazeBuilder conduit exceptions hspec resourcet
+    stm text transformers transformersBase
   ];
   noHaddock = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index c48108d20352..7d2375f4b360 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.1.6";
-  sha256 = "1nhjj5zz934fd6fdbmkl8xvnvlaprxccgpwxffmdgqwxhvxgprq3";
+  version = "1.1.7";
+  sha256 = "0xk2his7qbidnzs56xcgnjipbnqmmnh74qy8dfvbznkkqhxdzmz6";
   buildDepends = [
     exceptions liftedBase mmorph monadControl mtl resourcet
     transformers transformersBase void
diff --git a/pkgs/development/libraries/haskell/connection/default.nix b/pkgs/development/libraries/haskell/connection/default.nix
index 2430496dbab7..8b2380767f3b 100644
--- a/pkgs/development/libraries/haskell/connection/default.nix
+++ b/pkgs/development/libraries/haskell/connection/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "connection";
-  version = "0.2.1";
-  sha256 = "1wdjfc9lld3wkr7ncjkszmrwqp74p994ml3chymniz440xg1lxwy";
+  version = "0.2.3";
+  sha256 = "02mqn19pssdak82jw38p3cbwjyfvmjc6fawgx5981hzbdgb64vsb";
   buildDepends = [
     cprngAes dataDefaultClass network socks tls x509 x509Store
     x509System x509Validation
diff --git a/pkgs/development/libraries/haskell/coroutine-object/default.nix b/pkgs/development/libraries/haskell/coroutine-object/default.nix
index 56eec866be9e..63448e3a633e 100644
--- a/pkgs/development/libraries/haskell/coroutine-object/default.nix
+++ b/pkgs/development/libraries/haskell/coroutine-object/default.nix
@@ -6,12 +6,11 @@
 
 cabal.mkDerivation (self: {
   pname = "coroutine-object";
-  version = "0.2.0.0";
-  sha256 = "1jl5glnk4ildjrxyxscxd0v7xfqbd9vpv5gaxygsfsbfr1zizp3s";
+  version = "0.3";
+  sha256 = "0q0rvcc7ipxwmikaxh0ymq1d65f2q1a2jrd1i553pdf8hwmv0k1r";
   buildDepends = [
     cereal either lens mtl safecopy transformers transformersFree uuid
   ];
-  jailbreak = true;
   meta = {
     description = "Object-oriented programming realization using coroutine";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/deepseq-th/default.nix b/pkgs/development/libraries/haskell/deepseq-th/default.nix
index e70a25dff93d..efa3057291d6 100644
--- a/pkgs/development/libraries/haskell/deepseq-th/default.nix
+++ b/pkgs/development/libraries/haskell/deepseq-th/default.nix
@@ -8,6 +8,8 @@ cabal.mkDerivation (self: {
   sha256 = "12wk8higrp12b22zzz1b4ar1q5h7flk22bp2rvswsqri2zkbi965";
   buildDepends = [ deepseq ];
   testDepends = [ deepseq ];
+  jailbreak = true;
+  doCheck = false;
   meta = {
     description = "Template Haskell based deriver for optimised NFData instances";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
index d643b87c42ea..fbe450df19a9 100644
--- a/pkgs/development/libraries/haskell/djinn/default.nix
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -9,6 +9,9 @@ cabal.mkDerivation (self: {
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ haskeline mtl ];
+  preConfigure = self.stdenv.lib.optionalString self.stdenv.isDarwin ''
+    sed -i 's/-Wall -optl-Wl/-Wall/' djinn.cabal
+  '';
   meta = {
     homepage = "http://www.augustsson.net/Darcs/Djinn/";
     description = "Generate Haskell code from a type";
diff --git a/pkgs/development/libraries/haskell/ekg-carbon/default.nix b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
new file mode 100644
index 000000000000..12c29f0d56e5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/ekg-carbon/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, ekgCore, network, networkCarbon, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "ekg-carbon";
+  version = "1.0.0";
+  sha256 = "0zcnh74z0n0xxxr6r0j3kgpbfwli58y714k0mwwc2wxjgcv6xiyc";
+  buildDepends = [
+    ekgCore network networkCarbon text time unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/ekg-carbon";
+    description = "An EKG backend to send statistics to Carbon (part of Graphite monitoring tools)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/engine-io-snap/default.nix b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
index fdef92cfab86..996b8ace9829 100644
--- a/pkgs/development/libraries/haskell/engine-io-snap/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io-snap/default.nix
@@ -1,11 +1,13 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
 { cabal, attoparsecEnumerator, engineIo, snapCore
 , unorderedContainers, websockets, websocketsSnap
 }:
 
 cabal.mkDerivation (self: {
   pname = "engine-io-snap";
-  version = "1.0.0";
-  sha256 = "152hz2b9zbmjpp517g6kp7fs7kbvyil28dp6djqjlmp9fqkgckap";
+  version = "1.0.1";
+  sha256 = "1hw3gmi23fdcgvz817b95bf23wa7qyg10axsnvan5qxr73pwp5iv";
   buildDepends = [
     attoparsecEnumerator engineIo snapCore unorderedContainers
     websockets websocketsSnap
diff --git a/pkgs/development/libraries/haskell/engine-io/default.nix b/pkgs/development/libraries/haskell/engine-io/default.nix
index fc236cec2072..9684c7660fba 100644
--- a/pkgs/development/libraries/haskell/engine-io/default.nix
+++ b/pkgs/development/libraries/haskell/engine-io/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "engine-io";
-  version = "1.0.0";
-  sha256 = "08gxhf9ihz32z5ayabxw7mn14rib2kyawrvfqzbdkw8vxgjiasv9";
+  version = "1.1.0";
+  sha256 = "0l2jwgzi22ky13k9kmqhn15zyxyg5gr167rkywb458n1si4jr3jh";
   buildDepends = [
     aeson async attoparsec base64Bytestring either monadLoops mwcRandom
     stm text transformers unorderedContainers vector websockets
diff --git a/pkgs/development/libraries/haskell/focus/default.nix b/pkgs/development/libraries/haskell/focus/default.nix
new file mode 100644
index 000000000000..a2575734b4da
--- /dev/null
+++ b/pkgs/development/libraries/haskell/focus/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, lochTh, placeholders }:
+
+cabal.mkDerivation (self: {
+  pname = "focus";
+  version = "0.1.1";
+  sha256 = "0x158zqxgm8ys4mxs94zl811qfdcb06jqy5h99qc63r7snwnixmd";
+  buildDepends = [ lochTh placeholders ];
+  meta = {
+    homepage = "https://github.com/nikita-volkov/focus";
+    description = "A general abstraction for manipulating elements of container data structures";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/generic-aeson/default.nix b/pkgs/development/libraries/haskell/generic-aeson/default.nix
new file mode 100644
index 000000000000..209cbb7a52e3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/generic-aeson/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, genericDeriving, HUnit, mtl, tagged
+, text, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "generic-aeson";
+  version = "0.1.0.3";
+  sha256 = "1svbjgd8g1ljximqb4pph9lvsswgvkj46jkqq8lzmh9ql385g2vp";
+  buildDepends = [
+    aeson attoparsec genericDeriving mtl tagged text vector
+  ];
+  testDepends = [ aeson attoparsec HUnit ];
+  meta = {
+    description = "Derivation of Aeson instances using GHC generics";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/gtk/default.nix b/pkgs/development/libraries/haskell/gtk/default.nix
index 2f785a953823..9fd8cf6f303d 100644
--- a/pkgs/development/libraries/haskell/gtk/default.nix
+++ b/pkgs/development/libraries/haskell/gtk/default.nix
@@ -1,6 +1,6 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cairo, glib, gtk, gtk2hsBuildtools, libc, mtl, pango
+{ cabal, cairo, gio, glib, gtk, gtk2hsBuildtools, libc, mtl, pango
 , pkgconfig
 }:
 
@@ -8,7 +8,7 @@ cabal.mkDerivation (self: {
   pname = "gtk";
   version = "0.12.5.7";
   sha256 = "0hax4ixdz523753rc774c8g76bjlj56lsabyl5nwkpnppffpa73w";
-  buildDepends = [ cairo glib mtl pango ];
+  buildDepends = [ cairo gio glib mtl pango ];
   buildTools = [ gtk2hsBuildtools ];
   extraLibraries = [ libc pkgconfig ];
   pkgconfigDepends = [ glib gtk ];
diff --git a/pkgs/development/libraries/haskell/hi/default.nix b/pkgs/development/libraries/haskell/hi/default.nix
new file mode 100644
index 000000000000..ba1614931095
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hi/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, filepath, hspec, HUnit, parsec, split, template
+, temporaryRc, text, time
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hi";
+  version = "0.0.8.1";
+  sha256 = "14g1yfc6cv89whx6w0di5nayifc0xfvll9h07kkqxaajyfw6s32y";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    filepath parsec split template temporaryRc text time
+  ];
+  testDepends = [
+    filepath hspec HUnit parsec split template temporaryRc text time
+  ];
+  meta = {
+    homepage = "https://github.com/fujimura/hi";
+    description = "Generate scaffold for cabal project";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/highlighting-kate/default.nix b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
index 92b41fc3e8b4..531273e5a135 100644
--- a/pkgs/development/libraries/haskell/highlighting-kate/default.nix
+++ b/pkgs/development/libraries/haskell/highlighting-kate/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "highlighting-kate";
-  version = "0.5.8.3";
-  sha256 = "03x9vp6mvk9hxs92cmy42aqiyh4prnh343xg36znyjii6xw2x3mf";
+  version = "0.5.8.4";
+  sha256 = "018j5z4cl9iv5m9wzjykh2gcn5d4fi7vahj76jv0ah101g6fqvrh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hoodle-builder/default.nix b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
index 3221bff8100f..9e16fd348592 100644
--- a/pkgs/development/libraries/haskell/hoodle-builder/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, blazeBuilder, doubleConversion, hoodleTypes, lens, strict
+, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoodle-builder";
-  version = "0.2.2.0";
-  sha256 = "0p123jpm39ggbjn1757nfygcgi324knin62cyggbq1hhhglkfxa2";
+  version = "0.3";
+  sha256 = "0mj58g7kfr5hpqv6idjb24d3gdh25z5x2ym62c6ckm5g3f4x3jm9";
   buildDepends = [
-    blazeBuilder doubleConversion hoodleTypes lens strict
+    blazeBuilder doubleConversion hoodleTypes lens strict text
   ];
-  jailbreak = true;
   meta = {
     description = "text builder for hoodle file format";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/hoodle-core/default.nix b/pkgs/development/libraries/haskell/hoodle-core/default.nix
index c25096ff4cf5..d623df9b9f56 100644
--- a/pkgs/development/libraries/haskell/hoodle-core/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-core/default.nix
@@ -1,28 +1,29 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, base64Bytestring, binary, cairo, cereal
-, configurator, coroutineObject, dbus, Diff, dyre, either, errors
-, filepath, fsnotify, gd, gtk, hoodleBuilder, hoodleParser
-, hoodleRender, hoodleTypes, lens, libX11, libXi, monadLoops, mtl
-, network, networkInfo, networkSimple, pango, poppler, pureMD5, stm
-, strict, svgcairo, systemFilepath, text, time, transformers
-, transformersFree, uuid, xournalParser
+{ cabal, aeson, aesonPretty, attoparsec, base64Bytestring, binary
+, cairo, cereal, configurator, coroutineObject, dbus, Diff, dyre
+, either, errors, filepath, fsnotify, gd, gtk, hoodleBuilder
+, hoodleParser, hoodleRender, hoodleTypes, lens, libX11, libXi
+, monadLoops, mtl, network, networkInfo, networkSimple, pango
+, poppler, pureMD5, stm, strict, svgcairo, systemFilepath, text
+, time, transformers, transformersFree, unorderedContainers, uuid
+, vector, xournalParser
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoodle-core";
-  version = "0.13.0.0";
-  sha256 = "1krq7i7kvymjhj9kar2rpy4qkbak8p4n1ifswdnk9r1dw7fr8vdx";
+  version = "0.14";
+  sha256 = "1njkjxcbnwh9b7mg0xcqkc0clfz64n5h9jqf3323npyw8bhw34b8";
   buildDepends = [
-    attoparsec base64Bytestring binary cairo cereal configurator
-    coroutineObject dbus Diff dyre either errors filepath fsnotify gd
-    gtk hoodleBuilder hoodleParser hoodleRender hoodleTypes lens
-    monadLoops mtl network networkInfo networkSimple pango poppler
+    aeson aesonPretty attoparsec base64Bytestring binary cairo cereal
+    configurator coroutineObject dbus Diff dyre either errors filepath
+    fsnotify gd gtk hoodleBuilder hoodleParser hoodleRender hoodleTypes
+    lens monadLoops mtl network networkInfo networkSimple pango poppler
     pureMD5 stm strict svgcairo systemFilepath text time transformers
-    transformersFree uuid xournalParser
+    transformersFree unorderedContainers uuid vector xournalParser
   ];
   extraLibraries = [ libX11 libXi ];
-  jailbreak = true;
+  noHaddock = true;
   meta = {
     homepage = "http://ianwookim.org/hoodle";
     description = "Core library for hoodle";
diff --git a/pkgs/development/libraries/haskell/hoodle-extra/default.nix b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
new file mode 100644
index 000000000000..d9d5c6a61301
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-extra/default.nix
@@ -0,0 +1,29 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonPretty, attoparsec, base64Bytestring, binary
+, cmdargs, conduit, either, filepath, hoodleParser, hoodleTypes
+, httpConduit, lens, monadLoops, mtl, networkSimple, pureMD5
+, resourcet, text, time, transformers, unorderedContainers
+, xournalParser
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-extra";
+  version = "0.1";
+  sha256 = "1mqx4qia457n8v4pdyd8mc8h7ybzx5asxm2d4p9ws5g2q4ybmshy";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    aeson aesonPretty attoparsec base64Bytestring binary cmdargs
+    conduit either filepath hoodleParser hoodleTypes httpConduit lens
+    monadLoops mtl networkSimple pureMD5 resourcet text time
+    transformers unorderedContainers xournalParser
+  ];
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "extra hoodle tools";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-parser/default.nix b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
index 62e0b8b1f9a3..86800e6efd5f 100644
--- a/pkgs/development/libraries/haskell/hoodle-parser/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
@@ -6,13 +6,12 @@
 
 cabal.mkDerivation (self: {
   pname = "hoodle-parser";
-  version = "0.2.2";
-  sha256 = "1m0jf7820hkdq69866hwqd1cc6rv331jrar8ayr28692h09j02rm";
+  version = "0.3";
+  sha256 = "1ihpmkhjzsf8w4ygljx2agx31xblc0ch4y8m9pwj7rnnjj1sw15i";
   buildDepends = [
     attoparsec either hoodleTypes lens mtl strict text transformers
     xournalTypes
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://ianwookim.org/hoodle";
     description = "Hoodle file parser";
diff --git a/pkgs/development/libraries/haskell/hoodle-render/default.nix b/pkgs/development/libraries/haskell/hoodle-render/default.nix
index adc7031b717c..c3cec26802c4 100644
--- a/pkgs/development/libraries/haskell/hoodle-render/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-render/default.nix
@@ -1,21 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, base64Bytestring, cairo, filepath, gd, hoodleTypes, lens
-, monadLoops, mtl, poppler, strict, svgcairo, uuid
+{ cabal, base64Bytestring, cairo, filepath, gd, gtk, hoodleTypes
+, lens, monadLoops, mtl, poppler, stm, strict, svgcairo
+, transformers, unorderedContainers, uuid
 }:
 
 cabal.mkDerivation (self: {
   pname = "hoodle-render";
-  version = "0.3.2";
-  sha256 = "1mmx27g1vqpndk26nz2hy7rckcgg68clvr5x31cqz9f8sifd8rsg";
+  version = "0.4";
+  sha256 = "06ds0fzw11a10m927y2jvmgbsjy7cxdpppb6ifxkg173csp92a2d";
   buildDepends = [
-    base64Bytestring cairo filepath gd hoodleTypes lens monadLoops mtl
-    poppler strict svgcairo uuid
+    base64Bytestring cairo filepath gd gtk hoodleTypes lens monadLoops
+    mtl poppler stm strict svgcairo transformers unorderedContainers
+    uuid
   ];
-  jailbreak = true;
   meta = {
     description = "Hoodle file renderer";
-    license = self.stdenv.lib.licenses.bsd3;
+    license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
   };
diff --git a/pkgs/development/libraries/haskell/hoodle-types/default.nix b/pkgs/development/libraries/haskell/hoodle-types/default.nix
index cd71d7250cd0..745e2c575b82 100644
--- a/pkgs/development/libraries/haskell/hoodle-types/default.nix
+++ b/pkgs/development/libraries/haskell/hoodle-types/default.nix
@@ -1,13 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, cereal, lens, mtl, strict, uuid }:
+{ cabal, cereal, lens, mtl, strict, text, uuid }:
 
 cabal.mkDerivation (self: {
   pname = "hoodle-types";
-  version = "0.2.2";
-  sha256 = "0dw2ji676nq3idb7izzzfnxzhyngf84wkapc0la43g4w4hzv1zxz";
-  buildDepends = [ cereal lens mtl strict uuid ];
-  jailbreak = true;
+  version = "0.3";
+  sha256 = "0n9plj6hhsc5482pl7sw4gw7py8r6cn0cl7hg35g2qxdxnzapifm";
+  buildDepends = [ cereal lens mtl strict text uuid ];
   meta = {
     description = "Data types for programs for hoodle file format";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/http-client-tls/default.nix b/pkgs/development/libraries/haskell/http-client-tls/default.nix
index 6aa30625244e..ca4dbbe1085c 100644
--- a/pkgs/development/libraries/haskell/http-client-tls/default.nix
+++ b/pkgs/development/libraries/haskell/http-client-tls/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client-tls";
-  version = "0.2.1.2";
-  sha256 = "08qq2d4mqdd80jb99wm4gd4bqvnrlcpblvqgn18p8bzhw1qq6siy";
+  version = "0.2.2";
+  sha256 = "0a01r05h5fxswyn6k6cgqgak4scqjan72hyy5wbdqzzhl4rmh7j5";
   buildDepends = [
     connection dataDefaultClass httpClient network tls
   ];
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index e69b436374af..d52017615836 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.3.4";
-  sha256 = "0y4va0xfriv3qv31hbh7kbzmf61rr3ffr4z4vlfdlzacfv8307y4";
+  version = "0.3.5";
+  sha256 = "0ffr4xccm2yp5ikiz5dzzjm82vz7gab56l80ra9criry9qirmwqh";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 1c4afa9b1362..8d8c3af80932 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "2.1.2.3";
-  sha256 = "07d9lhkqf1kr4mg61q0pcf8y73wkdymazxrvr425wjh9363r89gl";
+  version = "2.1.3";
+  sha256 = "1z9i0b9kl1kqh3nvbhh5vmqyg19pkdpj4cbkfhj0r47rbcynhwlb";
   buildDepends = [
     conduit httpClient httpClientTls httpTypes liftedBase monadControl
     mtl resourcet transformers
diff --git a/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
new file mode 100644
index 000000000000..60b43b0bad4b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hxt-pickle-utils/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hxt, mtl }:
+
+cabal.mkDerivation (self: {
+  pname = "hxt-pickle-utils";
+  version = "0.1.0.2";
+  sha256 = "06v4935lljcyyx4a5v0z4id3fz4v28aghsrzr94k6diibpnwcdz2";
+  buildDepends = [ hxt mtl ];
+  meta = {
+    homepage = "https://github.com/silkapp/hxt-pickle-utils";
+    description = "Utility functions for using HXT picklers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/imm/default.nix b/pkgs/development/libraries/haskell/imm/default.nix
index 0588e633d906..24a96ba028a9 100644
--- a/pkgs/development/libraries/haskell/imm/default.nix
+++ b/pkgs/development/libraries/haskell/imm/default.nix
@@ -23,6 +23,5 @@ cabal.mkDerivation (self: {
     description = "Retrieve RSS/Atom feeds and write one mail per new item in a maildir";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
-    maintainers = [ "Daniel Bergey <bergey@teallabs.org>" ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/interpolate/default.nix b/pkgs/development/libraries/haskell/interpolate/default.nix
index 6367c93fd322..eed6aa835f8f 100644
--- a/pkgs/development/libraries/haskell/interpolate/default.nix
+++ b/pkgs/development/libraries/haskell/interpolate/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "interpolate";
-  version = "0.0.2";
-  sha256 = "0l9hrgwmvp7h2mgw90gk45zgp0yy00201ki9hwg26sh2wd0sj6f8";
+  version = "0.0.3";
+  sha256 = "05aksslx7mvic3cgw9ixwjp0r759a4gf7m178pbp8xm8dpdksjjw";
   buildDepends = [ haskellSrcMeta ];
   testDepends = [
     doctest haskellSrcMeta hspec QuickCheck quickcheckInstances text
diff --git a/pkgs/development/libraries/haskell/iproute/default.nix b/pkgs/development/libraries/haskell/iproute/default.nix
index 9d4ff61bd419..2aa33e9b4417 100644
--- a/pkgs/development/libraries/haskell/iproute/default.nix
+++ b/pkgs/development/libraries/haskell/iproute/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "iproute";
-  version = "1.2.12";
-  sha256 = "19pr6my4nw7qq9lsp6xvz55lm9svwzqka5qcqy79sfdkxg459rg5";
+  version = "1.3.0";
+  sha256 = "1n9lcm1f2rlqkvg90zikf2h4badzh9r24zqb27648l48254m6q5p";
   buildDepends = [ appar byteorder network ];
   testDepends = [
     appar byteorder doctest hspec network QuickCheck safe
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
new file mode 100644
index 000000000000..c8c7c503ea93
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-happstack/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, happstackServer, jmacro, jmacroRpc, mtl
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc-happstack";
+  version = "0.3";
+  sha256 = "0z24iqq0nmvm4x4fz4vl1rsccqnaynhmza502im967y7lials9wa";
+  buildDepends = [
+    aeson blazeHtml happstackServer jmacro jmacroRpc mtl
+  ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+    description = "Happstack backend for jmacro-rpc";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
new file mode 100644
index 000000000000..9ff082e3239f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc-snap/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, jmacro, jmacroRpc, mtl, snapCore }:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc-snap";
+  version = "0.3";
+  sha256 = "1syzx2lw4r8knsqhsvilp04wb8a718379cmn0nhjqlwhpaja9bj8";
+  buildDepends = [ aeson jmacro jmacroRpc mtl snapCore ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro-rpc";
+    description = "Snap backend for jmacro-rpc";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro-rpc/default.nix b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
new file mode 100644
index 000000000000..d1e302b1bc9f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro-rpc/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, blazeHtml, contravariant, jmacro, mtl
+, scientific, split, text, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro-rpc";
+  version = "0.3";
+  sha256 = "1fkcky2f51764xcbbwnxpxyhk2mmnp364hf8njfcjsijanv938zw";
+  buildDepends = [
+    aeson attoparsec blazeHtml contravariant jmacro mtl scientific
+    split text unorderedContainers vector
+  ];
+  meta = {
+    homepage = "http://hub.darcs.net/gershomb/jmacro";
+    description = "JSON-RPC clients and servers using JMacro, and evented client-server Reactive Programming";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/jmacro/default.nix b/pkgs/development/libraries/haskell/jmacro/default.nix
new file mode 100644
index 000000000000..32d4d3747ef9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/jmacro/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, haskellSrcExts, haskellSrcMeta, mtl, parseargs
+, parsec, regexPosix, safe, syb, text, unorderedContainers, vector
+, wlPprintText
+}:
+
+cabal.mkDerivation (self: {
+  pname = "jmacro";
+  version = "0.6.9";
+  sha256 = "1prplflikryw7scz75rbijn4dl1gdi6589yq5902n26xpaigqsp6";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson haskellSrcExts haskellSrcMeta mtl parseargs parsec regexPosix
+    safe syb text unorderedContainers vector wlPprintText
+  ];
+  meta = {
+    description = "QuasiQuotation library for programmatic generation of Javascript code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/json-schema/default.nix b/pkgs/development/libraries/haskell/json-schema/default.nix
new file mode 100644
index 000000000000..52789acf41ca
--- /dev/null
+++ b/pkgs/development/libraries/haskell/json-schema/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, attoparsec, genericAeson, genericDeriving, HUnit
+, tagged, tasty, tastyHunit, tastyTh, text, time
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "json-schema";
+  version = "0.6";
+  sha256 = "1rlx6r4ybbgz8q159mxh0hp3l0cc8q4nc1g7yd1ii1z4p9wjmnny";
+  buildDepends = [
+    aeson genericAeson genericDeriving tagged text time
+    unorderedContainers vector
+  ];
+  testDepends = [
+    aeson attoparsec genericAeson HUnit tagged tasty tastyHunit tastyTh
+    text
+  ];
+  meta = {
+    description = "Types and type classes for defining JSON schemas";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/loch-th/default.nix b/pkgs/development/libraries/haskell/loch-th/default.nix
new file mode 100644
index 000000000000..5061524708bf
--- /dev/null
+++ b/pkgs/development/libraries/haskell/loch-th/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "loch-th";
+  version = "0.2.1";
+  sha256 = "1kfrjsgzq6wl749n2wm1fhwwigjxcd9lww7whiwjrbmhiz5ism3p";
+  meta = {
+    homepage = "https://github.com/liskin/loch-th";
+    description = "Support for precise error locations in source files (Template Haskell version)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index e50835a43fa9..8a4122efc8fa 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.3.6.1";
-  sha256 = "0ylsrhp2a9qir03nmmz6rkim149pw1fgm63lfg611gvh598ig6ss";
+  version = "0.3.7";
+  sha256 = "03fzp8cvx8qapyjgnm6gywj8b1pcd43y3fb4vg1wgxa55lsg6y58";
   buildDepends = [
     blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase
     monadControl monadLoops mtl resourcet stm stmChans text
diff --git a/pkgs/development/libraries/haskell/multipart/default.nix b/pkgs/development/libraries/haskell/multipart/default.nix
new file mode 100644
index 000000000000..242005392c21
--- /dev/null
+++ b/pkgs/development/libraries/haskell/multipart/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "multipart";
+  version = "0.1.1";
+  sha256 = "12sxi21baq1wsa3z6qrczyk47finw85yiql26l90wxk99smm90pj";
+  buildDepends = [ parsec ];
+  meta = {
+    homepage = "http://www.github.com/silkapp/multipart";
+    description = "A partial fork of the cgi package exposing the multipart module";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/network-carbon/default.nix b/pkgs/development/libraries/haskell/network-carbon/default.nix
new file mode 100644
index 000000000000..d5a4c64cff8a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/network-carbon/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, network, text, time, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "network-carbon";
+  version = "1.0.0";
+  sha256 = "13mbwbcas7g8dyvlcbbl20ryzjvz0grmlbhb5kf1gs957kmn1z52";
+  buildDepends = [ network text time vector ];
+  meta = {
+    homepage = "http://github.com/ocharles/network-carbon";
+    description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/parsers/0.12.nix b/pkgs/development/libraries/haskell/parsers/0.12.nix
new file mode 100644
index 000000000000..bb383b078aa7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/parsers/0.12.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, attoparsec, charset, doctest, filepath, parsec, QuickCheck
+, quickcheckInstances, text, transformers, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "parsers";
+  version = "0.12";
+  sha256 = "0lb1djb2mmlkfqpbz7683i27d3ivv0r99l6w79951wgsqb62xph3";
+  buildDepends = [
+    attoparsec charset parsec text transformers unorderedContainers
+  ];
+  testDepends = [
+    attoparsec doctest filepath parsec QuickCheck quickcheckInstances
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/parsers/";
+    description = "Parsing combinators";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/path-pieces/default.nix b/pkgs/development/libraries/haskell/path-pieces/default.nix
index 4b5bb612b716..5fc9faecf2e6 100644
--- a/pkgs/development/libraries/haskell/path-pieces/default.nix
+++ b/pkgs/development/libraries/haskell/path-pieces/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "path-pieces";
-  version = "0.1.3.1";
-  sha256 = "140pkci5k6aa9ncxa29fn2p0g6lb79zci0k02nblv59qmj5hj8ic";
+  version = "0.1.4";
+  sha256 = "1fxhp4bk88km7z1rdpify7l38li5k21qxw3vgcmq9b6bblvz6y2v";
   buildDepends = [ text time ];
   testDepends = [ hspec HUnit QuickCheck text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/placeholders/default.nix b/pkgs/development/libraries/haskell/placeholders/default.nix
new file mode 100644
index 000000000000..bb4a2c5ca150
--- /dev/null
+++ b/pkgs/development/libraries/haskell/placeholders/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "placeholders";
+  version = "0.1";
+  sha256 = "0ih35n2pw5gr9ggj2xz5zfcs4bdk200fdw6q9hdy3xna7maphak5";
+  meta = {
+    homepage = "http://github.com/ahammar/placeholders";
+    description = "Placeholders for use while developing Haskell code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/plugins/default.nix b/pkgs/development/libraries/haskell/plugins/default.nix
new file mode 100644
index 000000000000..face90f5b1d8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/plugins/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, filepath, ghcPaths, haskellSrc, random }:
+
+cabal.mkDerivation (self: {
+  pname = "plugins";
+  version = "1.5.4.0";
+  sha256 = "126lp2bbz9aa3pfi5dmbbzgsancdj1m26k7man96avixb21mzbi8";
+  buildDepends = [ Cabal filepath ghcPaths haskellSrc random ];
+  meta = {
+    homepage = "http://hub.darcs.net/stepcut/plugins";
+    description = "Dynamic linking for Haskell and C objects";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
index 6cf6a7aac17e..ff8a54b85717 100644
--- a/pkgs/development/libraries/haskell/process-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -1,22 +1,22 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, conduit, controlMonadLoop, hspec, mtl, resourcet
-, shakespeare, shakespeareText, text
+{ cabal, conduit, conduitExtra, controlMonadLoop, hspec, mtl
+, resourcet, shakespeare, shakespeareText, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "process-conduit";
-  version = "1.1.0.0";
-  sha256 = "1b3snck651cpb7i3c78cn264zrjan3lzydf59209abkvb6fv1hql";
+  version = "1.2.0.1";
+  sha256 = "0hnbywmjvk3y26sc9a0jfqzm04pg08zd2bflld1mvni02s89lvc8";
   buildDepends = [
     conduit controlMonadLoop mtl resourcet shakespeare shakespeareText
     text
   ];
-  testDepends = [ conduit hspec ];
+  testDepends = [ conduit conduitExtra hspec resourcet ];
   doCheck = false;
   meta = {
-    homepage = "http://github.com/tanakh/process-conduit";
-    description = "Conduits for processes";
+    homepage = "http://github.com/snoyberg/process-conduit";
+    description = "Conduits for processes (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index a178dce43d12..ab05167683fc 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.2.6";
-  sha256 = "0aszzaj3942xgq0nmql68s5cgplhkqrk0k6cfd1mx5lq5n0qxf94";
+  version = "0.5.3";
+  sha256 = "05vhz3j4gx9paxmvimy154730078bl148819shwml6l6vq02723i";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/reflection/default.nix b/pkgs/development/libraries/haskell/reflection/default.nix
index 67827299280a..b7138c3e9746 100644
--- a/pkgs/development/libraries/haskell/reflection/default.nix
+++ b/pkgs/development/libraries/haskell/reflection/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "reflection";
-  version = "1.4";
-  sha256 = "0i6yb3fa9wizyaz8x9b7yzkw9jf7zahdrkr2y0iw7igdxqn4n0k7";
+  version = "1.5.1";
+  sha256 = "18ail6j7rs5jff9zxphxd7vjkwanpv12dhi98s86r65425fdhjlx";
   buildDepends = [ tagged ];
   meta = {
     homepage = "http://github.com/ekmett/reflection";
diff --git a/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
new file mode 100644
index 000000000000..35a3f32847e1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/regular-xmlpickler/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hxt, regular, text }:
+
+cabal.mkDerivation (self: {
+  pname = "regular-xmlpickler";
+  version = "0.2";
+  sha256 = "1qjx4xsidnpr2as3m2ir97ap5vc9cw6a0z332g53ifx9gskjli9f";
+  buildDepends = [ hxt regular text ];
+  meta = {
+    homepage = "http://github.com/silkapp/regular-xmlpickler";
+    description = "Generic generation of HXT XmlPickler instances using Regular";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-client/default.nix b/pkgs/development/libraries/haskell/rest-client/default.nix
new file mode 100644
index 000000000000..0712742717b7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-client/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aesonUtils, caseInsensitive, dataDefault
+, exceptionTransformers, httpConduit, httpTypes, hxt
+, hxtPickleUtils, monadControl, mtl, primitive, resourcet
+, restTypes, tostring, transformersBase, uriEncode, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-client";
+  version = "0.4";
+  sha256 = "18mvmp4c5zznph8q5ash6224wig5kwvb6v19dkn39n4l72cdq7wm";
+  buildDepends = [
+    aesonUtils caseInsensitive dataDefault exceptionTransformers
+    httpConduit httpTypes hxt hxtPickleUtils monadControl mtl primitive
+    resourcet restTypes tostring transformersBase uriEncode utf8String
+  ];
+  meta = {
+    description = "Utility library for use in generated API client libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
new file mode 100644
index 000000000000..743717305697
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, aesonUtils, either, errors, fclabels, HUnit, hxt
+, hxtPickleUtils, jsonSchema, mtl, multipart, random, restStringmap
+, restTypes, safe, split, testFramework, testFrameworkHunit, text
+, transformers, unorderedContainers, uriEncode, utf8String, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-core";
+  version = "0.31.1";
+  sha256 = "1cx1zmy1zr43n9nlrbar828izccpkvrvjkrda03ra9fkcjgd6qy6";
+  buildDepends = [
+    aeson aesonUtils either errors fclabels hxt hxtPickleUtils
+    jsonSchema mtl multipart random restStringmap restTypes safe split
+    text transformers unorderedContainers uriEncode utf8String uuid
+  ];
+  testDepends = [
+    HUnit mtl testFramework testFrameworkHunit unorderedContainers
+  ];
+  meta = {
+    description = "Rest API library";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
new file mode 100644
index 000000000000..fb27f40cc2b2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -0,0 +1,28 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, blazeHtml, Cabal, codeBuilder, fclabels, filepath
+, hashable, haskellSrcExts, hslogger, HStringTemplate, HUnit, hxt
+, jsonSchema, restCore, safe, scientific, split, tagged
+, testFramework, testFrameworkHunit, text, uniplate
+, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-gen";
+  version = "0.14.2";
+  sha256 = "1hmf77hs3pp6lf4glh3lbbwfjr029js185v69bk8ycr1c4ib8nbp";
+  buildDepends = [
+    aeson blazeHtml Cabal codeBuilder fclabels filepath hashable
+    haskellSrcExts hslogger HStringTemplate hxt jsonSchema restCore
+    safe scientific split tagged text uniplate unorderedContainers
+    vector
+  ];
+  testDepends = [
+    haskellSrcExts HUnit restCore testFramework testFrameworkHunit
+  ];
+  meta = {
+    description = "Documentation and client generation from rest definition";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-happstack/default.nix b/pkgs/development/libraries/haskell/rest-happstack/default.nix
new file mode 100644
index 000000000000..74c5f2a06cbd
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-happstack/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, happstackServer, mtl, restCore, restGen, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "rest-happstack";
+  version = "0.2.10";
+  sha256 = "1np8y0v6jnk2lw0aqlzb9dn1vlk8cg75xrhkjmm6qh0z90fy3p6z";
+  buildDepends = [ happstackServer mtl restCore restGen utf8String ];
+  meta = {
+    description = "Rest driver for Happstack";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-snap/default.nix b/pkgs/development/libraries/haskell/rest-snap/default.nix
new file mode 100644
index 000000000000..5305c2d113f8
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-snap/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, restCore, safe, snapCore
+, unorderedContainers, uriEncode, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-snap";
+  version = "0.1.17.12";
+  sha256 = "0hhpscdbph34psfn2h1g0znds0cz7ja9byr6bg7jmj0h86plz8al";
+  buildDepends = [
+    caseInsensitive restCore safe snapCore unorderedContainers
+    uriEncode utf8String
+  ];
+  meta = {
+    description = "Rest driver for Snap";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-stringmap/default.nix b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
new file mode 100644
index 000000000000..833b79f0df57
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-stringmap/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, hashable, hxt, jsonSchema, tagged, text, tostring
+, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-stringmap";
+  version = "0.2.0.2";
+  sha256 = "0nzkc09679c2mz3amh1avk2kfjpqbhbxsr0r9zvgcs71gqkal2mz";
+  buildDepends = [
+    aeson hashable hxt jsonSchema tagged text tostring
+    unorderedContainers
+  ];
+  meta = {
+    description = "Maps with stringy keys that can be transcoded to JSON and XML";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-types/default.nix b/pkgs/development/libraries/haskell/rest-types/default.nix
new file mode 100644
index 000000000000..e7b5ab779626
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-types/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, genericAeson, hxt, jsonSchema, mtl, regular
+, regularXmlpickler, restStringmap, text, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-types";
+  version = "1.10.1";
+  sha256 = "0i4y1s35ybly1nayqj9c2zqwikpxnzjamq24qbhg0lpqr0dpc1rg";
+  buildDepends = [
+    aeson genericAeson hxt jsonSchema mtl regular regularXmlpickler
+    restStringmap text uuid
+  ];
+  meta = {
+    description = "Silk Rest Framework Types";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/rest-wai/default.nix b/pkgs/development/libraries/haskell/rest-wai/default.nix
new file mode 100644
index 000000000000..7ddb500265b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/rest-wai/default.nix
@@ -0,0 +1,20 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, caseInsensitive, httpTypes, mimeTypes, mtl, restCore
+, restTypes, text, unorderedContainers, utf8String, wai
+}:
+
+cabal.mkDerivation (self: {
+  pname = "rest-wai";
+  version = "0.1.0.2";
+  sha256 = "06wnazy0262b2875q4km2xy9zz7l681vlfj3ny1ha9valnqr3q6w";
+  buildDepends = [
+    caseInsensitive httpTypes mimeTypes mtl restCore restTypes text
+    unorderedContainers utf8String wai
+  ];
+  meta = {
+    description = "Rest driver for WAI applications";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/safe/default.nix b/pkgs/development/libraries/haskell/safe/default.nix
index f6eaed8f3b56..21f2140295a6 100644
--- a/pkgs/development/libraries/haskell/safe/default.nix
+++ b/pkgs/development/libraries/haskell/safe/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "safe";
-  version = "0.3.6";
-  sha256 = "03fjasjw8mh8c15xg8dncdn9g8scr427889vchcckilll40kvzvm";
+  version = "0.3.7";
+  sha256 = "0rw8mjarwl7rwc6fczq0zxlp1nlb6r1rk71whwziwi032hgc8561";
   meta = {
     homepage = "http://community.haskell.org/~ndm/safe/";
     description = "Library of safe (exception free) functions";
diff --git a/pkgs/development/libraries/haskell/simple-conduit/default.nix b/pkgs/development/libraries/haskell/simple-conduit/default.nix
new file mode 100644
index 000000000000..a55267d426b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/simple-conduit/default.nix
@@ -0,0 +1,25 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, chunkedData, either, exceptions, filepath
+, free, liftedAsync, liftedBase, mmorph, monadControl
+, monoTraversable, mtl, mwcRandom, primitive, semigroups, stm
+, streamingCommons, text, transformers, transformersBase, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "simple-conduit";
+  version = "0.5.0";
+  sha256 = "0fbm1nv9190p1b038p6zxmw042cgm5jgkfbhscw1fslgzja90iyz";
+  buildDepends = [
+    bifunctors chunkedData either exceptions filepath free liftedAsync
+    liftedBase mmorph monadControl monoTraversable mtl mwcRandom
+    primitive semigroups stm streamingCommons text transformers
+    transformersBase vector
+  ];
+  meta = {
+    homepage = "http://github.com/jwiegley/simple-conduit";
+    description = "A simple streaming I/O library based on monadic folds";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
index 65179c1dbaf6..ff0b90c03e0f 100644
--- a/pkgs/development/libraries/haskell/socket-io/default.nix
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "socket-io";
-  version = "1.0.0";
-  sha256 = "1xvj2x6nr14wna0plivzbzkca2y4xw6bxhvc5mqjh664197r9jsx";
+  version = "1.0.1";
+  sha256 = "0257c5wf6b9rmprqq5q5d7fih4s2szwv98w16ggl61p8khf5d2qs";
   buildDepends = [
     aeson attoparsec engineIo mtl stm text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/statistics/default.nix b/pkgs/development/libraries/haskell/statistics/default.nix
index 857614ce751e..3d879f12b9d4 100644
--- a/pkgs/development/libraries/haskell/statistics/default.nix
+++ b/pkgs/development/libraries/haskell/statistics/default.nix
@@ -1,6 +1,6 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, binary, deepseq, erf, HUnit, ieee754, mathFunctions
+{ cabal, aeson, binary, deepseq, erf, HUnit, ieee754, mathFunctions
 , monadPar, mwcRandom, primitive, QuickCheck, testFramework
 , testFrameworkHunit, testFrameworkQuickcheck2, vector
 , vectorAlgorithms, vectorBinaryInstances
@@ -8,10 +8,10 @@
 
 cabal.mkDerivation (self: {
   pname = "statistics";
-  version = "0.11.0.3";
-  sha256 = "184lzivqjjj69pxcnr5ibxjqikypfl5nd63i44qgwdhwyvcaqdh3";
+  version = "0.13.1.0";
+  sha256 = "0y46fna0kqs8bsqbf3v1k9ppq3njd5kxf1qlvvmphydpi3x038nd";
   buildDepends = [
-    binary deepseq erf mathFunctions monadPar mwcRandom primitive
+    aeson binary deepseq erf mathFunctions monadPar mwcRandom primitive
     vector vectorAlgorithms vectorBinaryInstances
   ];
   testDepends = [
diff --git a/pkgs/development/libraries/haskell/stm-containers/default.nix b/pkgs/development/libraries/haskell/stm-containers/default.nix
new file mode 100644
index 000000000000..d93bd1a03a8a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm-containers/default.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, focus, free, hashable, HTF, lochTh, mtl, placeholders
+, primitive, QuickCheck, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "stm-containers";
+  version = "0.1.2";
+  sha256 = "1rzxjspf0lzmviixnxv9f2wjxqhwv65fb1nws915ghs1sj774gab";
+  buildDepends = [ focus hashable lochTh placeholders primitive ];
+  testDepends = [
+    focus free hashable HTF lochTh mtl placeholders primitive
+    QuickCheck unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/nikita-volkov/stm-containers";
+    description = "Containers for STM";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
index 763476dd1c08..6e8aeb10ff7e 100644
--- a/pkgs/development/libraries/haskell/streaming-commons/default.nix
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -1,15 +1,15 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, async, blazeBuilder, deepseq, hspec, network, QuickCheck
-, random, text, transformers, zlib
+, random, stm, text, transformers, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "streaming-commons";
-  version = "0.1.3.1";
-  sha256 = "0ryj9pp681f1pqvcyy5ci2zng6ax93j5navm886k095wxmamhzmf";
+  version = "0.1.4";
+  sha256 = "0p18sha2xa583rn9jyhylcykgrvydrwnl47c2wxf1c1yswn45iz6";
   buildDepends = [
-    blazeBuilder network random text transformers zlib
+    blazeBuilder network random stm text transformers zlib
   ];
   testDepends = [
     async blazeBuilder deepseq hspec network QuickCheck text zlib
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index d356fc1f05c7..e064ebe73579 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -8,6 +8,7 @@ cabal.mkDerivation (self: {
   sha256 = "0sfralwgd5b9hfqmp20v31sq96s0v7j9g920qdj3n9i5mhslhwd2";
   buildDepends = [ deepseq text ];
   testDepends = [ chell chellQuickcheck QuickCheck text ];
+  doCheck = false;
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
     description = "High-level, byte-based file and directory path manipulations";
diff --git a/pkgs/development/libraries/haskell/taggy-lens/default.nix b/pkgs/development/libraries/haskell/taggy-lens/default.nix
index 142d88c07076..fe8344ba73de 100644
--- a/pkgs/development/libraries/haskell/taggy-lens/default.nix
+++ b/pkgs/development/libraries/haskell/taggy-lens/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "taggy-lens";
-  version = "0.1.1";
-  sha256 = "1c4xp8h47vxcy6lvldb73185z26fmgsjakml9b3zjnlfjihgl6kz";
+  version = "0.1.2";
+  sha256 = "05m2c9q0rz4y0zz6n3dqf0hhzfvk0mp1692jxykg86c802d7pkib";
   buildDepends = [ lens taggy text unorderedContainers ];
   testDepends = [
     doctest hspec lens taggy text unorderedContainers
diff --git a/pkgs/development/libraries/haskell/template-default/default.nix b/pkgs/development/libraries/haskell/template-default/default.nix
index 6780c12fcd52..3a7e3f05bdd2 100644
--- a/pkgs/development/libraries/haskell/template-default/default.nix
+++ b/pkgs/development/libraries/haskell/template-default/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.1.1";
   sha256 = "07b8j11v0247fwaf3mv72m7aaq3crbsyrxmxa352vn9h2g6l1jsd";
   buildDepends = [ dataDefault ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/haskell-pkg-janitors/template-default";
     description = "declaring Default instances just got even easier";
diff --git a/pkgs/development/libraries/haskell/template/default.nix b/pkgs/development/libraries/haskell/template/default.nix
new file mode 100644
index 000000000000..f51ae4f0a3d1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/template/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, mtl, text }:
+
+cabal.mkDerivation (self: {
+  pname = "template";
+  version = "0.2.0.9";
+  sha256 = "0i1xq6nj240gddbd8d5m42gzix16k81wqmirpy5a4fssnkpwjqnb";
+  buildDepends = [ mtl text ];
+  meta = {
+    description = "Simple string substitution";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tostring/default.nix b/pkgs/development/libraries/haskell/tostring/default.nix
new file mode 100644
index 000000000000..eee617ffd2bb
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tostring/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "tostring";
+  version = "0.2.0.1";
+  sha256 = "1gihls2xslr9fzad2659zv8af9k4cm84888nhx3z9bwasviyg448";
+  buildDepends = [ text utf8String ];
+  meta = {
+    description = "The ToString class";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tz/default.nix b/pkgs/development/libraries/haskell/tz/default.nix
index ead6e4f55581..3de1fafd5821 100644
--- a/pkgs/development/libraries/haskell/tz/default.nix
+++ b/pkgs/development/libraries/haskell/tz/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tz";
-  version = "0.0.0.5";
-  sha256 = "03s5vs08dj3r7rq78ncya6x6dazvr93gfylyynwybpai09l2y89v";
+  version = "0.0.0.6";
+  sha256 = "0yn2c016fzqwbgdrqp5hjn95gzp4w3gqjgax1w6wkg97bksdlq27";
   buildDepends = [ binary deepseq time tzdata vector ];
   testDepends = [
     bindingsPosix HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/unix-time/default.nix b/pkgs/development/libraries/haskell/unix-time/default.nix
index 43f3fe706290..1fc8fd24e252 100644
--- a/pkgs/development/libraries/haskell/unix-time/default.nix
+++ b/pkgs/development/libraries/haskell/unix-time/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unix-time";
-  version = "0.3.1";
-  sha256 = "1r7glbcr3108zrlpy2d09jyk1gv9k90d5saajipmb1f5l45rdhnj";
+  version = "0.3.2";
+  sha256 = "0bbzrm4hprqsljwscpfmnw3ipj809q7570alzn1qampijsbb4cds";
   buildDepends = [ binary ];
   testDepends = [ doctest hspec QuickCheck time ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/uri-encode/default.nix b/pkgs/development/libraries/haskell/uri-encode/default.nix
new file mode 100644
index 000000000000..3a2d786cd8f0
--- /dev/null
+++ b/pkgs/development/libraries/haskell/uri-encode/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, network, text, utf8String }:
+
+cabal.mkDerivation (self: {
+  pname = "uri-encode";
+  version = "1.5.0.2";
+  sha256 = "1lsj9y3sw9wlpsw7j20frvv9a165mcqx7x7vrp2gamka1120pkym";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ network text utf8String ];
+  meta = {
+    description = "Unicode aware uri-encoding";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/webdriver/default.nix b/pkgs/development/libraries/haskell/webdriver/default.nix
index fd01f1c75e6b..d3a041d9a8dc 100644
--- a/pkgs/development/libraries/haskell/webdriver/default.nix
+++ b/pkgs/development/libraries/haskell/webdriver/default.nix
@@ -1,21 +1,21 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
 { cabal, aeson, attoparsec, base64Bytestring, cond, dataDefault
-, directoryTree, exceptions, filepath, HTTP, liftedBase
-, monadControl, mtl, network, parallel, scientific, temporary, text
-, time, transformers, transformersBase, unorderedContainers, vector
-, zipArchive
+, directoryTree, exceptions, filepath, httpClient, httpTypes
+, liftedBase, monadControl, mtl, network, parallel, scientific
+, temporary, text, time, transformers, transformersBase
+, unorderedContainers, vector, zipArchive
 }:
 
 cabal.mkDerivation (self: {
   pname = "webdriver";
-  version = "0.5.5";
-  sha256 = "1k656ghkaqlnp4a9dd99s3l2vm21zsqpqxwfg2lq5rx2yw402nga";
+  version = "0.6.0.1";
+  sha256 = "0qpk1i6qr12lcx25bdljwqxgdhf5qk67h04bp6vwmm16dwzsyqd1";
   buildDepends = [
     aeson attoparsec base64Bytestring cond dataDefault directoryTree
-    exceptions filepath HTTP liftedBase monadControl mtl network
-    scientific temporary text time transformers transformersBase
-    unorderedContainers vector zipArchive
+    exceptions filepath httpClient httpTypes liftedBase monadControl
+    mtl network scientific temporary text time transformers
+    transformersBase unorderedContainers vector zipArchive
   ];
   testDepends = [ parallel text ];
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/word8/default.nix b/pkgs/development/libraries/haskell/word8/default.nix
index 7ffbbf7cba7e..ad6b59153834 100644
--- a/pkgs/development/libraries/haskell/word8/default.nix
+++ b/pkgs/development/libraries/haskell/word8/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "word8";
-  version = "0.1.0";
-  sha256 = "1729ip83wyw8w3v8mzmazaw5b9l81zg95hrkmfq3qjk5gz1s75s0";
+  version = "0.1.1";
+  sha256 = "1xpa0haacimrblxg3x3n5vdcnkg3ff5zqamppdarv0zvkcdj139r";
   testDepends = [ hspec ];
   meta = {
     description = "Word8 library";
diff --git a/pkgs/development/libraries/haskell/xournal-parser/default.nix b/pkgs/development/libraries/haskell/xournal-parser/default.nix
index 9dc28133cd7a..68f10cc566b6 100644
--- a/pkgs/development/libraries/haskell/xournal-parser/default.nix
+++ b/pkgs/development/libraries/haskell/xournal-parser/default.nix
@@ -1,19 +1,19 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, attoparsec, attoparsecConduit, conduit, lens, mtl, strict
-, text, transformers, xmlConduit, xmlTypes, xournalTypes
-, zlibConduit
+{ cabal, attoparsec, attoparsecConduit, conduit, conduitExtra
+, exceptions, lens, mtl, strict, text, transformers, xmlConduit
+, xmlTypes, xournalTypes, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "xournal-parser";
-  version = "0.5.0.2";
-  sha256 = "1s9z7s6mcsn4s2krrcb1x63ca1d0rpyzdhb147w9524qw7gvbjin";
+  version = "0.5.0.3";
+  sha256 = "1r99xv7w2gxms1ff5qpj36dcb3gb5lpccr1mjjdnkcij81i748ly";
   buildDepends = [
-    attoparsec attoparsecConduit conduit lens mtl strict text
-    transformers xmlConduit xmlTypes xournalTypes zlibConduit
+    attoparsec attoparsecConduit conduit conduitExtra exceptions lens
+    mtl strict text transformers xmlConduit xmlTypes xournalTypes
+    zlibConduit
   ];
-  jailbreak = true;
   meta = {
     homepage = "http://ianwookim.org/hoodle";
     description = "Xournal file parser";
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index 92e44ae92b6e..88475a1e951a 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.8.3";
-  sha256 = "031d1wx31mw9lw0swlcf1xfzdixaq6wmglhzaj9sixhid0r2isvf";
+  version = "0.8.8.4";
+  sha256 = "1mh5xv66cqvk0r5n6pwcm11m9489y40l69ca417yvymkksmncc7b";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/libcredis/default.nix b/pkgs/development/libraries/libcredis/default.nix
new file mode 100644
index 000000000000..036c918b32db
--- /dev/null
+++ b/pkgs/development/libraries/libcredis/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libcredis-0.2.3";
+
+  src = fetchurl {
+    url = "https://credis.googlecode.com/files/credis-0.2.3.tar.gz";
+    sha256 = "1l3hlw9rrc11qggbg9a2303p3bhxxx2vqkmlk8avsrbqw15r1ayr";
+  };
+
+  # credis build system has no install actions, provide our own.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/lib"
+    mkdir -p "$out/include"
+
+    cp -v credis-test "$out/bin/"
+    cp -v *.a *.so "$out/lib/"
+    cp -v *.h "$out/include/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C client library for Redis (key-value database)";
+    homepage = https://code.google.com/p/credis/;
+    license = licenses.bsd3; # from homepage
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix
index ebd0d08717de..16196c9abc93 100644
--- a/pkgs/development/libraries/libmemcached/default.nix
+++ b/pkgs/development/libraries/libmemcached/default.nix
@@ -8,11 +8,17 @@ stdenv.mkDerivation rec {
     sha256 = "10jzi14j32lpq0if0p9vygcl2c1352hwbywzvr9qzq7x6aq0nb72";
   };
   
+  # Fix linking against libpthread (patch from Fedora)
+  # https://bugzilla.redhat.com/show_bug.cgi?id=1037707
+  # https://bugs.launchpad.net/libmemcached/+bug/1281907
+  patches = [ ./libmemcached-fix-linking-with-libpthread.patch ];
+
   buildInputs = [ cyrus_sasl libevent ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libmemcached.org;
     description = "Open source C/C++ client library and tools for the memcached server";
-    license = "BSD";
+    license = licenses.bsd3;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch
new file mode 100644
index 000000000000..e5e21c433587
--- /dev/null
+++ b/pkgs/development/libraries/libmemcached/libmemcached-fix-linking-with-libpthread.patch
@@ -0,0 +1,19 @@
+diff -up libmemcached-1.0.16/build-aux/ltmain.sh.orig libmemcached-1.0.16/build-aux/ltmain.sh
+--- libmemcached-1.0.16/build-aux/ltmain.sh.orig	2013-12-03 16:36:53.222107642 +0100
++++ libmemcached-1.0.16/build-aux/ltmain.sh	2013-12-03 16:37:35.770132249 +0100
+@@ -5664,6 +5664,15 @@ func_mode_link ()
+ 	    *" $arg "*) ;;
+ 	    * ) func_append new_inherited_linker_flags " $arg" ;;
+ 	esac
++	# As we are forced to pass -nostdlib to g++ during linking, the option
++	# -pthread{,s} is not in effect;  add the -lpthread to $deplist
++	# explicitly to link correctly.
++	if test "$tagname" = CXX -a x"$with_gcc" = xyes; then
++	  case "$arg" in
++	    -pthread*) func_append deplibs " -lpthread" ;;
++	  esac
++	fi
++
+ 	continue
+ 	;;
+ 
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index 1e32cce9c722..2443bfe9aed8 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
           ${if release then
             ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target dist-playstore --keystore ${androidKeyStore} --alias ${androidKeyAlias} --password ${androidKeyStorePassword} --output-dir $out''
           else
-            ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only --output $out''}
+            ''titanium build --config-file $TMPDIR/config.json --no-colors --force --platform android --target emulator --build-only -B foo --output $out''}
         ''
       else if target == "iphone" then
         ''
@@ -67,7 +67,7 @@ stdenv.mkDerivation {
               security unlock-keychain -p "" $keychainName
               security import ${iosCertificate} -k $keychainName -P "${iosCertificatePassword}" -A
 
-              provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Z0-9]\{36\}")
+              provisioningId=$(grep UUID -A1 -a ${iosMobileProvisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
    
               # Ensure that the requested provisioning profile can be found
         
diff --git a/pkgs/development/mobile/titaniumenv/default.nix b/pkgs/development/mobile/titaniumenv/default.nix
index 18b76bc3bbdf..6c71116b5e81 100644
--- a/pkgs/development/mobile/titaniumenv/default.nix
+++ b/pkgs/development/mobile/titaniumenv/default.nix
@@ -1,4 +1,4 @@
-{pkgs, pkgs_i686, xcodeVersion ? "5.0", tiVersion ? "3.2.1.GA"}:
+{pkgs, pkgs_i686, xcodeVersion ? "5.0", tiVersion ? "3.2.3.GA"}:
 
 let
   # We have to use Oracle's JDK. On Darwin, just simply expose the host system's
@@ -29,7 +29,8 @@ rec {
   
   titaniumsdk = let
     titaniumSdkFile = if tiVersion == "3.1.4.GA" then ./titaniumsdk-3.1.nix
-      else if tiVersion == "3.2.2.GA" then ./titaniumsdk-3.2.nix
+      else if tiVersion == "3.2.3.GA" then ./titaniumsdk-3.2.nix
+      else if tiVersion == "3.3.0.GA" then ./titaniumsdk-3.3.nix
       else throw "Titanium version not supported: "+tiVersion;
     in
     import titaniumSdkFile {
diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix
index 556b96975b4e..e5b439364535 100644
--- a/pkgs/development/mobile/titaniumenv/examples/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/default.nix
@@ -1,7 +1,7 @@
 { nixpkgs ? <nixpkgs>
 , systems ? [ "x86_64-linux" "x86_64-darwin" ]
 , xcodeVersion ? "5.0"
-, tiVersion ? "3.2.2.GA"
+, tiVersion ? "3.2.3.GA"
 , rename ? false
 , newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? ""
 , allowUnfree ? false
diff --git a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
index 95dd09be30dc..1725c826a52a 100644
--- a/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
+++ b/pkgs/development/mobile/titaniumenv/examples/kitchensink/default.nix
@@ -1,4 +1,4 @@
-{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "11" ], tiVersion ? "3.2.1.GA", release ? false
+{ titaniumenv, fetchgit, target, androidPlatformVersions ? [ "14" ], tiVersion ? "3.2.3.GA", release ? false
 , rename ? false, stdenv ? null, newBundleId ? null, iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? null, iosCertificatePassword ? null
 }:
 
@@ -7,8 +7,8 @@ assert rename -> (stdenv != null && newBundleId != null && iosMobileProvisioning
 let
   src = fetchgit {
     url = https://github.com/appcelerator/KitchenSink.git;
-    rev = "0b8175f20f0aa71f93921025dec5d0f3299960ae";
-    sha256 = "0b2p4wbnlp46wpanqj5h3yfb2hdbh20nxbis8zscj4qlgrnyjdjz";
+    rev = "37d766ef9cba6a2d0b22634d3edc1fa8402109a0";
+    sha256 = "1d4x9zwq92p1krds52bd41qqsnsnb3a7x74bysbiphrvrphz80kk";
   };
   
   # Rename the bundle id to something else
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
index 1f0d53e99fe5..2ac4040714b0 100644
--- a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.2.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
 
 stdenv.mkDerivation {
-  name = "mobilesdk-3.2.2.v20140305122111";
+  name = "mobilesdk-3.2.3.GA";
   src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-linux.zip;
-    sha1 = "12dc1bfe8dd73db0650a235492f5f50c7b816d69";
+    url = http://builds.appcelerator.com/mobile/3.2.3/mobilesdk-3.2.3.GA-linux.zip;
+    sha1 = "303e6d19a0ca099d47f6862c00b261c6d0206cea";
   }
   else if stdenv.system == "x86_64-darwin" then fetchurl {
-    url = http://builds.appcelerator.com.s3.amazonaws.com/mobile/3_2_X/mobilesdk-3.2.2.v20140305122111-osx.zip;
-    sha1 = "9875b59faf0ab92e8996b58476466405ed60f6e2";
+    url = http://builds.appcelerator.com/mobile/3.2.3/mobilesdk-3.2.3.GA-osx.zip;
+    sha1 = "8c358cbd8624ffe3dfbd0283738105157067e0fb";
   }
   else throw "Platform: ${stdenv.system} not supported!";
   
@@ -28,8 +28,7 @@ stdenv.mkDerivation {
    
     # Rename ugly version number
     cd mobilesdk/*
-    mv 3.2.2.v20140305122111 3.2.2.GA
-    cd 3.2.2.GA
+    cd 3.2.3.GA
     
     # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
     # Yes, I know it's nasty :-)
diff --git a/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
new file mode 100644
index 000000000000..be3628f26449
--- /dev/null
+++ b/pkgs/development/mobile/titaniumenv/titaniumsdk-3.3.nix
@@ -0,0 +1,77 @@
+{stdenv, fetchurl, unzip, makeWrapper, python, jdk}:
+
+stdenv.mkDerivation {
+  name = "mobilesdk-3.3.0.GA";
+  src = if (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux") then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.3.0/mobilesdk-3.3.0.GA-linux.zip;
+    sha1 = "9a9cca05a4cf8700df60b7e9d9cd969ecb70d81e";
+  }
+  else if stdenv.system == "x86_64-darwin" then fetchurl {
+    url = http://builds.appcelerator.com/mobile/3.3.0/mobilesdk-3.3.0.GA-osx.zip;
+    sha1 = "c6333e4da2564b9c51b865c1db49a062fbc743af";
+  }
+  else throw "Platform: ${stdenv.system} not supported!";
+  
+  buildInputs = [ unzip makeWrapper ];
+  
+  buildCommand = ''
+    mkdir -p $out
+    cd $out
+    yes y | unzip $src
+    
+    # Fix shebang header for python scripts
+    
+    find . -name \*.py | while read i
+    do
+        sed -i -e "s|#!/usr/bin/env python|#!${python}/bin/python|" $i
+    done
+   
+    # Rename ugly version number
+    cd mobilesdk/*
+    cd 3.3.0.GA
+    
+    # Zip files do not support timestamps lower than 1980. We have to apply a few work-arounds to cope with that
+    # Yes, I know it's nasty :-)
+    
+    cd android
+    
+    sed -i -f ${./fixtiverify.sed} builder.py
+    sed -i -f ${./fixtiprofiler.sed} builder.py
+    sed -i -f ${./fixso.sed} builder.py
+    sed -i -f ${./fixnativelibs.sed} builder.py
+    
+    # Patch some executables
+    
+    ${if stdenv.system == "i686-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux.so.2 titanium_prep.linux32
+      ''
+      else if stdenv.system == "x86_64-linux" then
+      ''
+        patchelf --set-interpreter ${stdenv.gcc.libc}/lib/ld-linux-x86-64.so.2 titanium_prep.linux64
+      ''
+      else ""}
+    
+    # Wrap builder script
+    
+    mv builder.py .builder.py
+    cat > builder.py <<EOF
+    #!${python}/bin/python
+    
+    import os, sys
+    
+    os.environ['PYTHONPATH'] = '$(echo ${python.modules.sqlite3}/lib/python*/site-packages)'
+    os.environ['JAVA_HOME'] = '${if stdenv.system == "x86_64-darwin" then jdk else "${jdk}/lib/openjdk"}'
+    
+    os.execv('$(pwd)/.builder.py', sys.argv)
+    EOF
+    
+    chmod +x builder.py
+    
+  '' + stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") ''
+    # 'ditto' utility is needed to copy stuff to the Xcode organizer. Dirty, but this allows it to work.
+    sed -i -e "s|ditto|/usr/bin/ditto|g" $out/mobilesdk/osx/*/iphone/builder.py
+    
+    sed -i -e "s|--xcode|--xcode '+process.env['NIX_TITANIUM_WORKAROUND']+'|" $out/mobilesdk/osx/*/iphone/cli/commands/_build.js
+  '';
+}
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index ade629759f09..b5766c805522 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation {
         security import ${certificateFile} -k $keychainName -P "${certificatePassword}" -A 
 
         # Determine provisioning ID
-        PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Z0-9]\{36\}")
+        PROVISIONING_PROFILE=$(grep UUID -A1 -a ${provisioningProfile} | grep -o "[-A-Za-z0-9]\{36\}")
 
         if [ ! -f "$HOME/Library/MobileDevice/Provisioning Profiles/$PROVISIONING_PROFILE.mobileprovision" ]
         then
diff --git a/pkgs/development/python-modules/mygpoclient/default.nix b/pkgs/development/python-modules/mygpoclient/default.nix
new file mode 100644
index 000000000000..d44617883818
--- /dev/null
+++ b/pkgs/development/python-modules/mygpoclient/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, python, buildPythonPackage, pythonPackages }:
+
+buildPythonPackage rec {
+  name = "mygpoclient-1.7";
+
+  src = fetchurl {
+    url = "https://thp.io/2010/mygpoclient/${name}.tar.gz";
+    sha256 = "6a0b7b1fe2b046875456e14eda3e42430e493bf2251a64481cf4fd1a1e21a80e";
+  };
+
+  buildInputs = [ pythonPackages.nose pythonPackages.minimock ];
+
+  checkPhase = "make test";
+
+  meta = {
+    description = "A gpodder.net client library";
+    longDescription = ''
+      The mygpoclient library allows developers to utilize a Pythonic interface
+      to the gpodder.net web services.
+    '';
+    homepage = "https://thp.io/2010/mygpoclient/";
+    license = "GPLv3";
+    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ stdenv.lib.maintainers.skeidel ];
+  };
+}
diff --git a/pkgs/development/tools/documentation/haddock/2.14.3.nix b/pkgs/development/tools/documentation/haddock/2.14.3.nix
new file mode 100644
index 000000000000..2ee55bebd014
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.14.3.nix
@@ -0,0 +1,23 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, Cabal, deepseq, filepath, ghcPaths, hspec, QuickCheck
+, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.14.3";
+  sha256 = "031ikrsbkpmmwgdkgdr8s19dfx5y6n39rmyljjdfqygas17gcm6l";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/HaRe/default.nix b/pkgs/development/tools/haskell/HaRe/default.nix
index 66048f7cc09e..377f3c6f08de 100644
--- a/pkgs/development/tools/haskell/HaRe/default.nix
+++ b/pkgs/development/tools/haskell/HaRe/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HaRe";
-  version = "0.7.2.4";
-  sha256 = "1ljyvs3mdgxzyvss071yvgnrnmhdyp9a10cmvij1d47li1wbj1j1";
+  version = "0.7.2.5";
+  sha256 = "09v0z1r03bzazgjf26fv54q1jpmv14zyl6w9083xcf2cs3yy6vfh";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 4115c8621f94..04e9f1cfea18 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.65";
-  sha256 = "13x1kikwdlx1xlgy1bxlnn0bgbzj3khxm2x59584a8h2kp9kw9qm";
+  version = "1.66";
+  sha256 = "1is72jfv6snz59jpmg7dfcinpi3q4kdiqchd7zf45rqrszd5h43p";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/codex/default.nix b/pkgs/development/tools/haskell/codex/default.nix
index 0a68e7939d71..475c6018697b 100644
--- a/pkgs/development/tools/haskell/codex/default.nix
+++ b/pkgs/development/tools/haskell/codex/default.nix
@@ -6,14 +6,15 @@
 
 cabal.mkDerivation (self: {
   pname = "codex";
-  version = "0.1.0.1";
-  sha256 = "1s2sn2i0ah4wgyzz5vqkm65jkl3c38cwa2kp0az4xl3vb8y6x7la";
+  version = "0.1.0.2";
+  sha256 = "0dsc5dx5zcxf5wd2qf6gqzr8d613z1gkllmzzkbny3lxa512crsw";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     Cabal downloadCurl either filepath hackageDb MissingH monadLoops
     tar text transformers yaml zlib
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://github.com/aloiscochard/codex";
     description = "A ctags file generator for cabal project dependencies";
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 4236cffadfc9..9e3abab382db 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/facebook/libphutil.git";
-    rev    = "8d1b522333caf4984180ac830be8635437bacedb";
-    sha256 = "e83da381cd8845b64a1cd3244d17736fb736aeabce37efd19754447f47cd4fe1";
+    rev    = "d8c026530d7f442eb0f93233b536cfb06aec911d";
+    sha256 = "6cbeb5b7640371f95ef017f3382f33a985a5c417f69e837fbb3b59c0332b5ecf";
   };
   arcanist = fetchgit {
     url    = "git://github.com/facebook/arcanist.git";
-    rev    = "0971c728fea89ac45a67e06cdb89349ad8040c60";
-    sha256 = "33e595b81dcbef181d3c71072ecf1c22db3f86f49dbb5276c671caefe83c8594";
+    rev    = "a9535446579af33dfa50f60dcc79c9edf633eebd";
+    sha256 = "8468f3beecdce2f62dc010ddade8ffbf0a8802f23ee88b91e09c09f173e692f6";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20140627";
+  version = "20140717";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/prelink/default.nix b/pkgs/development/tools/misc/prelink/default.nix
new file mode 100644
index 000000000000..15abc1f48c1e
--- /dev/null
+++ b/pkgs/development/tools/misc/prelink/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libelf }:
+
+let
+  version = "20130503";
+in
+stdenv.mkDerivation rec {
+  name = "prelink-${version}";
+
+  buildInputs = [ libelf ];
+
+  src = fetchurl {
+    url = "http://people.redhat.com/jakub/prelink/prelink-${version}.tar.bz2";
+    sha256 = "1w20f6ilqrz8ca51qhrn1n13h7q1r34k09g33d6l2vwvbrhcffb3";
+  };
+
+  meta = {
+    homepage = http://people.redhat.com/jakub/prelink/;
+    license = "GPL";
+    description = "ELF prelinking utility to speed up dynamic linking";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 48a823c3c656..303cdf89a050 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, libusb }:
+{ stdenv, fetchurl, pkgconfig, libusb1 }:
 
-stdenv.mkDerivation {
-  name = "usb-modeswitch-1.1.2";
+stdenv.mkDerivation rec {
+  name = "usb-modeswitch-2.2.0";
 
   src =fetchurl {
-    url = "http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.2.tar.bz2";
-    sha256 = "1wzhd0r49nh5y43qrvsi3c7a29206zwd6v8xlpb8dqm40xg3j9nz";
+    url = "http://www.draisberghof.de/usb_modeswitch/${name}.tar.bz2";
+    sha256 = "0flaj3mq0xhzk72kkpclwglf77kcw5rkwvkaimn5zvbiw4yi0li7";
   };
 
   # make clean: we always build from source. It should be necessary on x86_64 only
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     makeFlags="DESTDIR=$out PREFIX=$out"
   '';
 
-  buildInputs = [ libusb ];
+  buildInputs = [ pkgconfig libusb1 ];
 
   meta = {
     license = "GPLv2";
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index d0870e82b723..072b8eeff5ca 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -4,18 +4,18 @@
 assert stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux";
 
 stdenv.mkDerivation rec {
-  name = "vagrant-1.4.3";
+  name = "vagrant-1.6.3";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.3_x86_64.deb;
-        sha256 = "dbd06de0f3560e2d046448d627bca0cbb0ee34b036ef605aa87ed20e6ad2684b";
+        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_x86_64.deb;
+        sha256 = "1gmdg92dw7afnvpji0wg4nzr7vhk8mrmcqk3hcrkwscby2f2bhqg";
       }
     else
       fetchurl {
-        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.4.3_i686.deb;
-        sha256 = "66e613fc1c9e31ecaf8e5f1d07d2ae4fca3d4fc2e43593543962664258d9af9b";
+        url    = https://dl.bintray.com/mitchellh/vagrant/vagrant_1.6.3_i686.deb;
+        sha256 = "1z26b6yghqgx8jbi2igf4kk4h6rzy869gli2vj7ayl7vbqdfvb60";
       };
 
   meta = with stdenv.lib; {
@@ -81,4 +81,13 @@ stdenv.mkDerivation rec {
     cp -r opt "$out"
     cp -r usr/bin "$out"
   '';
+
+  preFixup = ''
+    # 'hide' the template file from shebang-patching
+    chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+  '';
+
+  postFixup = ''
+    chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.6.2/lib/bundler/templates/Executable
+  '';
 }
diff --git a/pkgs/misc/my-env/loadenv.sh b/pkgs/misc/my-env/loadenv.sh
index a162f8b853ac..1aab4ac0208f 100644
--- a/pkgs/misc/my-env/loadenv.sh
+++ b/pkgs/misc/my-env/loadenv.sh
@@ -11,5 +11,9 @@ export buildInputs
 export NIX_STRIP_DEBUG=0
 export TZ="$OLDTZ"
 
-@shell@
+if test $# -gt 0; then
+    exec "$@"
+else
+    exec @shell@
+fi
 
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 3bf2e316deac..7afe895cb5c5 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, pam, libXext, libXScrnSaver, libX11
 , libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, mesa, gtk
-, libxml2, libglade
+, libxml2, libglade, intltool
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.26";
+  version = "5.29";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "0m8v9zxl1pyqndqqinhsvpc8s3byg397vy6i4ihkjiqrw5kdr91c";
+    sha256 = "157jy1mh84h6p4mpzsgcadv6c660c212rmjgdpgpidcn0rsza664";
   };
 
   buildInputs =
     [ pkgconfig bc perl libjpeg mesa gtk libxml2 libglade pam
       libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
-      libXxf86misc
+      libXxf86misc intltool
     ];
 
   patchPhase =
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 4bc9a11a5894..58859e4571af 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -88,8 +88,8 @@ let vimHelpTags = ''
     inherit buildPhase;
 
     installPhase = ''
-      target=$out/vim-plugins/$path
-      mkdir -p $out/vim-plugins
+      target=$out/share/vim-plugins/${path}
+      mkdir -p $out/share/vim-plugins
       cp -r . $target
       ${vimHelpTags}
       vimHelpTags $target
@@ -114,14 +114,14 @@ in rec
       rev = "abfc3ee36adab11c0c0b9d086a164a69006fec79";
       sha256 = "1d25dp5kgqickl06hqvx4j3z51zblhsn3q3by2hayyj3g2zps4gm";
      };
- 
+
     name = "youcompleteme-git-abfc3ee";
     buildInputs = [ python cmake clang.clang ];
 
     configurePhase = ":";
 
     buildPhase = ''
-      target=$out/vim-plugins/YouCompleteMe
+      target=$out/share/vim-plugins/YouCompleteMe
       mkdir -p $target
       cp -a ./ $target
 
@@ -311,7 +311,7 @@ in rec
 
     preBuild = ''
       sed -ie '1 i\
-      set runtimepath+=${vimproc}/vim-plugins/vimproc\
+      set runtimepath+=${vimproc}/share/vim-plugins/vimproc\
       ' autoload/vimshell.vim
     '';
 
@@ -346,4 +346,69 @@ in rec
 
     path = "vimproc";
   };
+
+  colorsamplerpack = simpleDerivation rec {
+    version = "2012.10.28";
+    name    = "vim-colorsamplerpack-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=18915";
+      name   = "colorsamplerpack.zip";
+      sha256 = "1wsrb3vpqn9fncnalfpvc8r92wk1mcskm4shb3s2h9x5dyihf2rd";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "colorsamplerpack";
+  };
+
+  yankring = simpleDerivation rec {
+    version = "18.0";
+    name    = "vim-yankring-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=20842";
+      name   = "yankring_180.zip";
+      sha256 = "0bsq4pxagy12jqxzs7gcf25k5ahwif13ayb9k8clyhm0jjdkf0la";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "yankring";
+  };
+
+  ctrlp = simpleDerivation rec {
+    version = "1.79";
+    name    = "vim-ctrlp-${version}";
+
+    setSourceRoot = "sourceRoot=.";
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=19448";
+      name   = "ctrlp_180.zip";
+      sha256 = "1x9im8g0g27mxc3c9k7v0jg5bb1dmnbjygmqif5bizab5g69n2mi";
+    };
+
+    buildInputs = [ unzip ];
+
+    path = "ctrlp";
+  };
+
+  alternate = stdenv.mkDerivation rec {
+    version = "2.18";
+    name    = "vim-a-${version}";
+
+    src = fetchurl {
+      url    = "http://www.vim.org/scripts/download_script.php?src_id=7218";
+      name   = "a.vim";
+      sha256 = "1q22vfkv60sshp9yj3mmfc8azavgzz7rpmaf72iznzq4wccy6gac";
+    };
+    unpackPhase = ":";
+    installPhase = ''
+      ensureDir $out/share/vim-plugins/vim-a
+      cp ${src} $out/share/vim-plugins/vim-a/a.vim
+    '';
+  };
+
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 7e7dd2dfda9d..a4b2c221b81a 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -157,6 +157,13 @@ with stdenv.lib;
   BTRFS_FS_POSIX_ACL y
   UBIFS_FS_XATTR? y
   UBIFS_FS_ADVANCED_COMPR? y
+  ${optionalString (versionAtLeast version "3.6") ''
+    NFS_SWAP y
+  ''}
+  ${optionalString (versionAtLeast version "3.11") ''
+    NFS_V4_1 y  # NFSv4.1 client support
+    NFS_V4_2 y
+  ''}
   NFSD_V2_ACL y
   NFSD_V3 y
   NFSD_V3_ACL y
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index aa39091070e9..e107379363b8 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -104,7 +104,6 @@ installPhase() {
 
         # Test a bit.
         $out/bin/nvidia-settings --version
-        $out/bin/nvidia-smi --help > /dev/null
     fi
 }
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 0c0f6ecc71ee..7176cb2b941f 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -12,7 +12,7 @@ assert (!libsOnly) -> kernel != null;
 
 let
 
-  versionNumber = "331.79";
+  versionNumber = "340.24";
 
 in
 
@@ -25,12 +25,12 @@ stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}.run";
-        sha256 = "0dl6gj1k6rz7bzyflfgi8y4489bxv03gfcni7zjzy440xjm3sk9l";
+        sha256 = "0c5iix6rihbx7mbfhznz0jjbc3kkccwyfxi56p76fvrbyan9dvam";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-no-compat32.run";
-        sha256 = "14mwxz12kd5znnrmwia4qk35sd7xpr6cgpxs1xzjwmjgvz6gc71v";
+        sha256 = "04yy26722fjf9k7y6r909g68nqnsglfd9xs1dk1nain1021p70iq";
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 5ee25ea976ac..937f65089e97 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -5,13 +5,13 @@
 assert readlineSupport -> readline != null;
 
 stdenv.mkDerivation rec {
-  version = "2.1";
+  version = "2.2";
 
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
     url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
-    sha256 = "0xxjw7lslvql1ykfbwmbhdrnjsjljf59fbwf837418s97dz2wqwi";
+    sha256 = "1vf8jc4yyksbxf86narvsli3vxfbm8nbnim2mdp66nd6d3yvin70";
   };
 
   extraConfig =
@@ -38,13 +38,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  patches = [ ./libnl.patch
-    # remove this patch after wpa_supplicant 2.1
-    (fetchurl {
-      url ="http://projects.archlinux.org/svntogit/packages.git/plain/trunk/0001-Revert-OpenSSL-Do-not-accept-SSL-Client-certificate-.patch?h=packages/wpa_supplicant";
-      sha256 = "0x1wl2nbl7v9kv80qvysfjhhg5a7lmgygv1y723flps6y8ngm19w";
-    })
-  ];
+  patches = [ ./libnl.patch ];
 
   postInstall = ''
     mkdir -p $out/share/man/man5 $out/share/man/man8
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index be890ff59005..245c838607f3 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -99,18 +99,17 @@ stdenv.mkDerivation rec {
         ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
     fi
 
-    # TODO: toPerlLibPath can be added to
-    # pkgs/development/interpreters/perl5.16/setup-hook.sh (and the other perl
-    # versions) just like for python. NOTE: it causes massive rebuilds.
-    # $(toPerlLibPath $out perlPackages.Log4Perl ...)
-
     for file in "$out"/bin/munindoc "$out"/sbin/munin-* "$out"/lib/munin-* "$out"/www/cgi/*; do
         # don't wrap .jar files
         case "$file" in
             *.jar) continue;;
         esac
         wrapProgram "$file" \
-          --set PERL5LIB "$out/lib/perl5/site_perl:${perlPackages.Log4Perl}/lib/perl5/site_perl:${perlPackages.IOSocketInet6}/lib/perl5/site_perl:${perlPackages.Socket6}/lib/perl5/site_perl:${perlPackages.URI}/lib/perl5/site_perl:${perlPackages.DBFile}/lib/perl5/site_perl:${perlPackages.DateManip}/lib/perl5/site_perl:${perlPackages.HTMLTemplate}/lib/perl5/site_perl:${perlPackages.FileCopyRecursive}/lib/perl5/site_perl:${perlPackages.FCGI}/lib/perl5/site_perl:${perlPackages.NetSNMP}/lib/perl5/site_perl:${perlPackages.NetServer}/lib/perl5/site_perl:${perlPackages.ListMoreUtils}/lib/perl5/site_perl:${perlPackages.TimeHiRes}/lib/perl5/site_perl:${rrdtool}/lib/perl:${perlPackages.DBDPg}/lib/perl5/site_perl:${perlPackages.LWPUserAgent}/lib/perl5/site_perl"
+          --set PERL5LIB "$out/lib/perl5/site_perl:${with perlPackages; stdenv.lib.makePerlPath [
+                Log4Perl IOSocketInet6 Socket6 URI DBFile DateManip
+                HTMLTemplate FileCopyRecursive FCGI NetSNMP NetServer
+                ListMoreUtils TimeHiRes DBDPg LWPUserAgent
+                ]}"
     done
   '';
 
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 5bc550392604..38be02e76ef8 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation rec {
     ++ opt mpg123Support mpg123
     ++ opt aacSupport faad2
     ++ opt zipSupport zziplib
-    ++ opt zipSupport pulseaudio;
+    ++ opt pulseaudioSupport pulseaudio;
 
   configureFlags =
     [ (mkFlag (!stdenv.isDarwin && alsaSupport) "alsa")
diff --git a/pkgs/servers/polipo/default.nix b/pkgs/servers/polipo/default.nix
index 3e49715b94d1..08ccbbd06c6b 100644
--- a/pkgs/servers/polipo/default.nix
+++ b/pkgs/servers/polipo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, texinfo }:
-stdenv.mkDerivation rec {
 
+stdenv.mkDerivation rec {
   name = "polipo-${version}";
-  version = "1.0.4.1";
+  version = "1.1.1";
 
   src = fetchurl {
-    url = "http://freehaven.net/~chrisd/polipo/${name}.tar.gz";
-    sha256 = "1ykwkyvmdw6fsaj2hc40971pkwf60hvi9c43whijim00qvgbyvwd";
+    url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/polipo/${name}.tar.gz";
+    sha256 = "05g09sg9qkkhnc2mxldm1w1xkxzs2ylybkjzs28w8ydbjc3pand2";
   };
 
   buildInputs = [ texinfo ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.pps.jussieu.fr/~jch/software/polipo/;
     description = "A small and fast caching web proxy";
     license = licenses.mit;
-    maintainers = [ maintainers.phreedom ];
+    maintainers = with maintainers; [ phreedom emery ];
     platforms = platforms.all;
   };
 }
\ No newline at end of file
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 5b31207cb4ef..765ed3ee8e95 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "elasticsearch-1.2.1";
+  name = "elasticsearch-1.2.2";
 
   src = fetchurl {
     url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "11lirxl0hb0xfd57accsgldq1adrlv9pak2520jll2sj5gg71cmj";
+    sha256 = "1vpvxndcq48rcsgw2jnzdh4fwnf141hf5wjxrjs1g7p2qw0d0cy8";
   };
 
   patches = [ ./es-home.patch ];
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 704527d28c7b..d187c50f2515 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -70,6 +70,6 @@ EOF
     license = "MIT-like";
     homePage = "http://www.zsh.org/";
     maintainers = with stdenv.lib.maintainers; [ chaoflow ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/X11/bgs/default.nix b/pkgs/tools/X11/bgs/default.nix
index ed700fa63569..b2bdbe8aaeaf 100644
--- a/pkgs/tools/X11/bgs/default.nix
+++ b/pkgs/tools/X11/bgs/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "bgs-${version}";
-  version = "0.5";
+  version = "0.6";
 
   src = fetchurl {
     url = "https://github.com/Gottox/bgs/archive/${version}.tar.gz";
-    sha256 = "67fe16e3483f30f940005856fbb3246e1f99cf58371470e0d6668a27acbaefb9";
+    sha256 = "19xwslh74686qln0ylaql28z3ng45c7srrb3cxxvfp35lz7hjpf0";
   };
 
   buildInputs = [ libX11 libXinerama imlib2 ];
diff --git a/pkgs/tools/misc/cpuminer/default.nix b/pkgs/tools/misc/cpuminer/default.nix
index c172930cfd2c..57bd21dff239 100644
--- a/pkgs/tools/misc/cpuminer/default.nix
+++ b/pkgs/tools/misc/cpuminer/default.nix
@@ -2,15 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "cpuminer-${version}";
-  version = "2.3.3";
+  version = "2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/cpuminer/pooler-${name}.tar.gz";
-    sha256 = "17pjnb1nb8c1akr07hgac2pqd5fcv34f12g7iykbn9hgig5r1sxc";
+    sha256 = "0yl3ca31ck732f4551svxw6lx1lrjr7rhld5v09v0bgm3z07nnrx";
   };
 
   buildInputs = [ curl jansson ];
 
+  configureFlags = [ "CFLAGS=-O3" ];
+
   meta = {
     homepage = https://github.com/pooler/cpuminer;
     description = "CPU miner for Litecoin and Bitcoin";
diff --git a/pkgs/tools/misc/cv/default.nix b/pkgs/tools/misc/cv/default.nix
new file mode 100644
index 000000000000..28c6347a63dd
--- /dev/null
+++ b/pkgs/tools/misc/cv/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cv-2014-07-20";
+
+  src = fetchFromGitHub {
+    owner = "Xfennec";
+    repo = "cv";
+    rev = "7441de974cc13f3b07903bb86c41be4e45c8e81b";
+    sha256 = "19ky88b52a8zcv7lx802y4zi3sp0cdhya08cnax0yvlwwq43w6x9";
+  };
+
+  buildInputs = [ ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Xfennec/cv;
+    description = "Tool that shows the progress of coreutils programs";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/tools/misc/gbdfed/Makefile.patch b/pkgs/tools/misc/gbdfed/Makefile.patch
new file mode 100644
index 000000000000..9c437deca07c
--- /dev/null
+++ b/pkgs/tools/misc/gbdfed/Makefile.patch
@@ -0,0 +1,15 @@
+diff --git "a/Makefile.in" "b/Makefile.in"
+index b482958..472b8da 100644
+--- "a/Makefile.in"
++++ "b/Makefile.in"
+@@ -27,9 +27,7 @@ MKINSTALLDIRS = ./mkinstalldirs
+ CC = @CC@
+ CFLAGS = @XX_CFLAGS@ @CFLAGS@
+ 
+-DEFINES = @DEFINES@ -DG_DISABLE_DEPRECATED \
+-	-DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED \
+-	-DGTK_DISABLE_DEPRECATED
++DEFINES = @DEFINES@
+ 
+ SRCS = bdf.c \
+        bdfcons.c \
diff --git a/pkgs/tools/misc/gbdfed/default.nix b/pkgs/tools/misc/gbdfed/default.nix
new file mode 100644
index 000000000000..104d3fad8d09
--- /dev/null
+++ b/pkgs/tools/misc/gbdfed/default.nix
@@ -0,0 +1,29 @@
+ { stdenv, fetchurl, pkgconfig, freetype, gtk }:
+
+stdenv.mkDerivation rec {
+  version = "1.6";
+  name = "gbdfed-${version}";
+
+  src = fetchurl {
+    url = "http://sofia.nmsu.edu/~mleisher/Software/gbdfed/${name}.tar.bz2";
+    sha256 = "0g09k6wim58hngxncq2brr7mwjm92j3famp0vs4b3p48wr65vcjx";
+  };
+
+  buildInputs = [ pkgconfig freetype gtk ];
+
+  patches = [ ./Makefile.patch ];
+
+  meta = {
+    description = "Bitmap Font Editor";
+    longDescription = ''
+      gbdfed lets you interactively create new bitmap font files or modify existing ones.
+      It allows editing multiple fonts and multiple glyphs, 
+      it allows cut and paste operations between fonts and glyphs and editing font properties.
+      The editor works natively with BDF fonts. 
+    '';
+    homepage = http://sofia.nmsu.edu/~mleisher/Software/gbdfed/;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.linquize ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/logstash/default.nix b/pkgs/tools/misc/logstash/default.nix
index a613dad3ec9f..15c99fff54c8 100644
--- a/pkgs/tools/misc/logstash/default.nix
+++ b/pkgs/tools/misc/logstash/default.nix
@@ -1,11 +1,38 @@
-{ fetchurl }:
+{ stdenv, fetchurl }:
 
-let version = "1.3.3"; in
+stdenv.mkDerivation rec {
+  version = "1.4.2";
+  name = "logstash-${version}";
 
-fetchurl {
-  url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}-flatjar.jar";
+  src = fetchurl {
+    url = "https://download.elasticsearch.org/logstash/logstash/logstash-${version}.tar.gz";
+    sha256 = "0sc0bwyf96fzs5h3d7ii65v9vvpfbm7w67vk1im9djnlz0d1ggnm";
+  };
 
-  name = "logstash-${version}-flatjar.jar";
+  dontBuild    = true;
+  dontPatchELF = true;
+  dontStrip    = true;
+  dontPatchShebangs = true;
 
-  sha256 = "a83503bd2aa32e1554b98f812d0b411fbc5f7b6b21cebb48b7d344474f2dfc6d";
+  installPhase = ''
+    ensureDir $out/bin
+    ensureDir $out/vendor
+    ensureDir $out/lib
+    ensureDir $out/locales
+    ensureDir $out/patterns
+    cp -a bin $out
+    cp -a vendor $out
+    cp -a lib $out
+    cp -a locales $out
+    cp -a patterns $out
+    patchShebangs $out/bin
+  '';
+
+  meta = {
+    description = "Open Source, Distributed, RESTful Search Engine";
+    homepage    = http://www.elasticsearch.org;
+    license     = stdenv.lib.licenses.asl20;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.wjlroe ];
+  };
 }
diff --git a/pkgs/tools/misc/openopc/default.nix b/pkgs/tools/misc/openopc/default.nix
new file mode 100644
index 000000000000..2fce3807ca7e
--- /dev/null
+++ b/pkgs/tools/misc/openopc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pythonFull }:
+
+stdenv.mkDerivation rec {
+  name = "openopc-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/openopc/openopc/${version}/OpenOPC-${version}.source.tar.bz2";
+    sha256 = "0mm77fiipz5zy82l6pr3wk18bfril81milv2rdxr954c4gw5smyd";
+  };
+
+  # There is no setup.py or any other "build system" file in the source archive.
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mkdir -p "$out/share/doc/openopc"
+    mkdir -p "$out/${pythonFull.python.sitePackages}"
+    mkdir -p "$out/libexec/opc"
+
+    cp src/OpenOPC.py "$out/${pythonFull.python.sitePackages}"
+    cp src/opc.py "$out/libexec/opc/"
+
+    cat > "$out/bin/opc" << __EOF__
+    #!${stdenv.shell}
+    export PYTHONPATH="$out/${pythonFull.python.sitePackages}"
+    exec ${pythonFull}/bin/${pythonFull.python.executable} "$out/libexec/opc/opc.py" "\$@"
+    __EOF__
+    chmod a+x "$out/bin/opc"
+
+    cp -R *.txt doc/* "$out/share/doc/openopc/"
+
+    # Copy these MS Windows tools, for reference.
+    cp src/OpenOPCService.py src/SystemHealth.py "$out/libexec/opc/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OPC (OLE for Process Control) toolkit designed for use with Python";
+    homepage = http://openopc.sourceforge.net/;
+    # """OpenOPC for Python is freely available under the terms of the GNU GPL.
+    # However, the OpenOPC library module is licensed under the "GPL + linking
+    # exception" license, which generally means that programs written using the
+    # OpenOPC library may be licensed under any terms."""
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index 9a4bab655570..c99af220a56c 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -3,11 +3,11 @@
   wpa_supplicant, readline6, pptp, ppp, tree }:
 
 stdenv.mkDerivation {
-  name = "connman-1.20";
+  name = "connman-1.24";
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
-    rev = "8047f3d051b32d38ac0b1e78296b482368728ec6";
-    sha256 = "0hb03rzrspgry8z43x8x76vlq1hdq2wggkk7wbidavnqhpmz7dxz";
+    rev = "11b8a873988ab5fc3f360c5b6fb25a6761fe7683";
+    sha256 = "12z1krm5qnjyamc3qr2px7wvz7qkss7jk5brnmhyalqmcnkwcbrm";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
diff --git a/pkgs/tools/networking/dhcpcd/check-interface.patch b/pkgs/tools/networking/dhcpcd/check-interface.patch
deleted file mode 100644
index 11685c0d45e4..000000000000
--- a/pkgs/tools/networking/dhcpcd/check-interface.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix a segfault in handle_interface: if we're adding an interface that
-we already knew about (in particular due to a udev event), then
-calling init_state/start_interface on ifp is bad because we later free
-ifp. This leads to messages like:
-
-  dhcpcd[1342]: eth0: IAID conflicts with one assigned to eth0
-
-and then a crash:
-
-  Invalid read of size 8
-    at 0x41CD07: dhcp_handlepacket (dhcp.c:2555)
-    by 0x408A74: eloop_start (eloop.c:399)
-    by 0x4073B6: main (dhcpcd.c:1537)
-
-  Address 0x54573d8 is 200 bytes inside a block of size 232 free'd
-    at 0x4C27507: free (in /nix/store/jafbjc2y6izmh3sk78fl65n55jll4mj8-valgrind-3.9.0/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-    by 0x40F0A8: free_interface (net.c:153)
-    by 0x405443: handle_interface (dhcpcd.c:764) by 0x57E0F06: ??? (udev.c:97)
-    by 0x42EB62: dev_handle_data (dev.c:153)
-    by 0x408A74: eloop_start (eloop.c:399)
-    by 0x4073B6: main (dhcpcd.c:1537)
-
-So ignore interfaces that we already know about.
-
-diff -ru -x '*~' dhcpcd-6.4.0-orig/dhcpcd.c dhcpcd-6.4.0/dhcpcd.c
---- dhcpcd-6.4.0-orig/dhcpcd.c	2014-06-14 22:13:12.000000000 +0200
-+++ dhcpcd-6.4.0/dhcpcd.c	2014-07-03 11:13:39.133186533 +0200
-@@ -774,11 +774,11 @@
- 		} else {
- 			TAILQ_REMOVE(ifs, ifp, next);
- 			TAILQ_INSERT_TAIL(ctx->ifaces, ifp, next);
--		}
--		if (action > 0) {
--			init_state(ifp, ctx->argc, ctx->argv);
--			run_preinit(ifp);
--			dhcpcd_startinterface(ifp);
-+			if (action > 0) {
-+				init_state(ifp, ctx->argc, ctx->argv);
-+				run_preinit(ifp);
-+				dhcpcd_startinterface(ifp);
-+			}
- 		}
- 	}
- 
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index c3eeb20a2dea..8e93c424cb1e 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-6.4.0";
+  name = "dhcpcd-6.4.2";
 
   src = fetchurl {
     url = "http://roy.marples.name/downloads/dhcpcd/${name}.tar.bz2";
-    sha256 = "04whlqg1lik1c690kpgmw5hh6qzim64bw0l4fpr4vb8cj74aj4q4";
+    sha256 = "1dr08aqvazg4ncq5p93v6givwh7naj75dn2npgplf3dl2fg9zfzf";
   };
 
-  patches = [ /* ./lxc_ro_promote_secondaries.patch */ ./reload.patch ./check-interface.patch ];
+  patches = [ /* ./lxc_ro_promote_secondaries.patch */ ];
 
   buildInputs = [ pkgconfig udev ];
 
diff --git a/pkgs/tools/networking/dhcpcd/reload.patch b/pkgs/tools/networking/dhcpcd/reload.patch
deleted file mode 100644
index 126ad105cbbf..000000000000
--- a/pkgs/tools/networking/dhcpcd/reload.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix segfault when reloading the configuration: free_globals() left the
-ifac/ifdc variables at -1 instead of 0, causing a crash later in
-splitv().
-
---- a/dhcpcd.c
-+++ b/dhcpcd.c
-@@ -143,16 +143,18 @@
- 	if (ctx->ifac) {
- 		for (ctx->ifac--; ctx->ifac >= 0; ctx->ifac--)
- 			free(ctx->ifav[ctx->ifac]);
- 		free(ctx->ifav);
- 		ctx->ifav = NULL;
-+		ctx->ifac = 0;
- 	}
- 	if (ctx->ifdc) {
- 		for (ctx->ifdc--; ctx->ifdc >= 0; ctx->ifdc--)
- 			free(ctx->ifdv[ctx->ifdc]);
- 		free(ctx->ifdv);
- 		ctx->ifdv = NULL;
-+		ctx->ifdc = 0;
- 	}
- 
- #ifdef INET
- 	if (ctx->dhcp_opts) {
- 		for (opt = ctx->dhcp_opts;
-
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 19243bad902a..25a71a2d5073 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.8pre3666_5bcb982";
+  name = "nix-1.8pre3679_f609eec";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/12516859/download/5/${name}.tar.xz";
-    sha256 = "6b968ec6db727dad2dc1fb6d31395996bd7cad14fddadfa996661c1f2c142c32";
+    url = "http://hydra.nixos.org/build/12606291/download/5/${name}.tar.xz";
+    sha256 = "d185c00db8c1ab977d37695da0130628290af8dc315b3e24aa24d3ee25cdf875";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index c76a1a136771..bc4bca887c80 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -1,4 +1,29 @@
-{stdenv, fetchurl }:
+{ stdenv, fetchurl
+# optional:
+, pkgconfig ? null  # most of the extra deps need pkgconfig to be found
+, curl ? null
+, iptables ? null
+, libcredis ? null
+, libdbi ? null
+, libgcrypt ? null
+, libmemcached ? null, cyrus_sasl ? null
+, libmodbus ? null
+, libnotify ? null, gdk_pixbuf ? null
+, liboping ? null
+, libpcap ? null
+, libsigrok ? null
+, libvirt ? null
+, libxml2 ? null
+, lm_sensors ? null
+, lvm2 ? null
+, mysql ? null
+, postgresql ? null
+, protobufc ? null
+, rabbitmq-c ? null
+, rrdtool ? null
+, varnish ? null
+, yajl ? null
+}:
 
 stdenv.mkDerivation rec {
   name = "collectd-5.4.1";
@@ -10,10 +35,21 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-lgcc_s"; # for pthread_cancel
 
-  meta = {
+  buildInputs = [
+    pkgconfig curl iptables libcredis libdbi libgcrypt libmemcached cyrus_sasl
+    libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
+    lm_sensors libxml2 lvm2 mysql postgresql protobufc rabbitmq-c rrdtool
+    varnish yajl
+  ];
+
+  # for some reason libsigrok isn't auto-detected
+  configureFlags = stdenv.lib.optional (libsigrok != null) "--with-libsigrok";
+
+  meta = with stdenv.lib; {
+    description = "Daemon which collects system performance statistics periodically";
     homepage = http://collectd.org;
-    description = "collectd is a daemon which collects system performance statistics periodically";
-    platforms = stdenv.lib.platforms.linux;
-    license = "GPLv2";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch b/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch
deleted file mode 100644
index ae542ac87952..000000000000
--- a/pkgs/tools/system/efibootmgr/arbitrary-filenames.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur efibootmgr-0.5.4-orig/src/lib/efi.c efibootmgr-0.5.4/src/lib/efi.c
---- efibootmgr-0.5.4-orig/src/lib/efi.c	2008-01-03 15:34:01.000000000 +0100
-+++ efibootmgr-0.5.4/src/lib/efi.c	2012-03-13 22:25:51.000000000 +0100
-@@ -495,7 +495,8 @@
-     int rc, edd_version=0;
-     uint8_t mbr_type=0, signature_type=0;
-     uint64_t start=0, size=0;
--    efi_char16_t os_loader_path[40];
-+    efi_char16_t *os_loader_path;
-+    size_t os_loader_path_size;
- 
-     memset(signature, 0, sizeof(signature));
- 
-@@ -535,7 +536,9 @@
- 				     signature,
- 				     mbr_type, signature_type);
- 
--    efichar_from_char(os_loader_path, opts.loader, sizeof(os_loader_path));
-+    os_loader_path_size = sizeof(efi_char16_t) * (1 + strlen(opts.loader) / sizeof(char));
-+    os_loader_path = malloc(os_loader_path_size);
-+    efichar_from_char(os_loader_path, opts.loader, os_loader_path_size);
-     p += make_file_path_device_path (p, os_loader_path);
-     p += make_end_device_path       (p);
- 
diff --git a/pkgs/tools/system/efibootmgr/default.nix b/pkgs/tools/system/efibootmgr/default.nix
index 618454d87a46..81206a132965 100644
--- a/pkgs/tools/system/efibootmgr/default.nix
+++ b/pkgs/tools/system/efibootmgr/default.nix
@@ -1,17 +1,15 @@
-{stdenv, fetchurl, pciutils, perl, zlib}:
+{ stdenv, fetchgit, perl, efivar, pciutils, zlib }:
 
-let version = "0.5.4"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "efibootmgr-${version}";
+  version = "0.7.0";
 
-  buildInputs = [ pciutils zlib perl ];
+  buildInputs = [ perl efivar pciutils zlib ];
 
-  patches = [ ./arbitrary-filenames.patch ];
-  
-  src = fetchurl {
-    url = "http://linux.dell.com/efibootmgr/permalink/efibootmgr-${version}.tar.gz";
-    sha256 = "0wcfgf8x4p4xfh38m9x3njwsxibm9bhnmvpjj94lj9sk9xxa8qmm";
+  src = fetchgit {
+    url = "git://github.com/vathpela/efibootmgr.git";
+    rev = "refs/tags/${name}";
+    sha256 = "1nazmqxppx2xa8clv4bjdb1b6gyyimgjdj85n2hmf1smqr8krrmz";
   };
 
   postPatch = ''
@@ -19,16 +17,14 @@ stdenv.mkDerivation {
       --replace "/usr/bin/perl" "${perl}/bin/perl"
   '';
 
-  preBuild = ''
-    export makeFlags="BINDIR=$out/sbin"
-  '';
+  installFlags = [ "BINDIR=$(out)/sbin" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A Linux user-space application to modify the Intel Extensible Firmware Interface (EFI) Boot Manager";
     homepage = http://linux.dell.com/efibootmgr/;
-    license = "GPLv2";
-    maintainers = [ stdenv.lib.maintainers.shlevy ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ shlevy ];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/tools/system/efivar/default.nix b/pkgs/tools/system/efivar/default.nix
new file mode 100644
index 000000000000..618623146baa
--- /dev/null
+++ b/pkgs/tools/system/efivar/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchgit, popt }:
+
+stdenv.mkDerivation rec {
+  name = "efivar-${version}";
+  version = "0.10";
+
+  src = fetchgit {
+    url = "git://github.com/vathpela/efivar.git";
+    rev = "refs/tags/${version}";
+    sha256 = "04fznbmrf860b4d4i8rshx3mgwbx06v187wf1rddvxxnpkq8920w";
+  };
+
+  buildInputs = [ popt ];
+
+  installFlags = [
+    "libdir=$(out)/lib"
+    "mandir=$(out)/share/man"
+    "includedir=$(out)/include"
+    "bindir=$(out)/bin"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/vathpela/efivar;
+    description = "Tools and library to manipulate EFI variables";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index fd7551e234e1..370f0efb32a0 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -22,6 +22,10 @@
 , gnused ? null
 , coreutils ? null
 
+# if true, enable all the below filters and backends
+, enableExtraPlugins ? false
+
+# unzip is needed to extract filter and backend plugins
 , unzip ? null
 # filters
 , enableDitaaFilter ? false, jre ? null
@@ -58,17 +62,26 @@ assert enableStandardFeatures ->
   coreutils != null;
 
 # filters
-assert (enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter) -> unzip != null;
-assert enableDitaaFilter -> jre != null;
-assert enableMscgenFilter -> mscgen != null;
-assert enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
-assert enableMatplotlibFilter -> matplotlib != null && numpy != null;
-assert enableAafigureFilter -> aafigure != null && recursivePthLoader != null;
+assert enableExtraPlugins || enableDitaaFilter || enableMscgenFilter || enableDiagFilter || enableQrcodeFilter || enableAafigureFilter -> unzip != null;
+assert enableExtraPlugins || enableDitaaFilter -> jre != null;
+assert enableExtraPlugins || enableMscgenFilter -> mscgen != null;
+assert enableExtraPlugins || enableDiagFilter -> blockdiag != null && seqdiag != null && actdiag != null && nwdiag != null;
+assert enableExtraPlugins || enableMatplotlibFilter -> matplotlib != null && numpy != null;
+assert enableExtraPlugins || enableAafigureFilter -> aafigure != null && recursivePthLoader != null;
 # backends
-assert (enableDeckjsBackend || enableOdfBackend) -> unzip != null;
+assert enableExtraPlugins || enableDeckjsBackend || enableOdfBackend -> unzip != null;
 
 let
 
+  _enableDitaaFilter = enableExtraPlugins || enableDitaaFilter;
+  _enableMscgenFilter = enableExtraPlugins || enableMscgenFilter;
+  _enableDiagFilter = enableExtraPlugins || enableDiagFilter;
+  _enableQrcodeFilter = enableExtraPlugins || enableQrcodeFilter;
+  _enableMatplotlibFilter = enableExtraPlugins || enableMatplotlibFilter;
+  _enableAafigureFilter = enableExtraPlugins || enableAafigureFilter;
+  _enableDeckjsBackend = enableExtraPlugins || enableDeckjsBackend;
+  _enableOdfBackend = enableExtraPlugins || enableOdfBackend;
+
   #
   # filters
   #
@@ -141,17 +154,17 @@ stdenv.mkDerivation rec {
   patchPhase = with stdenv.lib; ''
     mkdir -p "$out/etc/asciidoc/filters"
     mkdir -p "$out/etc/asciidoc/backends"
-  '' + optionalString enableDitaaFilter ''
+  '' + optionalString _enableDitaaFilter ''
     echo "Extracting ditaa filter"
     unzip -d "$out/etc/asciidoc/filters/ditaa" "${ditaaFilterSrc}"
     sed -i -e "s|java -jar|${jre}/bin/java -jar|" \
         "$out/etc/asciidoc/filters/ditaa/ditaa2img.py"
-  '' + optionalString enableMscgenFilter ''
+  '' + optionalString _enableMscgenFilter ''
     echo "Extracting mscgen filter"
     unzip -d "$out/etc/asciidoc/filters/mscgen" "${mscgenFilterSrc}"
     sed -i -e "s|filter-wrapper.py mscgen|filter-wrapper.py ${mscgen}/bin/mscgen|" \
         "$out/etc/asciidoc/filters/mscgen/mscgen-filter.conf"
-  '' + optionalString enableDiagFilter ''
+  '' + optionalString _enableDiagFilter ''
     echo "Extracting diag filter"
     unzip -d "$out/etc/asciidoc/filters/diag" "${diagFilterSrc}"
     sed -i \
@@ -161,12 +174,12 @@ stdenv.mkDerivation rec {
         -e "s|filter='nwdiag|filter=\'${nwdiag}/bin/nwdiag|" \
         -e "s|filter='packetdiag|filter=\'${nwdiag}/bin/packetdiag|" \
         "$out/etc/asciidoc/filters/diag/diag-filter.conf"
-  '' + optionalString enableQrcodeFilter ''
+  '' + optionalString _enableQrcodeFilter ''
     echo "Extracting qrcode filter"
     unzip -d "$out/etc/asciidoc/filters/qrcode" "${qrcodeFilterSrc}"
     sed -i -e "s|systemcmd('qrencode|systemcmd('${qrencode}/bin/qrencode|" \
         "$out/etc/asciidoc/filters/qrcode/qrcode2img.py"
-  '' + optionalString enableMatplotlibFilter ''
+  '' + optionalString _enableMatplotlibFilter ''
     echo "Extracting mpl (matplotlib) filter"
     mkdir -p "$out/etc/asciidoc/filters/mpl"
     tar xvf "${matplotlibFilterSrc}" -C "$out/etc/asciidoc/filters/mpl" --strip-components=1
@@ -177,7 +190,7 @@ stdenv.mkDerivation rec {
     numpy_path="$(toPythonPath ${numpy})"
     sed -i "/^import.*sys/asys.path.append(\"$matplotlib_path\"); sys.path.append(\"$numpy_path\");" \
         "$out/etc/asciidoc/filters/mpl/mplw.py"
-  '' + optionalString enableAafigureFilter ''
+  '' + optionalString _enableAafigureFilter ''
     echo "Extracting aafigure filter"
     unzip -d "$out/etc/asciidoc/filters/aafigure" "${aafigureFilterSrc}"
     # Add aafigure to sys.path (and it needs recursive-pth-loader)
@@ -185,10 +198,10 @@ stdenv.mkDerivation rec {
     aafigure_path="$(toPythonPath ${aafigure})"
     sed -i "/^import.*sys/asys.path.append(\"$pth_loader_path\"); sys.path.append(\"$aafigure_path\"); import sitecustomize" \
         "$out/etc/asciidoc/filters/aafigure/aafig2img.py"
-  '' + optionalString enableDeckjsBackend ''
+  '' + optionalString _enableDeckjsBackend ''
     echo "Extracting deckjs backend"
     unzip -d "$out/etc/asciidoc/backends/deckjs" "${deckjsBackendSrc}"
-  '' + optionalString enableOdfBackend ''
+  '' + optionalString _enableOdfBackend ''
     echo "Extracting odf backend (odt + odp)"
     unzip -d "$out/etc/asciidoc/backends/odt" "${odtBackendSrc}"
     unzip -d "$out/etc/asciidoc/backends/odp" "${odpBackendSrc}"
@@ -244,7 +257,7 @@ stdenv.mkDerivation rec {
   preInstall = "mkdir -p $out/etc/vim";
 
   meta = with stdenv.lib; {
-    description = "Text-based document generation system ${stdenv.lib.optionalString enableStandardFeatures "(full version)"}";
+    description = "Text-based document generation system";
     longDescription = ''
       AsciiDoc is a text document format for writing notes, documentation,
       articles, books, ebooks, slideshows, web pages, man pages and blogs.
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6776bb3c618e..f6e305169450 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -296,25 +296,9 @@ let
     inherit stdenv git cacert;
   };
 
-  fetchgitPrivate = args: derivation ((fetchgit args).drvAttrs // {
-    SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
-      then builtins.toString <ssh-auth-sock>
-      else null;
-    GIT_SSH = pkgs.writeScript "fetchgit-ssh" ''
-      #! ${pkgs.stdenv.shell}
-      exec -a ssh ${pkgs.openssh}/bin/ssh -F ${let
-        sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
-          then <ssh-config-file>
-          else builtins.trace ''
-            Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
-
-            Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
-
-            You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
-          '' "/var/lib/empty/config";
-      in builtins.toString sshConfigFile} "$@"
-    '';
-  });
+  fetchgitPrivate = import ../build-support/fetchgit/private.nix {
+    inherit fetchgit writeScript openssh stdenv;
+  };
 
   fetchgitrevision = import ../build-support/fetchgitrevision runCommand git;
 
@@ -616,6 +600,8 @@ let
     flex = flex_2_5_35;
   };
 
+  cv = callPackage ../tools/misc/cv { };
+
   ditaa = callPackage ../tools/graphics/ditaa { };
 
   direnv = callPackage ../tools/misc/direnv { };
@@ -953,6 +939,8 @@ let
 
   efibootmgr = callPackage ../tools/system/efibootmgr { };
 
+  efivar = callPackage ../tools/system/efivar { };
+
   elasticsearch = callPackage ../servers/search/elasticsearch { };
 
   enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
@@ -1091,6 +1079,10 @@ let
   gawkInteractive = appendToName "interactive"
     (gawk.override { readlineSupport = true; });
 
+  gbdfed = callPackage ../tools/misc/gbdfed {
+    gtk = gtk2;
+  };
+
   gdmap = callPackage ../tools/system/gdmap { };
 
   genext2fs = callPackage ../tools/filesystems/genext2fs { };
@@ -1168,6 +1160,8 @@ let
 
   gource = callPackage ../applications/version-management/gource {};
 
+  gpodder = callPackage ../applications/audio/gpodder { };
+
   gptfdisk = callPackage ../tools/system/gptfdisk { };
 
   grafana = callPackage ../development/tools/misc/grafana { };
@@ -1695,6 +1689,12 @@ let
 
   openobex = callPackage ../tools/bluetooth/openobex { };
 
+  openopc = callPackage ../tools/misc/openopc {
+    pythonFull = python27Full.override {
+      extraLibs = [ python27Packages.pyro3 ];
+    };
+  };
+
   openresolv = callPackage ../tools/networking/openresolv { };
 
   opensc = callPackage ../tools/security/opensc { };
@@ -3058,17 +3058,17 @@ let
   jdkdistro = installjdk: pluginSupport:
     assert supportsJDK;
     (if pluginSupport then appendToName "with-plugin" else x: x)
-      (callPackage ../development/compilers/jdk/jdk6-linux.nix { });
+      (callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { });
 
   oraclejdk7distro = installjdk: pluginSupport:
     assert supportsJDK;
     (if pluginSupport then appendToName "with-plugin" else x: x)
-      (callPackage ../development/compilers/jdk/jdk7-linux.nix { inherit installjdk; });
+      (callPackage ../development/compilers/oraclejdk/jdk7-linux.nix { inherit installjdk; });
 
   oraclejdk8distro = installjdk: pluginSupport:
     assert supportsJDK;
     (if pluginSupport then appendToName "with-plugin" else x: x)
-      (callPackage ../development/compilers/jdk/jdk8-linux.nix { inherit installjdk; });
+      (callPackage ../development/compilers/oraclejdk/jdk8-linux.nix { inherit installjdk; });
 
   jikes = callPackage ../development/compilers/jikes { };
 
@@ -4068,6 +4068,8 @@ let
   pkgconfig = forceNativeDrv (callPackage ../development/tools/misc/pkgconfig { });
   pkgconfigUpstream = lowPrio (pkgconfig.override { vanilla = true; });
 
+  prelink = callPackage ../development/tools/misc/prelink { };
+
   premake3 = callPackage ../development/tools/misc/premake/3.nix { };
 
   premake4 = callPackage ../development/tools/misc/premake { };
@@ -4161,7 +4163,9 @@ let
 
   uncrustify = callPackage ../development/tools/misc/uncrustify { };
 
-  vagrant = callPackage ../development/tools/vagrant { };
+  vagrant = callPackage ../development/tools/vagrant {
+    ruby = ruby2;
+  };
 
   gdb = callPackage ../development/tools/misc/gdb {
     hurd = gnu.hurdCross;
@@ -5062,6 +5066,8 @@ let
 
   libcangjie = callPackage ../development/libraries/libcangjie { };
 
+  libcredis = callPackage ../development/libraries/libcredis { };
+
   libctemplate = callPackage ../development/libraries/libctemplate { };
 
   libcue = callPackage ../development/libraries/libcue { };
@@ -5732,6 +5738,8 @@ let
 
   muparser = callPackage ../development/libraries/muparser { };
 
+  mygpoclient = callPackage ../development/python-modules/mygpoclient { };
+
   mygui = callPackage ../development/libraries/mygui {};
 
   myguiSvn = callPackage ../development/libraries/mygui/svn.nix {};
@@ -8143,7 +8151,7 @@ let
   };
 
   blender = callPackage  ../applications/misc/blender {
-    python = python3;
+    python = python34;
   };
 
   bristol = callPackage ../applications/audio/bristol { };
@@ -9060,6 +9068,8 @@ let
   ledger = callPackage ../applications/office/ledger/2.6.3.nix { };
   ledger3 = callPackage ../applications/office/ledger/3.0.nix { };
 
+  lighttable = callPackage ../applications/editors/lighttable {};
+
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
   linphone = callPackage ../applications/networking/instant-messengers/linphone rec {
@@ -9802,12 +9812,8 @@ let
 
   macvim = callPackage ../applications/editors/vim/macvim.nix { };
 
-  vimWrapper = wrapVim vim;
-
   vimHugeX = vim_configurable;
 
-  vimHugeXWrapper = wrapVim vimHugeX;
-
   vim_configurable = callPackage ../applications/editors/vim/configurable.nix {
     inherit (pkgs) fetchurl fetchhg stdenv ncurses pkgconfig gettext
       composableDerivation lib config glib gtk python perl tcl ruby;
@@ -9840,11 +9846,6 @@ let
     flags = [ "python" "X11" ]; # only flag "X11" by now
   });
 
-  wrapVim = vim: import ../applications/editors/vim/wrapper.nix {
-    inherit stdenv makeWrapper writeText vim;
-    vimrc = config.vim.vimrc or "";
-  };
-
   virtviewer = callPackage ../applications/virtualization/virt-viewer {
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
     spice_gtk = spice_gtk.override { enableGTK3 = true; };
@@ -10044,6 +10045,8 @@ let
 
   xterm = callPackage ../applications/misc/xterm { };
 
+  finalterm = callPackage ../applications/misc/finalterm { };
+
   xtrace = callPackage ../tools/X11/xtrace { };
 
   xlaunch = callPackage ../tools/X11/xlaunch { };
@@ -10472,6 +10475,11 @@ let
     import ../desktops/e17 { inherit callPackage pkgs; }
   );
 
+  e18 = recurseIntoAttrs (
+    let callPackage = newScope pkgs.e18; in
+    import ../desktops/e18 { inherit callPackage pkgs; }
+  );
+
   gnome2 = callPackage ../desktops/gnome-2 {
     callPackage = pkgs.newScope pkgs.gnome2;
     self = pkgs.gnome2;
@@ -11274,7 +11282,7 @@ let
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
-  vimPlugins = callPackage ../misc/vim-plugins { };
+  vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins { });
 
   vimprobable2 = callPackage ../applications/networking/browsers/vimprobable2 {
     webkit = webkitgtk2;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index a0780e29b1b0..b10ec37efbf9 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -141,12 +141,15 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   aeson_0_7_0_4 = callPackage ../development/libraries/haskell/aeson/0.7.0.4.nix { blazeBuilder = null; };
   aeson_0_7_0_6 = callPackage ../development/libraries/haskell/aeson/0.7.0.6.nix { blazeBuilder = null; };
-  aeson = self.aeson_0_7_0_6;
+  aeson_0_8_0_0 = callPackage ../development/libraries/haskell/aeson/0.8.0.0.nix { blazeBuilder = null; };
+  aeson = self.aeson_0_7_0_6;   # 0.8.0.0 breaks too many packages at the moment
 
   aesonPretty = callPackage ../development/libraries/haskell/aeson-pretty {};
 
   aesonQq = callPackage ../development/libraries/haskell/aeson-qq {};
 
+  aesonUtils = callPackage ../development/libraries/haskell/aeson-utils {};
+
   alsaCore = callPackage ../development/libraries/haskell/alsa-core {};
 
   alsaMixer = callPackage ../development/libraries/haskell/alsa-mixer {};
@@ -163,6 +166,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   ansiWlPprint = callPackage ../development/libraries/haskell/ansi-wl-pprint {};
 
+  applicativeQuoters = callPackage ../development/libraries/haskell/applicative-quoters {};
+
   ariadne = callPackage ../development/libraries/haskell/ariadne {};
 
   arithmoi = callPackage ../development/libraries/haskell/arithmoi {};
@@ -262,6 +267,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   blazeBuilderEnumerator = callPackage ../development/libraries/haskell/blaze-builder-enumerator {};
 
+  blazeFromHtml = callPackage ../development/libraries/haskell/blaze-from-html {};
+
   blazeHtml = callPackage ../development/libraries/haskell/blaze-html {};
 
   blazeMarkup = callPackage ../development/libraries/haskell/blaze-markup {};
@@ -372,6 +379,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   cgi_3001_1_8_5 = callPackage ../development/libraries/haskell/cgi/3001.1.8.5.nix {};
   cgi = self.cgi_3001_1_8_5;
 
+  cgrep = callPackage ../development/libraries/haskell/cgrep {};
+
   charset = callPackage ../development/libraries/haskell/charset {};
 
   Chart = callPackage ../development/libraries/haskell/Chart {};
@@ -423,6 +432,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   cmdtheline = callPackage ../development/libraries/haskell/cmdtheline {};
 
+  codeBuilder = callPackage ../development/libraries/haskell/code-builder {};
+
   CodecImageDevIL = callPackage ../development/libraries/haskell/codec-image-devil {};
 
   colorizeHaskell = callPackage ../development/libraries/haskell/colorize-haskell {};
@@ -688,6 +699,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   editline = self.editline_0_2_1_1;
 
   ekg = callPackage ../development/libraries/haskell/ekg {};
+  ekgCarbon = callPackage ../development/libraries/haskell/ekg-carbon {};
   ekgCore = callPackage ../development/libraries/haskell/ekg-core {};
 
   elerea = callPackage ../development/libraries/haskell/elerea {};
@@ -808,6 +820,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   fingertree = callPackage ../development/libraries/haskell/fingertree {};
 
+  focus = callPackage ../development/libraries/haskell/focus {};
+
   foldl = callPackage ../development/libraries/haskell/foldl {};
 
   folds = callPackage ../development/libraries/haskell/folds {};
@@ -838,6 +852,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   gdiff = callPackage ../development/libraries/haskell/gdiff {};
 
+  genericAeson = callPackage ../development/libraries/haskell/generic-aeson {};
+
   genericDeriving = callPackage ../development/libraries/haskell/generic-deriving {};
 
   ghcCore = callPackage ../development/libraries/haskell/ghc-core {};
@@ -1118,6 +1134,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hinotify = callPackage ../development/libraries/haskell/hinotify {};
 
+  hi = callPackage ../development/libraries/haskell/hi {};
+
   hint = callPackage ../development/libraries/haskell/hint {};
 
   hit = callPackage ../development/libraries/haskell/hit {};
@@ -1250,6 +1268,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hxtHttp = callPackage ../development/libraries/haskell/hxt-http {};
 
+  hxtPickleUtils = callPackage ../development/libraries/haskell/hxt-pickle-utils {};
+
   hxtRegexXmlschema = callPackage ../development/libraries/haskell/hxt-regex-xmlschema {};
 
   hxtTagsoup = callPackage ../development/libraries/haskell/hxt-tagsoup {};
@@ -1322,12 +1342,19 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   JuicyPixels = callPackage ../development/libraries/haskell/JuicyPixels {};
 
+  jmacro = callPackage ../development/libraries/haskell/jmacro {};
+  jmacroRpc = callPackage ../development/libraries/haskell/jmacro-rpc {};
+  jmacroRpcHappstack = callPackage ../development/libraries/haskell/jmacro-rpc-happstack {};
+  jmacroRpcSnap = callPackage ../development/libraries/haskell/jmacro-rpc-snap {};
+
   jpeg = callPackage ../development/libraries/haskell/jpeg {};
 
   json = callPackage ../development/libraries/haskell/json {};
 
   jsonAssertions = callPackage ../development/libraries/haskell/json-assertions {};
 
+  jsonSchema = callPackage ../development/libraries/haskell/json-schema {};
+
   jsonTypes = callPackage ../development/libraries/haskell/jsonTypes {};
 
   JuicyPixelsUtil = callPackage ../development/libraries/haskell/JuicyPixels-util {};
@@ -1432,6 +1459,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   lrucache = callPackage ../development/libraries/haskell/lrucache {};
 
+  lochTh = callPackage ../development/libraries/haskell/loch-th {};
+
   lockfreeQueue = callPackage ../development/libraries/haskell/lockfree-queue {};
 
   logfloat = callPackage ../development/libraries/haskell/logfloat {};
@@ -1565,6 +1594,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   multimap = callPackage ../development/libraries/haskell/multimap {};
 
+  multipart = callPackage ../development/libraries/haskell/multipart {};
+
   multiplate = callPackage ../development/libraries/haskell/multiplate {};
 
   multirec = callPackage ../development/libraries/haskell/multirec {};
@@ -1610,6 +1641,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   network_2_5_0_0 = callPackage ../development/libraries/haskell/network/2.5.0.0.nix {};
   network = self.network_2_5_0_0;
 
+  networkCarbon = callPackage ../development/libraries/haskell/network-carbon {};
+
   networkConduit = callPackage ../development/libraries/haskell/network-conduit {};
   networkConduitTls = callPackage ../development/libraries/haskell/network-conduit-tls {};
 
@@ -1713,7 +1746,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   parsers_0_10_3 = callPackage ../development/libraries/haskell/parsers/0.10.3.nix {};
   parsers_0_11_0_3 = callPackage ../development/libraries/haskell/parsers/0.11.0.3.nix {};
-  parsers = self.parsers_0_11_0_3;
+  parsers_0_12 = callPackage ../development/libraries/haskell/parsers/0.12.nix {};
+  parsers = self.parsers_0_11_0_3; # the new version breaks trifecta
 
   parsimony = callPackage ../development/libraries/haskell/parsimony {};
 
@@ -1775,6 +1809,10 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {};
 
+  placeholders = callPackage ../development/libraries/haskell/placeholders {};
+
+  plugins= callPackage ../development/libraries/haskell/plugins {};
+
   polyparse = callPackage ../development/libraries/haskell/polyparse {};
 
   pointed = callPackage ../development/libraries/haskell/pointed {};
@@ -1863,7 +1901,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   QuickCheck_2_5_1_1 = callPackage ../development/libraries/haskell/QuickCheck/2.5.1.1.nix {};
   QuickCheck_2_6 = callPackage ../development/libraries/haskell/QuickCheck/2.6.nix {};
   QuickCheck_2_7_5 = callPackage ../development/libraries/haskell/QuickCheck/2.7.5.nix {};
-  QuickCheck = self.QuickCheck_2_7_5;
+  QuickCheck_2_7_6 = callPackage ../development/libraries/haskell/QuickCheck/2.7.6.nix {};
+  QuickCheck = self.QuickCheck_2_7_6;
 
   quickcheckAssertions = callPackage ../development/libraries/haskell/quickcheck-assertions {};
 
@@ -1949,6 +1988,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   regular = callPackage ../development/libraries/haskell/regular {};
 
+  regularXmlpickler = callPackage ../development/libraries/haskell/regular-xmlpickler {};
+
   remote = callPackage ../development/libraries/haskell/remote {};
 
   repa = callPackage ../development/libraries/haskell/repa {};
@@ -1966,6 +2007,22 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   resourcet = callPackage ../development/libraries/haskell/resourcet {};
 
+  restClient = callPackage ../development/libraries/haskell/rest-client {};
+
+  restCore = callPackage ../development/libraries/haskell/rest-core {};
+
+  restGen = callPackage ../development/libraries/haskell/rest-gen {};
+
+  restHappstack = callPackage ../development/libraries/haskell/rest-happstack {};
+
+  restSnap = callPackage ../development/libraries/haskell/rest-snap {};
+
+  restStringmap = callPackage ../development/libraries/haskell/rest-stringmap {};
+
+  restTypes = callPackage ../development/libraries/haskell/rest-types {};
+
+  restWai = callPackage ../development/libraries/haskell/rest-wai {};
+
   retry = callPackage ../development/libraries/haskell/retry {};
 
   rethinkdb = callPackage ../development/libraries/haskell/rethinkdb {};
@@ -2023,6 +2080,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   shelly_1_5_3_1 = callPackage ../development/libraries/haskell/shelly {};
   shelly = self.shelly_1_5_3_1;
 
+  simpleConduit = callPackage ../development/libraries/haskell/simple-conduit {};
+
   simpleReflect = callPackage ../development/libraries/haskell/simple-reflect {};
 
   simpleSendfile = callPackage ../development/libraries/haskell/simple-sendfile {};
@@ -2193,6 +2252,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   stmConduit = callPackage ../development/libraries/haskell/stm-conduit {};
 
+  stmContainers = callPackage ../development/libraries/haskell/stm-containers {};
+
   STMonadTrans = callPackage ../development/libraries/haskell/STMonadTrans {};
 
   stmStats = callPackage ../development/libraries/haskell/stm-stats {};
@@ -2265,6 +2326,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   tcacheAWS = callPackage ../development/libraries/haskell/tcache-AWS {};
 
+  template = callPackage ../development/libraries/haskell/template {};
+
   templateDefault = callPackage ../development/libraries/haskell/template-default {};
 
   temporary = callPackage ../development/libraries/haskell/temporary {};
@@ -2371,6 +2434,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     tls = self.tls_1_1_5;
   };
 
+  tostring = callPackage ../development/libraries/haskell/tostring {};
+
   transformers_0_2_2_0 = callPackage ../development/libraries/haskell/transformers/0.2.2.0.nix {};
   transformers_0_3_0_0 = callPackage ../development/libraries/haskell/transformers/0.3.0.0.nix {};
   transformers_0_4_1_0 = callPackage ../development/libraries/haskell/transformers/0.4.1.0.nix {};
@@ -2443,6 +2508,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   uri = callPackage ../development/libraries/haskell/uri {};
 
+  uriEncode = callPackage ../development/libraries/haskell/uri-encode {};
+
   url = callPackage ../development/libraries/haskell/url {};
 
   urlencoded = callPackage ../development/libraries/haskell/urlencoded {};
@@ -2692,6 +2759,7 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   Agda_2_3_2_2 = callPackage ../development/compilers/agda/2.3.2.2.nix {};
   Agda_2_4_0_1 = callPackage ../development/compilers/agda/2.4.0.1.nix {
     binary = self.binary_0_7_2_1;
+    QuickCheck = self.QuickCheck_2_7_5;
   };
   Agda = self.Agda_2_4_0_1;
 
@@ -2742,7 +2810,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   haddock_2_12_0 = callPackage ../development/tools/documentation/haddock/2.12.0.nix {};
   haddock_2_13_2 = callPackage ../development/tools/documentation/haddock/2.13.2.nix {};
   haddock_2_14_2 = callPackage ../development/tools/documentation/haddock/2.14.2.nix {};
-  haddock = self.haddock_2_14_2;
+  haddock_2_14_3 = callPackage ../development/tools/documentation/haddock/2.14.3.nix {};
+  haddock = self.haddock_2_14_3;
 
   HandsomeSoup = callPackage ../development/libraries/haskell/HandsomeSoup {};
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b7e2c7a4c0b4..bb8256cce2e5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4305,6 +4305,24 @@ rec {
     };
   };
 
+  minimock = buildPythonPackage rec {
+    version = "1.2.8";
+    name = "minimock-${version}";
+
+    src = fetchurl {
+      url = "https://bitbucket.org/jab/minimock/get/${version}.zip";
+      sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a";
+    };
+
+    buildInputs = [ nose ];
+
+    checkPhase = "./test";
+
+    meta = {
+      description = "A minimalistic mocking library for python";
+      homepage = https://pypi.python.org/pypi/MiniMock;
+    };
+  };
 
   mitmproxy = buildPythonPackage rec {
     baseName = "mitmproxy";
@@ -5971,6 +5989,23 @@ rec {
     };
   });
 
+  pyro3 = buildPythonPackage (rec {
+    name = "Pyro-3.16";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz";
+      md5 = "59d4d3f4a8786776c9d7f9051b8f1a69";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Distributed object middleware for Python (IPC/RPC)";
+      homepage = http://pythonhosted.org/Pyro/;
+      license = licenses.mit;
+      platforms = platforms.unix;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  });
+
   pyrss2gen = buildPythonPackage (rec {
     name = "PyRSS2Gen-1.0.0";
 
@@ -9511,6 +9546,27 @@ rec {
     };
   };
 
+  pythonefl = buildPythonPackage rec {
+    name = "python-efl-${version}";
+    version = "1.10.0";
+    src = fetchurl {
+      url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.gz";
+      sha256 = "1inv2qalnm9paifdwyh9q3ffxcp9bjj92phvfw1rgkaildvfji5i";
+    };
+    preConfigure = ''
+      export NIX_CFLAGS_COMPILE="-I${pkgs.e18.efl}/include/eo-1 -I${pkgs.e18.efl}/include/eina-1 -I${pkgs.e18.efl}/include/eina-1/eina -I${pkgs.e18.efl}/include/evas-1 -I${dbus}/include/dbus-1.0 -I${pkgs.e18.efl}/include/efl-1 -I${pkgs.e18.efl}/include/eet-1 -I${pkgs.e18.efl}/include/ecore-1 -I${pkgs.e18.efl}/include/ecore-evas-1 -I${pkgs.e18.efl}/include/ecore-file-1 -I${pkgs.e18.efl}/include/ecore-input-1 -I${pkgs.e18.efl}/include/ecore-imf-1 -I${pkgs.e18.efl}/include/ecore-con-1 -I${pkgs.e18.efl}/include/edje-1 -I${pkgs.e18.efl}/include/eldbus-1 -I${pkgs.e18.efl}/include/efreet-1 -I${pkgs.e18.efl}/include/ethumb-client-1 -I${pkgs.e18.efl}/include/ethumb-1 -I${pkgs.e18.efl}/include/ecore-x-1 $NIX_CFLAGS_COMPILE"
+    '';
+    buildInputs = [ pkgs.pkgconfig pkgs.e18.efl pkgs.e18.elementary ];
+    meta = {
+      description = "Python bindings for EFL and Elementary.";
+      homepage = http://enlightenment.org/;
+      maintainers = [ stdenv.lib.maintainers.matejc ];
+      platforms = stdenv.lib.platforms.linux;
+      license = stdenv.lib.licenses.gpl3;
+    };
+  };
+
+
 # python2.7 specific packages
 } // optionalAttrs isPy27 (
   with pythonPackages;