summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/meta.xml19
-rw-r--r--lib/licenses.nix315
-rw-r--r--lib/maintainers.nix2
-rw-r--r--nixos/modules/config/pulseaudio.nix10
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/programs/dconf.nix34
-rw-r--r--nixos/modules/security/rngd.nix3
-rw-r--r--nixos/modules/services/hardware/tcsd.nix139
-rw-r--r--nixos/modules/services/networking/dhcpd.nix35
-rw-r--r--nixos/modules/services/web-servers/lighttpd/default.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix25
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix151
-rw-r--r--nixos/modules/services/x11/window-managers/bspwm.nix29
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--pkgs/applications/audio/clementine/default.nix10
-rw-r--r--pkgs/applications/audio/mopidy-moped/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/default.nix4
-rw-r--r--pkgs/applications/editors/idea/pycharm.nix10
-rw-r--r--pkgs/applications/graphics/hugin/default.nix31
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix1
-rw-r--r--pkgs/applications/graphics/luminance-hdr/default.nix26
-rw-r--r--pkgs/applications/misc/blender/default.nix7
-rw-r--r--pkgs/applications/misc/dunst/default.nix17
-rw-r--r--pkgs/applications/misc/lyx/default.nix33
-rw-r--r--pkgs/applications/misc/xfontsel/default.nix2
-rw-r--r--pkgs/applications/misc/xlsfonts/default.nix2
-rw-r--r--pkgs/applications/misc/xmobar/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/dwb/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/kadu/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix12
-rw-r--r--pkgs/applications/networking/p2p/eiskaltdcpp/default.nix35
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix23
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix35
-rw-r--r--pkgs/applications/version-management/git-and-tools/github-backup/default.nix2
-rw-r--r--pkgs/applications/video/aegisub/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix2
-rw-r--r--pkgs/applications/window-managers/bar/default.nix23
-rw-r--r--pkgs/applications/window-managers/bspwm/default.nix29
-rw-r--r--pkgs/applications/window-managers/sxhkd/default.nix27
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix1
-rw-r--r--pkgs/build-support/release/ant-build.nix7
-rw-r--r--pkgs/build-support/release/functions.sh23
-rw-r--r--pkgs/desktops/gnome-3/3.10/core/dconf/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/default.nix32
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch18
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch26
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch17
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch15
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/core/vino/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.12/default.nix2
-rw-r--r--pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix44
-rw-r--r--pkgs/development/compilers/cryptol/1.8.x.nix2
-rw-r--r--pkgs/development/compilers/ocaml/4.01.0.nix21
-rw-r--r--pkgs/development/compilers/opa/default.nix30
-rw-r--r--pkgs/development/compilers/pakcs/default.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R17.nix6
-rw-r--r--pkgs/development/interpreters/python/2.6/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-cairo/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/Chart-diagrams/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/Chart-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/Chart/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HaskellNet/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/IntervalMap/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bitarray/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/bound/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/bson/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/cabal-file-th/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/categories/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/cmdtheline/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/codec-image-devil/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/concurrent-extra/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/data-lens-template/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/data-lens/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/diagrams/postscript.nix2
-rw-r--r--pkgs/development/libraries/haskell/djinn/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dns/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/download/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/dstring/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/enummapset/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/formatting/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/git-date/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/gtkglext/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hashable-extras/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/haskeline-class/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/haste-perch/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/hfsevents/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/hplayground/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hspec-expectations/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec-meta/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec2/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/http-attoparsec/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/jack/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/jpeg/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/json-assertions/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/lambdabot/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/list-tries/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/mwc-random/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pure-cdb/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/regex-applicative/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/repr/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-core/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/rest-gen/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/socket-io/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/text-icu/default.nix3
-rw-r--r--pkgs/development/libraries/haskell/transformers-base/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/vcsgui/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/webkit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix (renamed from pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix)4
-rw-r--r--pkgs/development/libraries/ibus/default.nix5
-rw-r--r--pkgs/development/libraries/libtiff/default.nix6
-rw-r--r--pkgs/development/libraries/thrift/default.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix4
-rw-r--r--pkgs/development/libraries/xylib/default.nix23
-rw-r--r--pkgs/development/ocaml-modules/pcre/default.nix6
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix51
-rw-r--r--pkgs/development/python-modules/sip/4.16.nix26
-rw-r--r--pkgs/development/tools/build-managers/rebar/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal-delete/default.nix2
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/happy-meta/default.nix2
-rw-r--r--pkgs/development/tools/haskell/haskell-docs/default.nix24
-rw-r--r--pkgs/development/tools/haskell/hp2any-manager/default.nix1
-rw-r--r--pkgs/development/tools/haskell/hscope/default.nix24
-rw-r--r--pkgs/development/tools/haskell/pointfree/default.nix19
-rw-r--r--pkgs/development/tools/haskell/pointful/default.nix18
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/dfu-programmer/default.nix13
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix35
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.4.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.5.nix2
-rw-r--r--pkgs/development/tools/parsing/happy/1.18.6.nix2
-rw-r--r--pkgs/development/web/remarkjs/default.nix4
-rw-r--r--pkgs/games/Allure/default.nix19
-rw-r--r--pkgs/games/LambdaHack/default.nix17
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix9
-rw-r--r--pkgs/os-specific/linux/bluez/bluez5.nix4
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.16.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.2.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix8
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsemanage/default.nix4
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix6
-rw-r--r--pkgs/os-specific/linux/policycoreutils/default.nix4
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix6
-rw-r--r--pkgs/os-specific/linux/setools/default.nix4
-rw-r--r--pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch15
-rw-r--r--pkgs/servers/consul/default.nix33
-rw-r--r--pkgs/servers/consul/deps.nix239
-rw-r--r--pkgs/servers/consul/ui.nix17
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix5
-rw-r--r--pkgs/stdenv/generic/default.nix25
-rw-r--r--pkgs/tools/backup/obnam/default.nix4
-rw-r--r--pkgs/tools/compression/kzipmix/default.nix25
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix27
-rw-r--r--pkgs/tools/graphics/glmark2/default.nix36
-rw-r--r--pkgs/tools/graphics/pngout/default.nix33
-rw-r--r--pkgs/tools/misc/sutils/default.nix20
-rw-r--r--pkgs/tools/misc/xdo/default.nix22
-rw-r--r--pkgs/tools/misc/xtitle/default.nix23
-rw-r--r--pkgs/tools/networking/dhcp/default.nix22
-rw-r--r--pkgs/tools/networking/isync/default.nix6
-rw-r--r--pkgs/tools/security/muscleframework/default.nix3
-rw-r--r--pkgs/tools/security/muscletool/default.nix3
-rw-r--r--pkgs/tools/security/tboot/default.nix33
-rw-r--r--pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch50
-rw-r--r--pkgs/tools/security/tpm-quote-tools/default.nix22
-rw-r--r--pkgs/tools/security/tpm-tools/default.nix26
-rw-r--r--pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch19
-rw-r--r--pkgs/tools/security/trousers/default.nix33
-rw-r--r--pkgs/tools/security/trousers/disable-install-rule.patch27
-rw-r--r--pkgs/tools/security/trousers/double-installed-man-page.patch32
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix32
-rw-r--r--pkgs/top-level/all-packages.nix64
-rw-r--r--pkgs/top-level/haskell-packages.nix32
-rw-r--r--pkgs/top-level/python-packages.nix62
200 files changed, 2595 insertions, 570 deletions
diff --git a/doc/meta.xml b/doc/meta.xml
index 272e812a03bb..eb644b3b0ee2 100644
--- a/doc/meta.xml
+++ b/doc/meta.xml
@@ -121,10 +121,11 @@ interpretation:</para>
   <varlistentry>
     <term><varname>license</varname></term>
     <listitem><para>The license for the package. One from attribute set defined in
-      <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/licenses.nix">
+      <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
       <filename>nixpkgs/lib/licenses.nix</filename></link>.
       Example:
       <literal>stdenv.lib.licenses.gpl3</literal>.</para></listitem>
+      See details in <xref linkend='sec-meta-license'/>,
   </varlistentry>
 
   <varlistentry>
@@ -133,7 +134,7 @@ interpretation:</para>
     maintainers of this Nix expression. If
     you would like to be a maintainer of a package, you may want to add
     yourself to <link
-    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/maintainers.nix"><filename>nixpkgs/lib/maintainers.nix</filename></link>
+    xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/maintainers.nix"><filename>nixpkgs/lib/maintainers.nix</filename></link>
     and write something like <literal>[ stdenv.lib.maintainers.alice
     stdenv.lib.maintainers.bob ]</literal>.</para></listitem>
   </varlistentry>
@@ -159,8 +160,8 @@ interpretation:</para>
 meta.platforms = stdenv.lib.platforms.linux;
 </programlisting>
 
-    Attribute Set <varname>stdenv.lib.platforms</varname> in 
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/lib/platforms.nix">
+    Attribute Set <varname>stdenv.lib.platforms</varname> in
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/platforms.nix">
     <filename>nixpkgs/lib/platforms.nix</filename></link> defines various common
     lists of platforms types.
     </para></listitem>
@@ -202,9 +203,15 @@ meta.hydraPlatforms = [];
 
 <section xml:id="sec-meta-license"><title>Licenses</title>
 
-<para>The <varname>meta.license</varname> attribute could be one of the
-following:
+<para>The <varname>meta.license</varname> attribute should preferrably contain
+a value from <varname>stdenv.lib.licenses</varname> defined in
+<link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/licenses.nix">
+<filename>nixpkgs/lib/licenses.nix</filename></link>,
+or in-place license description of the same format if the license is
+unlikely to be useful in another expression.
 
+A few generic options are available, although it's typically better
+to indicate the specific license:
 <variablelist>
 
   <varlistentry>
diff --git a/lib/licenses.nix b/lib/licenses.nix
index ed6a54db550d..29144264ddd2 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -1,25 +1,24 @@
-{
-  /* License identifiers loosely based on: http://fedoraproject.org/wiki/Licensing
+let
+  spdx = lic: lic // {
+      url = "http://spdx.org/licenses/${lic.shortName}";
+    };
+in
+
+rec {
+  /* License identifiers from spdx.org where possible.
    * If you cannot find your license here, then look for a similar license or
    * add it to this list. The URL mentioned above is a good source for inspiration.
    */
 
-  artistic2 = {
-    shortName = "Artistic 2.0";
-    fullName = "Artistic 2.0";
-    url = "http://opensource.org/licenses/artistic-license-2.0.php";
-  };
-
-  agpl3 = {
-    shortName = "AGPLv3";
-    fullName = "GNU Affero General Public License version 3 only";
-    url = https://www.gnu.org/licenses/agpl.html;
+  agpl3 = spdx {
+    shortName = "AGPL-3.0";
+    fullName = "GNU Affero General Public License v3.0";
   };
 
   agpl3Plus = {
-    shortName = "AGPLv3+";
-    fullName = "GNU Affero General Public License version 3 or later";
-    url = https://www.gnu.org/licenses/agpl.html;
+    shortName = "AGPL-3.0+";
+    fullName = "GNU Affero General Public License v3.0 or later";
+    inherit (agpl3) url;
   };
 
   amd = {
@@ -28,204 +27,198 @@
     url = http://developer.amd.com/amd-license-agreement/;
   };#
 
-  apsl20 = {
-    shortName = "APSL 2.0";
+  apsl20 = spdx {
+    shortName = "APSL-2.0";
     fullName = "Apple Public Source License 2.0";
-    url = http://opensource.org/licenses/APSL-2.0;
   };
 
-  asl20 = {
-    shortName = "ASL2.0";
-    fullName = "Apache Software License 2.0";
-    url = http://www.apache.org/licenses/LICENSE-2.0;
+  artistic2 = spdx {
+    shortName = "Artistic-2.0";
+    fullName = "Artistic License 2.0";
+  };
+
+  asl20 = spdx {
+    shortName = "Apache-2.0";
+    fullName = "Apache License 2.0";
   };
 
-  boost = {
-    shortName = "boost";
-    fullName = "Boost Software License";
-    url = http://www.boost.org/LICENSE_1_0.txt;
+  boost = spdx {
+    shortName = "BSL-1.0";
+    fullName = "Boost Software License 1.0";
   };
 
-  bsd2 = {
-    shortName = "BSD-2";
-    fullName = "BSD license (2 clause)";
-    url = http://opensource.org/licenses/BSD-2-Clause;
+  bsd2 = spdx {
+    shortName = "BSD-2-Clause";
+    fullName = ''BSD 2-clause "Simplified" License'';
   };
 
-  bsd3 = {
-    shortName = "BSD-3";
-    fullName = "BSD license (3 clause)";
-    url = http://opensource.org/licenses/BSD-3-Clause;
+  bsd3 = spdx {
+    shortName = "BSD-3-Clause";
+    fullName = ''BSD 3-clause "New" or "Revised" License'';
   };
 
-  bsdOriginal = {
-    shortName = "BSD-original";
-    fullName = "Original BSD license with advertising clause";
-    url = https://fedoraproject.org/wiki/Licensing/BSD;
+  bsdOriginal = spdx {
+    shortName = "BSD-4-Clause";
+    fullName = ''BSD 4-clause "Original" or "Old" License'';
   };
 
-  cc-by-30 = {
-    shortName = "CC BY 3.0";
+  cc-by-30 = spdx {
+    shortName = "CC-BY-3.0";
     fullName = "Creative Commons Attribution 3.0";
-    url = http://creativecommons.org/licenses/by/3.0;
   };
 
-  cddl = {
-    shortName = "CDDL";
-    fullName = "Common Development Distribution License ";
-    url = http://www.opensolaris.org/os/licensing/cddllicense.txt;
+  cddl = spdx {
+    shortName = "CDDL-1.0";
+    fullName = "Common Development and Distribution License 1.0";
+  };
+
+  cecill-c = spdx {
+    shortName = "CECILL-C";
+    fullName  = "CeCILL-C Free Software License Agreement";
   };
 
-  cpl10 = {
-    shortName = "CPL 1.0";
-    fullName = "Common Public License version 1.0";
-    url = http://www.eclipse.org/legal/cpl-v10.html;
+  cpl10 = spdx {
+    shortName = "CPL-1.0";
+    fullName = "Common Public License 1.0";
   };
 
-  epl10 = {
-    shortName = "EPL 1.0";
-    fullName = "Eclipse Public License version 1.0";
-    url = http://www.eclipse.org/legal/epl-v10.html;
+  epl10 = spdx {
+    shortName = "EPL-1.0";
+    fullName = "Eclipse Public License 1.0";
   };
 
   free = "free";
 
-  gpl2 = {
-    shortName = "GPLv2";
-    fullName = "GNU General Public License version 2";
-    url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html;
+  gpl2 = spdx {
+    shortName = "GPL-2.0";
+    fullName = "GNU General Public License v2.0 only";
   };
 
   gpl2Oss = {
-    shortName = "GPLv2+OSS";
+    shortName = "GPL-2.0-with-OSS";
     fullName = "GNU General Public License version 2 only (with OSI approved licenses linking exception)";
     url = http://www.mysql.com/about/legal/licensing/foss-exception;
   };
 
-  gpl2Plus = {
-    shortName = "GPLv2+";
-    fullName = "GNU General Public License version 2 or later";
-    url = http://www.gnu.org/licenses/old-licenses/gpl-2.0.html;
+  gpl2Plus = spdx {
+    shortName = "GPL-2.0+";
+    fullName = "GNU General Public License v2.0 or later";
   };
 
-  gpl3 = {
-    shortName = "GPLv3";
-    fullName = "GNU General Public License version 3 only";
-    url = http://www.fsf.org/licensing/licenses/gpl.html;
+  gpl3 = spdx {
+    shortName = "GPL-3.0";
+    fullName = "GNU General Public License v3.0 only";
   };
 
-  gpl3Plus = {
-    shortName = "GPLv3+";
-    fullName = "GNU General Public License version 3 or later";
-    url = http://www.fsf.org/licensing/licenses/gpl.html;
+  gpl3Plus = spdx {
+    shortName = "GPL-3.0+";
+    fullName = "GNU General Public License v3.0 or later";
   };
 
   gpl3ClasspathPlus = {
-    shortName = "GPLv3+classpath+";
-    fullName = "GNU General Public License version 3 or later (with Classpath exception)";
+    shortName = "GPL-3.0+-with-classpath-exception";
+    fullName = "GNU General Public License v3.0 or later (with Classpath exception)";
     url = https://fedoraproject.org/wiki/Licensing/GPL_Classpath_Exception;
   };
 
-  isc = {
-    shortName = "ISC";
-    fullName = "Internet Systems Consortium License";
-    url = http://www.opensource.org/licenses/ISC;
+  inria = {
+    shortName = "INRIA-NCLA";
+    fullName  = "INRIA Non-Commercial License Agreement";
+    url       = "http://compcert.inria.fr/doc/LICENSE";
+  };
+
+  ipa = spdx {
+    shortName = "IPA";
+    fullName = "IPA Font License";
   };
 
-  ipa = {
-    shortName = "IPA 1.0";
-    fullName = "IPA Font License v1.0";
-    url = http://ipafont.ipa.go.jp/ipafont/;
+  ipl10 = spdx {
+    shortName = "IPL-1.0";
+    fullName = "IBM Public License v1.0";
   };
 
-  ipl10 = {
-    shortName = "IPL 1.0";
-    fullName = "IBM Public License Version 1.0";
-    url = http://www.ibm.com/developerworks/opensource/library/os-i18n2/os-ipl.html;
+  isc = spdx {
+    shortName = "ISC";
+    fullName = "ISC License";
   };
 
-  ijg = {
-    shortName = "IJG";
-    fullName = "Independent JPEG Group License";
-    url = https://fedoraproject.org/wiki/Licensing/IJG;
+  lgpl2 = spdx {
+    shortName = "LGPL-2.0";
+    fullName = "GNU Library General Public License v2 only";
   };
 
-  libtiff = {
-    shortName = "libtiff";
-    fullName = "libtiff license";
-    url = https://fedoraproject.org/wiki/Licensing/libtiff;
+  lgpl2Plus = spdx {
+    shortName = "LGPL-2.0+";
+    fullName = "GNU Library General Public License v2 or later";
   };
 
-  lgpl2 = {
-    shortName = "LGPLv2";
-    fullName = "GNU Library General Public License version 2";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html;
+  lgpl21 = spdx {
+    shortName = "LGPL-2.1";
+    fullName = "GNU Library General Public License v2.1 only";
   };
 
-  lgpl2Plus = {
-    shortName = "LGPLv2+";
-    fullName = "GNU Library General Public License version 2 or later";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html;
+  lgpl21Plus = spdx {
+    shortName = "LGPL-2.1+";
+    fullName = "GNU Library General Public License v2.1 or later";
   };
 
-  lgpl21 = {
-    shortName = "LGPLv2.1";
-    fullName = "GNU Lesser General Public License version 2.1";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html;
+  lgpl3 = spdx {
+    shortName = "LGPL-3.0";
+    fullName = "GNU Lesser General Public License v3.0 only";
   };
 
-  lgpl21Plus = {
-    shortName = "LGPLv2.1+";
-    fullName = "GNU Lesser General Public License version 2.1 or later";
-    url = http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html;
+  lgpl3Plus = spdx {
+    shortName = "LGPL-3.0+";
+    fullName = "GNU Lesser General Public License v3.0 or later";
+  };
+
+  libtiff = {
+    shortName = "libtiff";
+    fullName = "libtiff license";
+    url = https://fedoraproject.org/wiki/Licensing/libtiff;
   };
 
   llgpl21 = {
-    shortName = "LLGPLv2.1";
+    shortName = "LLGPL-2.1";
     fullName = "Lisp LGPL; GNU Lesser General Public License version 2.1 with Franz Inc. preamble for clarification of LGPL terms in context of Lisp";
     url = http://opensource.franz.com/preamble.html;
   };
 
-  lgpl3 = {
-    shortName = "LGPLv3";
-    fullName = "GNU Lesser General Public License version 3 only";
-    url = http://www.fsf.org/licensing/licenses/lgpl.html;
+  mit = spdx {
+    shortName = "MIT";
+    fullName = "MIT License";
   };
 
-  lgpl3Plus = {
-    shortName = "LGPLv3+";
-    fullName = "GNU Lesser General Public License version 3 or later";
-    url = http://www.fsf.org/licensing/licenses/lgpl.html;
+  mpl11 = spdx {
+    shortName = "MPL-1.1";
+    fullName = "Mozilla Public License 1.1";
   };
 
-  mit = {
-    shortName = "MIT";
-    fullName = "MIT/X11 license";
-    url = http://www.opensource.org/licenses/mit-license.php;
+  mpl20 = spdx {
+    shortName = "MPL-2.0";
+    fullName = "Mozilla Public License 2.0";
   };
 
-  mpl11 = {
-    shortName = "MPL1.1";
-    fullName = "Mozilla Public License version 1.1";
-    url = http://www.mozilla.org/MPL/MPL-1.1.html;
+  msrla = {
+    shortName = "MSR-LA";
+    fullName  = "Microsoft Research License Agreement";
+    url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
   };
 
-  mpl20 = {
-    shortName = "MPL2.0";
-    fullName = "Mozilla Public License version 2.0";
-    url = https://www.mozilla.org/MPL/2.0;
+  ofl = spdx {
+    shortName = "OFL-1.1";
+    fullName = "SIL Open Font License 1.1";
   };
 
-  ofl = {
-    shortName = "OFL";
-    fullName = "SIL Open Font License";
-    url = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL_web";
+  openssl = spdx {
+    shortName = "OpenSSL";
+    fullName = "OpenSSL License";
   };
 
-  openssl = {
-    shortName = "openssl";
-    fullName = "OpenSSL license";
-    url = http://www.openssl.org/source/license.html;
+  psfl = spdx {
+    shortName = "Python-2.0";
+    fullName = "Python Software Foundation License version 2";
+    #url = http://docs.python.org/license.html;
   };
 
   publicDomain = {
@@ -233,10 +226,9 @@
     fullname = "Public Domain";
   };
 
-  psfl = {
-    shortName = "PSFL";
-    fullName = "Python Software Foundation License";
-    url = http://docs.python.org/license.html;
+  sleepycat = spdx {
+    shortName = "Sleepycat";
+    fullName  = "Sleepycat License";
   };
 
   tcltk = {
@@ -257,45 +249,20 @@
     url = https://fedoraproject.org/wiki/Licensing:Wadalab?rd=Licensing/Wadalab;
   };
 
-  zlib = {
-    shortName = "zlib";
-    fullName = "zlib license";
-    url = http://www.gzip.org/zlib/zlib_license.html;
+  zlib = spdx {
+    shortName = "Zlib";
+    fullName = "zlib License";
   };
 
-  zpt20 = {
-    shortName = "ZPT2.0";
+  zpt20 = spdx { # FIXME: why zpt* instead of zpl*
+    shortName = "ZPL-2.0";
     fullName = "Zope Public License 2.0";
-    url = "http://old.zope.org/Resources/License/ZPL-2.0";
   };
 
-  zpt21 = {
-    shortName = "ZPT2.1";
+  zpt21 = spdx {
+    shortName = "ZPL-2.1";
     fullName = "Zope Public License 2.1";
-    url = "http://old.zope.org/Resources/License/ZPL-2.1";
-  };
-
-  sleepycat = {
-    shortName = "Sleepycat";
-    fullName  = "Sleepycat Public License";
-    url       = "https://en.wikipedia.org/wiki/Sleepycat_License";
-  };
-
-  cecill-c = {
-    shortName = "CeCILL-C";
-    fullName  = "CEA CNRS INRIA Logiciel Libre";
-    url       = "http://www.cecill.info/licences.en.html";
   };
 
-  msrla = {
-    shortName = "MSR-LA";
-    fullName  = "Microsoft Research License Agreement";
-    url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
-  };
-
-  inria = {
-    shortName = "INRIA-NCLA";
-    fullName  = "INRIA Non-Commercial License Agreement";
-    url       = "http://compcert.inria.fr/doc/LICENSE";
-  };
 }
+
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index fc448225be9f..b1c3f6bcdd23 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -46,6 +46,7 @@
   goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
   guibert = "David Guibert <david.guibert@gmail.com>";
   hinton = "Tom Hinton <t@larkery.com>";
+  hrdinka = "Christoph Hrdinka <c.nix@hrdinka.at>";
   ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
   iElectric = "Domen Kozar <domen@dev.si>";
   iyzsong = "Song Wenwu <iyzsong@gmail.com>";
@@ -63,6 +64,7 @@
   madjar = "Georges Dubus <georges.dubus@compiletoi.net>";
   marcweber = "Marc Weber <marco-oweber@gmx.de>";
   matejc = "Matej Cotman <cotman.matej@gmail.com>";
+  meisternu = "Matt Miemiec <meister@krutt.org>";
   modulistic = "Pablo Costa <modulistic@gmail.com>";
   mornfall = "Petr Ročkai <me@mornfall.net>";
   msackman = "Matthew Sackman <matthew@wellquite.org>";
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 67e536f4fd93..96593885e5b7 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -80,12 +80,12 @@ in {
 
       package = mkOption {
         type = types.package;
-        default = pulseaudio;
-        example = literalExample "pulseaudio.override { jackaudioSupport = true; }";
+        default = pulseaudioFull;
+        example = literalExample "pulseaudioFull";
         description = ''
-          The PulseAudio derivation to use.  This can be used to enable
-          features (such as JACK support) that are not enabled in the
-          default PulseAudio in Nixpkgs.
+          The PulseAudio derivation to use.  This can be used to disable
+          features (such as JACK support, Bluetooth) that are enabled in the
+          pulseaudioFull package in Nixpkgs.
         '';
       };
 
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 853efcc09dc1..fa81ff8a8398 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -139,6 +139,8 @@
       polipo = 129;
       mopidy = 130;
       unifi = 131;
+      gdm = 132;
+      dhcpd = 133;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -252,6 +254,8 @@
       polipo = 129;
       mopidy = 130;
       docker = 131;
+      gdm = 132;
+      tss = 133;
 
       # 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 4806c0e93312..d90c56f2412a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -50,6 +50,7 @@
   ./programs/bash/bash.nix
   ./programs/bash/command-not-found.nix
   ./programs/blcr.nix
+  ./programs/dconf.nix
   ./programs/environment.nix
   ./programs/info.nix
   ./programs/screen.nix
@@ -125,6 +126,7 @@
   ./services/hardware/pcscd.nix
   ./services/hardware/pommed.nix
   ./services/hardware/sane.nix
+  ./services/hardware/tcsd.nix
   ./services/hardware/thinkfan.nix
   ./services/hardware/udev.nix
   ./services/hardware/udisks2.nix
@@ -279,6 +281,7 @@
   ./services/x11/desktop-managers/default.nix
   ./services/x11/display-managers/auto.nix
   ./services/x11/display-managers/default.nix
+  ./services/x11/display-managers/gdm.nix
   ./services/x11/display-managers/kdm.nix
   ./services/x11/display-managers/lightdm.nix
   ./services/x11/display-managers/slim.nix
@@ -290,6 +293,7 @@
   #./services/x11/window-managers/compiz.nix
   ./services/x11/window-managers/default.nix
   ./services/x11/window-managers/icewm.nix
+  ./services/x11/window-managers/bspwm.nix
   ./services/x11/window-managers/metacity.nix
   ./services/x11/window-managers/none.nix
   ./services/x11/window-managers/twm.nix
diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix
new file mode 100644
index 000000000000..1b7e20799819
--- /dev/null
+++ b/nixos/modules/programs/dconf.nix
@@ -0,0 +1,34 @@
+{ config, lib, ... }:
+
+let
+  inherit (lib) mkOption mkIf types mapAttrsToList;
+  cfg = config.programs.dconf;
+
+  mkDconfProfile = name: path:
+    { source = path; target = "dconf/profile/${name}"; };
+
+in
+{
+  ###### interface
+
+  options = {
+    programs.dconf = {
+
+      profiles = mkOption {
+        type = types.attrsOf types.path;
+        default = {};
+        description = "Set of dconf profile files.";
+        internal = true;
+      };
+
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf (cfg.profiles != {}) {
+    environment.etc =
+      (mapAttrsToList mkDconfProfile cfg.profiles);
+  };
+
+}
diff --git a/nixos/modules/security/rngd.nix b/nixos/modules/security/rngd.nix
index c31e57e6f6f8..4d8fabc7696e 100644
--- a/nixos/modules/security/rngd.nix
+++ b/nixos/modules/security/rngd.nix
@@ -30,7 +30,8 @@ with lib;
 
       description = "Hardware RNG Entropy Gatherer Daemon";
 
-      serviceConfig.ExecStart = "${pkgs.rng_tools}/sbin/rngd -f";
+      serviceConfig.ExecStart = "${pkgs.rng_tools}/sbin/rngd -f -v" +
+        (if config.services.tcsd.enable then " --no-tpm=1" else "");
 
       restartTriggers = [ pkgs.rng_tools ];
     };
diff --git a/nixos/modules/services/hardware/tcsd.nix b/nixos/modules/services/hardware/tcsd.nix
new file mode 100644
index 000000000000..26b2c884b8f1
--- /dev/null
+++ b/nixos/modules/services/hardware/tcsd.nix
@@ -0,0 +1,139 @@
+# tcsd daemon.
+
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+let
+
+  cfg = config.services.tcsd;
+
+  tcsdConf = pkgs.writeText "tcsd.conf" ''
+    port = 30003
+    num_threads = 10
+    system_ps_file = ${cfg.stateDir}/system.data
+    # This is the log of each individual measurement done by the system.
+    # By re-calculating the PCR registers based on this information, even
+    # finer details about the measured environment can be inferred than
+    # what is available directly from the PCR registers.
+    firmware_log_file = /sys/kernel/security/tpm0/binary_bios_measurements
+    kernel_log_file = /sys/kernel/security/ima/binary_runtime_measurements
+    #firmware_pcrs = 0,1,2,3,4,5,6,7
+    #kernel_pcrs = 10,11
+    platform_cred = ${cfg.platformCred}
+    conformance_cred = ${cfg.conformanceCred}
+    endorsement_cred = ${cfg.endorsementCred}
+    #remote_ops = create_key,random
+    #host_platform_class = server_12
+    #all_platform_classes = pc_11,pc_12,mobile_12
+  '';
+
+in
+{
+
+  ###### interface
+
+  options = {
+
+    services.tcsd = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Whether to enable tcsd, a Trusted Computing management service
+          that provides TCG Software Stack (TSS).  The tcsd daemon is
+          the only portal to the Trusted Platform Module (TPM), a hardware
+          chip on the motherboard.
+        '';
+      };
+
+      user = mkOption {
+        default = "tss";
+        type = types.string;
+        description = "User account under which tcsd runs.";
+      };
+
+      group = mkOption {
+        default = "tss";
+        type = types.string;
+        description = "Group account under which tcsd runs.";
+      };
+
+      stateDir = mkOption {
+	default = "/var/lib/tpm";
+        type = types.path;
+	description = ''
+          The location of the system persistent storage file.
+          The system persistent storage file holds keys and data across
+          restarts of the TCSD and system reboots. 
+	'';
+      };
+
+      platformCred = mkOption {
+        default = "${cfg.stateDir}/platform.cert";
+        type = types.path;
+        description = ''
+	  Path to the platform credential for your TPM. Your TPM
+          manufacturer may have provided you with a set of credentials
+          (certificates) that should be used when creating identities
+          using your TPM. When a user of your TPM makes an identity,
+          this credential will be encrypted as part of that process.
+          See the 1.1b TPM Main specification section 9.3 for information
+          on this process. '';
+      };
+
+      conformanceCred = mkOption {
+        default = "${cfg.stateDir}/conformance.cert";
+        type = types.path;
+        description = ''
+          Path to the conformance credential for your TPM.
+          See also the platformCred option'';
+      };
+
+      endorsementCred = mkOption {
+        default = "${cfg.stateDir}/endorsement.cert";
+        type = types.path;
+        description = ''
+          Path to the endorsement credential for your TPM.
+          See also the platformCred option'';
+      };
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.trousers ];
+
+#    system.activationScripts.tcsd =
+#      ''
+#        chown ${cfg.user}:${cfg.group} ${tcsdConf}
+#      '';
+
+    systemd.services.tcsd = {
+      description = "TCSD";
+      after = [ "systemd-udev-settle.service" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.trousers ];
+      preStart =
+        ''
+        mkdir -m 0700 -p ${cfg.stateDir}
+        chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
+        '';
+      serviceConfig.ExecStart = "${pkgs.trousers}/sbin/tcsd -f -c ${tcsdConf}";
+    };
+
+    users.extraUsers = optionalAttrs (cfg.user == "tss") (singleton
+      { name = "tss";
+        group = "tss";
+        uid = config.ids.uids.nginx;
+      });
+
+    users.extraGroups = optionalAttrs (cfg.group == "tss") (singleton
+      { name = "tss";
+        gid = config.ids.gids.nginx;
+      });
+  };
+}
diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix
index e5e1c103c686..900df67b53aa 100644
--- a/nixos/modules/services/networking/dhcpd.nix
+++ b/nixos/modules/services/networking/dhcpd.nix
@@ -13,7 +13,7 @@ let
       default-lease-time 600;
       max-lease-time 7200;
       authoritative;
-      ddns-update-style ad-hoc;
+      ddns-update-style interim;
       log-facility local1; # see dhcpd.nix
 
       ${cfg.extraConfig}
@@ -108,22 +108,41 @@ in
 
   config = mkIf config.services.dhcpd.enable {
 
-    jobs.dhcpd =
+    users = {
+      extraUsers.dhcpd = {
+        uid = config.ids.uids.dhcpd;
+        description = "DHCP daemon user";
+      };
+    };
+
+    systemd.services.dhcpd =
       { description = "DHCP server";
 
-        startOn = "started network-interfaces";
-        stopOn = "stopping network-interfaces";
+        wantedBy = [ "multi-user.target" ];
 
-        script =
+        after = [ "network.target" ];
+
+        path = [ pkgs.dhcp ];
+
+        preStart =
           ''
             mkdir -m 755 -p ${stateDir}
 
             touch ${stateDir}/dhcpd.leases
 
-            exec ${pkgs.dhcp}/sbin/dhcpd -f -cf ${configFile} \
-                -lf ${stateDir}/dhcpd.leases \
-                ${toString cfg.interfaces}
+            mkdir -m 755 -p /run/dhcpd
+            chown dhcpd /run/dhcpd
           '';
+
+        serviceConfig =
+          { ExecStart = "@${pkgs.dhcp}/sbin/dhcpd dhcpd"
+              + " -pf /run/dhcpd/dhcpd.pid -cf ${configFile}"
+              + " -lf ${stateDir}/dhcpd.leases -user dhcpd -group nogroup"
+              + " ${toString cfg.interfaces}";
+            Restart = "always";
+            Type = "forking";
+            PIDFile = "/run/dhcpd/dhcpd.pid";
+          };
       };
 
   };
diff --git a/nixos/modules/services/web-servers/lighttpd/default.nix b/nixos/modules/services/web-servers/lighttpd/default.nix
index f0f59a664026..fc9487ab4859 100644
--- a/nixos/modules/services/web-servers/lighttpd/default.nix
+++ b/nixos/modules/services/web-servers/lighttpd/default.nix
@@ -9,9 +9,9 @@ let
   cfg = config.services.lighttpd;
 
   needModRedirect = cfg.gitweb.enable;
-  needModAlias = cfg.cgit.enable or cfg.gitweb.enable;
-  needModSetenv = cfg.cgit.enable or cfg.gitweb.enable;
-  needModCgi = cfg.cgit.enable or cfg.gitweb.enable;
+  needModAlias = cfg.cgit.enable || cfg.gitweb.enable;
+  needModSetenv = cfg.cgit.enable || cfg.gitweb.enable;
+  needModCgi = cfg.cgit.enable || cfg.gitweb.enable;
   needModStatus = cfg.mod_status;
   needModUserdir = cfg.mod_userdir;
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index df50ca8c905c..06bcb6dbb8be 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -35,6 +35,14 @@ in {
       description = "Enable Gnome 3 desktop manager.";
     };
 
+    services.xserver.desktopManager.gnome3.sessionPath = mkOption {
+      default = [];
+      example = "[ pkgs.gnome3.gpaste ]";
+      description = "Additional list of packages to be added to the session search path.
+                     Useful for gnome shell extensions or gsettings-conditionated autostart.";
+      apply = list: list ++ [ gnome3.gnome_shell ]; 
+    };
+
     environment.gnome3.packageSet = mkOption {
       default = pkgs.gnome3;
       example = literalExample "pkgs.gnome3_12";
@@ -86,10 +94,19 @@ in {
 
           export XDG_MENU_PREFIX=gnome
 
-          # Don't let epiphany depend upon gnome-shell
-          # Don't let gnome-session depend upon vino (for .desktop autostart condition)
+          ${concatMapStrings (p: ''
+            if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
+              export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
+            fi
+
+            if [ -d "${p}/lib/girepository-1.0" ]; then
+              export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
+              export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
+            fi
+          '') cfg.sessionPath}
+
           # Override default mimeapps
-          export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome3.gnome_shell}/share/gsettings-schemas/${gnome3.gnome_shell.name}:${gnome3.vino}/share/gsettings-schemas/${gnome3.vino.name}:${mimeAppsList}/share
+          export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share
 
           # Let gnome-control-center find gnome-shell search providers
           export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/
@@ -123,7 +140,7 @@ in {
         gnome3.gnome_settings_daemon
         gnome3.gnome_shell
         gnome3.gnome_themes_standard
-      ] ++ (removePackagesByName [
+      ] ++ cfg.sessionPath ++ (removePackagesByName [
         gnome3.baobab
         gnome3.empathy
         gnome3.eog
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
new file mode 100644
index 000000000000..9d14fc2e137c
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -0,0 +1,151 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.xserver.displayManager;
+  gdm = pkgs.gnome3_12.gdm; # gdm 3.10 not supported
+  gnome3 = config.environment.gnome3.packageSet;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.xserver.displayManager.gdm = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        example = true;
+        description = ''
+          Whether to enable GDM as the display manager.
+          <emphasis>GDM is very experimental and may render system unusable.</emphasis>
+        '';
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.gdm.enable {
+
+    services.xserver.displayManager.slim.enable = false;
+
+    users.extraUsers.gdm =
+      { name = "gdm";
+        uid = config.ids.uids.gdm;
+        group = "gdm";
+        home = "/run/gdm";
+        description = "GDM user";
+      };
+
+    users.extraGroups.gdm.gid = config.ids.gids.gdm;
+
+    services.xserver.displayManager.job =
+      { 
+        environment = {
+          GDM_X_SERVER = "${cfg.xserverBin} ${cfg.xserverArgs}";
+          GDM_SESSIONS_DIR = "${cfg.session.desktops}";
+          XDG_CONFIG_DIRS = "${gnome3.gnome_settings_daemon}/etc/xdg";
+        };
+        execCmd = "exec ${gdm}/sbin/gdm";
+      };
+
+    # Because sd_login_monitor_new requires /run/systemd/machines
+    systemd.services.display-manager.wants = [ "systemd-machined.service" ];
+    systemd.services.display-manager.after = [ "systemd-machined.service" ];
+
+    systemd.services.display-manager.path = [ gnome3.gnome_shell gnome3.caribou ];
+
+    services.dbus.packages = [ gdm ];
+
+    programs.dconf.profiles.gdm = "${gdm}/share/dconf/profile/gdm";
+
+    # GDM LFS PAM modules, adapted somehow to NixOS
+    security.pam.services = {
+      gdm-launch-environment.text = ''
+        auth     required       pam_succeed_if.so audit quiet_success user = gdm
+        auth     optional       pam_permit.so
+
+        account  required       pam_succeed_if.so audit quiet_success user = gdm
+        account  sufficient     pam_unix.so
+
+        password required       pam_deny.so
+
+        session  required       pam_succeed_if.so audit quiet_success user = gdm
+        session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
+        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       pam_keyinit.so force revoke
+        session  optional       pam_permit.so
+      '';
+
+     gdm.text = ''
+        auth     requisite      pam_nologin.so
+        auth     required       pam_env.so
+
+        auth     required       pam_succeed_if.so uid >= 1000 quiet
+        auth     optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
+        auth     sufficient     pam_unix.so nullok likeauth
+        auth     required       pam_deny.so
+
+        account  sufficient     pam_unix.so
+
+        password requisite      pam_unix.so nullok sha512
+
+        session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
+        session  required       pam_unix.so
+        session  required       pam_loginuid.so
+        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start
+      '';
+
+      gdm-password.text = ''
+        auth     requisite      pam_nologin.so
+        auth     required       pam_env.so envfile=${config.system.build.pamEnvironment}
+
+        auth     required       pam_succeed_if.so uid >= 1000 quiet
+        auth     optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
+        auth     sufficient     pam_unix.so nullok likeauth
+        auth     required       pam_deny.so 
+
+        account  sufficient     pam_unix.so
+        
+        password requisite      pam_unix.so nullok sha512
+
+        session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
+        session  required       pam_unix.so
+        session  required       pam_loginuid.so
+        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start
+      '';
+
+      gdm-autologin.text = ''
+        auth     requisite      pam_nologin.so
+
+        auth     required       pam_succeed_if.so uid >= 1000 quiet
+        auth     required       pam_permit.so
+
+        account  sufficient     pam_unix.so
+
+        password requisite      pam_unix.so nullok sha512
+
+        session  optional       pam_keyinit.so revoke
+        session  required       pam_env.so envfile=${config.system.build.pamEnvironment}
+        session  required       pam_unix.so
+        session  required       pam_loginuid.so
+        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+      '';
+
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/x11/window-managers/bspwm.nix b/nixos/modules/services/x11/window-managers/bspwm.nix
new file mode 100644
index 000000000000..d234a432e9a9
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/bspwm.nix
@@ -0,0 +1,29 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.bspwm;
+in
+
+{
+  options = {
+    services.xserver.windowManager.bspwm.enable = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = "Enable the bspwm window manager.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "bspwm";
+      start = "
+        ${pkgs.sxhkd}/bin/sxhkd &
+        ${pkgs.bspwm}/bin/bspwm
+      ";
+    };
+    environment.systemPackages = [ pkgs.bspwm ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index f27ba3661413..45a4e947e0aa 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -17,6 +17,7 @@ in
       ./xmonad.nix
       ./i3.nix
       ./herbstluftwm.nix
+      ./bspwm.nix
     ];
 
   options = {
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 82f24b05f729..604c35f46ce9 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -6,11 +6,11 @@
 let withSpotify = config.clementine.spotify or false;
 in
 stdenv.mkDerivation {
-  name = "clementine-1.2.1";
+  name = "clementine-1.2.3";
 
   src = fetchurl {
-    url = http://clementine-player.googlecode.com/files/clementine-1.2.1.tar.gz;
-    sha256 = "0kk5cjmb8nirx0im3c0z91af2k72zxi6lwzm6rb57qihya5nwmfv";
+    url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
+    sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
   };
 
   patches = [ ./clementine-1.2.1-include-paths.patch ];
@@ -40,6 +40,8 @@ stdenv.mkDerivation {
     usbmuxd
   ] ++ stdenv.lib.optional withSpotify libspotify;
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = "http://www.clementine-player.org";
     description = "A multiplatform music player";
@@ -47,6 +49,6 @@ stdenv.mkDerivation {
     platforms = platforms.linux;
     maintainers = [ maintainers.ttuegel ];
     # libspotify is unfree
-    hydraPlatforms = optional (!withSpotify) platforms.linux;
+    hydraPlatforms = optionals (!withSpotify) platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/mopidy-moped/default.nix b/pkgs/applications/audio/mopidy-moped/default.nix
index 8e3489a91223..c50a1798b47f 100644
--- a/pkgs/applications/audio/mopidy-moped/default.nix
+++ b/pkgs/applications/audio/mopidy-moped/default.nix
@@ -3,11 +3,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-moped-${version}";
 
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchurl {
     url = "https://github.com/martijnboland/moped/archive/v${version}.tar.gz";
-    sha256 = "0sjp8vr4yfyjx233gamhg0p67zjnlpc9yq3szbw897igsh23j2yr";
+    sha256 = "19f3asqx7wmla53nhrxzdwj6qlkjv2rcwh34jxp27bz7nkhn0ihv";
   };
 
   propagatedBuildInputs = [ mopidy ];
diff --git a/pkgs/applications/audio/mopidy/default.nix b/pkgs/applications/audio/mopidy/default.nix
index 10c7c1751ff8..bbdd1f05fde5 100644
--- a/pkgs/applications/audio/mopidy/default.nix
+++ b/pkgs/applications/audio/mopidy/default.nix
@@ -5,11 +5,11 @@
 pythonPackages.buildPythonPackage rec {
   name = "mopidy-${version}";
 
-  version = "0.19.0";
+  version = "0.19.3";
 
   src = fetchurl {
     url = "https://github.com/mopidy/mopidy/archive/v${version}.tar.gz";
-    sha256 = "10cnc1bipr0brk7478201cgm71lp5bci3qiaadyxv9hhcn0nmn9b";
+    sha256 = "0rjq69vqak1d6fhvih259wmwp50xgr6x0x5nd0hl6hlkbbysc8dp";
   };
 
   propagatedBuildInputs = with pythonPackages; [
diff --git a/pkgs/applications/editors/idea/pycharm.nix b/pkgs/applications/editors/idea/pycharm.nix
index d283686765ed..6a2064549bbc 100644
--- a/pkgs/applications/editors/idea/pycharm.nix
+++ b/pkgs/applications/editors/idea/pycharm.nix
@@ -16,6 +16,7 @@ let
       desktopName = "PyCharm";
       genericName = "Powerful Python and Django IDE";
       categories = "Application;Development;";
+      icon = "pycharm";
     };
 
     buildInputs = [ makeWrapper patchelf p7zip ];
@@ -39,8 +40,9 @@ let
     '';
 
     installPhase = ''
-      mkdir -vp "$out/bin" "$out/$name"
+      mkdir -vp "$out/bin" "$out/$name" "$out/share/pixmaps"
       cp -va . "$out/$name"
+      ln -s "$out/$name/bin/pycharm.png" "$out/share/pixmaps/"
 
       jdk="${jdk}/lib/openjdk"
       makeWrapper "$out/$name/bin/pycharm.sh" "$out/bin/pycharm" \
@@ -52,12 +54,12 @@ let
       cp -a "${desktopItem}"/* "$out"
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = "https://www.jetbrains.com/pycharm/";
       inherit description;
       inherit license;
-      maintainers = [ stdenv.lib.maintainers.jgeerds ];
-      platforms = stdenv.lib.platforms.linux;
+      maintainers = [ maintainers.jgeerds ];
+      platforms = platforms.linux;
     };
   };
 
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index 7972efe429a1..88912cbda55d 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,25 +1,37 @@
-{stdenv, fetchurl, panotools, cmake, wxGTK, libtiff, libpng, openexr, boost
-, pkgconfig, exiv2, gettext, ilmbase, enblendenfuse, autopanosiftc, mesa
-, freeglut, glew, libXmu, libXi, tclap }:
+{ stdenv, cmake, fetchurl, gnumake, pkgconfig
+, boost, gettext, tclap, wxGTK
+, freeglut, glew, libXi, libXmu, mesa
+, autopanosiftc, enblendenfuse, exiv2, ilmbase, lensfun, libpng, libtiff
+, openexr, panotools, perlPackages
+}:
 
 stdenv.mkDerivation rec {
-  name = "hugin-2011.4.0";
+  name = "hugin-2013.0.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/hugin/${name}.tar.bz2";
-    sha256 = "1bnxljgqxzfdz14l7y29wzi52x1a38mghsjavnr28fr4vfmqwjrf";
+    sha256 = "1mgbvg09xvf0zcm9jfv5lb65nd292l86ffa23yp4pzm6izaiwkj8";
   };
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
 
-#NIX_LDFLAGS = "-lrt";
+  buildInputs = [ boost gettext tclap wxGTK
+                  freeglut glew libXi libXmu mesa
+                  exiv2 ilmbase lensfun libtiff libpng openexr panotools
+                ];
 
-  buildInputs = [ panotools wxGTK libtiff libpng openexr boost tclap
-    exiv2 gettext ilmbase mesa freeglut glew libXmu libXi ];
+  # disable installation of the python scripting interface
+  cmakeFlags = [ "-DBUILD_HSI:BOOl=OFF" ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  propagatedUserEnvPackages = [ enblendenfuse autopanosiftc ];
+  enableParallelBuilding = true;
+
+  # commandline tools needed by the hugin batch processor
+  # you may have to tell hugin (in the preferences) where these binaries reside
+  propagatedUserEnvPackages = [ autopanosiftc enblendenfuse gnumake
+                                perlPackages.ImageExifTool
+                              ];
 
   postInstall = ''
     mkdir -p "$out/nix-support"
@@ -32,6 +44,5 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
index 61a8380b1c58..6a38698370d8 100644
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ b/pkgs/applications/graphics/kipi-plugins/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.kipi-plugins.org;
     inherit (kdelibs.meta) platforms;
     maintainers = with stdenv.lib.maintainers; [ viric urkud ];
+    broken = true; # it should be build from digikam sources, perhaps together
   };
 }
diff --git a/pkgs/applications/graphics/luminance-hdr/default.nix b/pkgs/applications/graphics/luminance-hdr/default.nix
new file mode 100644
index 000000000000..7558b0aef4b6
--- /dev/null
+++ b/pkgs/applications/graphics/luminance-hdr/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, cmake, fetchurl, pkgconfig, qt5, boost, exiv2, fftwFloat, gsl
+, ilmbase, lcms2, libraw, libtiff, openexr
+}:
+
+stdenv.mkDerivation rec {
+  name = "luminance-hdr-2.4.0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/qtpfsgui/${name}.tar.bz2";
+    sha256 = "00fldbcizrx8jcnjgq74n3zmbm27dxzl96fxa7q49689mfnlw08l";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  buildInputs = [ qt5 boost exiv2 fftwFloat gsl ilmbase lcms2 libraw libtiff openexr ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+    homepage = http://qtpfsgui.sourceforge.net/;
+    description = "A complete open source solution for HDR photography";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.hrdinka ];
+  };
+}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 79f91a1df418..24a3fcd4cea9 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -29,13 +29,6 @@ stdenv.mkDerivation rec {
       substituteInPlace */doc/manpage/blender.1.py --replace /usr/bin/python ${python}/bin/python3
     '';
 
-  patches = [(fetchpatch { # fix parallel builds
-    url = "https://developer.blender.org/D619?download=true";
-    sha256 = "18h4fqsbpwxzqz7qby18lrrbzqnyd5xnann3xcac5wddwv5wjb0f";
-    name = "D619.diff";
-  })];
-  patchFlags = "-p0";
-
   cmakeFlags =
     [ "-DOPENEXR_INC=${openexr}/include/OpenEXR"
       "-DWITH_OPENCOLLADA=OFF"
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 1b61d75ddf2e..039b4ac688bf 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -1,18 +1,15 @@
-{ stdenv, fetchgit, coreutils , unzip, which, pkgconfig , dbus
+{ stdenv, fetchurl, coreutils , unzip, which, pkgconfig , dbus
 , freetype, xdg_utils , libXext, glib, pango , cairo, libX11, libnotify
 , libxdg_basedir , libXScrnSaver, xproto, libXinerama , perl, gdk_pixbuf
 }:
 
 stdenv.mkDerivation rec {
-  rev = "6a3a855b48a3db64821d1cf8a91c5ee2815a2b2d";
-  name = "dunst-0-${stdenv.lib.strings.substring 0 7 rev}";
+  name = "dunst-1.1.0";
+  version = "1.1.0";
 
-  # 1.0.0 release doesn't include 100% CPU fix
-  # https://github.com/knopwob/dunst/issues/98
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/knopwob/dunst.git";
-    sha256 = "0m7yki16d72xm9n2m2fjszd8phqpn5b95q894cz75pmd0sv1j6bj";
+  src = fetchurl {
+    url = "https://github.com/knopwob/dunst/archive/v${version}.tar.gz";
+    sha256 = "0x95f57s0a96c4lifxdpf73v706iggwmdw8742mabbjnxq55l1qs";
   };
 
   patchPhase = ''
@@ -26,7 +23,7 @@ stdenv.mkDerivation rec {
     libXScrnSaver xproto libXinerama perl];
 
   buildPhase = ''
-    export VERSION=${rev};
+    export VERSION=${version};
     export PREFIX=$out;
     make dunst;
   '';
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 36b2f84aab54..da7be68be54f 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -1,14 +1,14 @@
-{ fetchurl, stdenv, texLive, python, makeWrapper, pkgconfig
-, libX11, qt4, enchant #, mythes, boost
+{ fetchurl, stdenv, pkgconfig, python, file, bc
+, qt4, hunspell, makeWrapper #, mythes, boost
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.7";
+  version = "2.1.1";
   name = "lyx-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
-    sha256 = "0qp8xqmlafib4hispjgl1friln0w3s05mi20sjfzaxnl6jkvv5q5";
+    url = "ftp://ftp.lyx.org/pub/lyx/stable/2.1.x/${name}.tar.xz";
+    sha256 = "1fir1dzzy7c92jf3a3psnd10c6widslk0852xk4svpl6phcg4nya";
   };
 
   configureFlags = [
@@ -18,18 +18,29 @@ stdenv.mkDerivation rec {
     #"--without-included-mythes" # such a small library isn't worth a separate package
   ];
 
+  # LaTeX is used from $PATH, as people often want to have it with extra pkgs
   buildInputs = [
-    texLive qt4 python makeWrapper pkgconfig
-    enchant # mythes boost
+    pkgconfig qt4 python file/*for libmagic*/ bc
+    hunspell makeWrapper # enchant
   ];
 
+  enableParallelBuilding = true;
   doCheck = true;
 
-  meta = {
+  # python is run during runtime to do various tasks
+  postFixup = ''
+    sed '1s:/usr/bin/python:${python}/bin/python:'
+
+    wrapProgram "$out/bin/lyx" \
+      --prefix PATH : '${python}/bin'
+  '';
+
+  meta = with stdenv.lib; {
     description = "WYSIWYM frontend for LaTeX, DocBook";
     homepage = "http://www.lyx.org";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.vcunat ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.vcunat ];
+    platforms = platforms.linux;
   };
 }
+
diff --git a/pkgs/applications/misc/xfontsel/default.nix b/pkgs/applications/misc/xfontsel/default.nix
index 215ea75105f8..9bf23885c175 100644
--- a/pkgs/applications/misc/xfontsel/default.nix
+++ b/pkgs/applications/misc/xfontsel/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Allows testing the fonts available in an X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/xlsfonts/default.nix b/pkgs/applications/misc/xlsfonts/default.nix
index 71d0a39296e9..d142af486b51 100644
--- a/pkgs/applications/misc/xlsfonts/default.nix
+++ b/pkgs/applications/misc/xlsfonts/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.x.org/;
     description = "Lists the fonts available in the X server";
-    licesnse = "free";
+    license = "free";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/applications/misc/xmobar/default.nix b/pkgs/applications/misc/xmobar/default.nix
index 18658475960f..8d73dfebb188 100644
--- a/pkgs/applications/misc/xmobar/default.nix
+++ b/pkgs/applications/misc/xmobar/default.nix
@@ -23,6 +23,6 @@ cabal.mkDerivation (self: {
     homepage = "http://xmobar.org";
     description = "A Minimalistic Text Based Status Bar";
     license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/applications/networking/browsers/dwb/default.nix b/pkgs/applications/networking/browsers/dwb/default.nix
index 438710f10245..ecb57d6fe6ca 100644
--- a/pkgs/applications/networking/browsers/dwb/default.nix
+++ b/pkgs/applications/networking/browsers/dwb/default.nix
@@ -23,11 +23,11 @@ stdenv.mkDerivation {
      --prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://portix.bitbucket.org/dwb/;
     description = "A lightweight web browser based on the webkit web browser engine and the gtk toolkit";
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-    maintainers = [ stdenv.lib.maintainers.pSub ];
-    license = "GPL";
+    platforms = platforms.mesaPlatforms;
+    maintainers = with maintainers;[ pSub ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 8a3ff788d420..7c5b983f1b49 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "2.4";
+  version = "2.6";
 
   src = fetchurl {
     url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "167ilbsd4y4zl493k6g4j5v85y784qz8z7qflzd1ccsjjznv7fm8";
+    sha256 = "1g6zm5fk3k52jk3vbbzj7rm0kanykd4zgxrqhlvj3qzj2nsn4a21";
   };
 
   # Nixos default ca bundle
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 55b7bd7486b4..e0700cf55c9d 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -25,9 +25,9 @@ let
     else if stdenv.system == "i686-linux" then "ld-linux.so.2"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
-  version = "2.6.2";
-  sha256 = if stdenv.system == "x86_64-linux" then "0j511nglqg2xngyl78ww7xk09v8yzhghk5cnj6slr9sldy83n7g9"
-    else if stdenv.system == "i686-linux" then "0n0y0wf313yjas4b89ag613jb80skby1qmfkyy1aazgjancf7v5i"
+  version = "2.10.27";
+  sha256 = if stdenv.system == "x86_64-linux" then "0l5fkmcr5jc0sm9xm4gshhdn3a7c9ff8qf60vjbiz3gn3n7asjvv"
+    else if stdenv.system == "i686-linux" then "0gn1lx97z4wr1clyjd3y8r6bvwni47rc84zl20s3lsalmm25srh7"
     else throw "Dropbox client for: ${stdenv.system} not supported!";
 
   # relative location where the dropbox libraries are stored
@@ -56,10 +56,9 @@ in stdenv.mkDerivation {
   name = "dropbox-${version}-bin";
   src = fetchurl {
     name = "dropbox-${version}.tar.gz";
-    # using version-specific URL so if the version is no longer available,
-    # build will fail without having to finish downloading first
-    # url = "http://www.dropbox.com/download?plat=lnx.${arch}";
-    url = "http://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
+    
+    # I found the URLs here: https://forums.dropbox.com/topic.php?id=118678
+    url = "https://d1ilhw0800yew8.cloudfront.net/client/dropbox-lnx.${arch}-${version}.tar.gz";
     inherit sha256;
   };
 
@@ -71,13 +70,13 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p "$out/${appdir}"
-    cp -r ".dropbox-dist/"* "$out/${appdir}/"
+    cp -r ".dropbox-dist/dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
     mkdir -p "$out/bin"
     ln -s "$out/${appdir}/dropbox" "$out/bin/dropbox"
 
     patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} \
       "$out/${appdir}/dropbox"
-
+    
     RPATH=${ldpath}:${gcc.gcc}/lib:$out/${appdir}
     echo "updating rpaths to: $RPATH"
     find "$out/${appdir}" -type f -a -perm +0100 \
@@ -87,8 +86,6 @@ in stdenv.mkDerivation {
     cp "${desktopItem}/share/applications/"* $out/share/applications
   '';
 
-  buildInputs = [ patchelf ];
-
   meta = {
     homepage = "http://www.dropbox.com";
     description = "Online stored folders (daemon version)";
diff --git a/pkgs/applications/networking/instant-messengers/kadu/default.nix b/pkgs/applications/networking/instant-messengers/kadu/default.nix
index be24878259fb..a74460c3e39b 100644
--- a/pkgs/applications/networking/instant-messengers/kadu/default.nix
+++ b/pkgs/applications/networking/instant-messengers/kadu/default.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation {
 
   configureFlags = "CPPFLAGS=-DQT_NO_DEBUG";
 
+  preConfigure = ''
+    export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${phonon}/lib64/pkgconfig:${phonon}/lib32/pkgconfig"
+  '';
+
   cmakeFlags = "-DENABLE_AUTODOWNLOAD=OFF -DBUILD_DESCRIPTION='NixOS' -DCMAKE_BUILD_TYPE=Release";
 
   prePatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
index 7f7d5abccfda..840416b7d175 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-latex/pidgin-latex-sf.nix
@@ -1,8 +1,10 @@
-args : with args; 
+args : with args;
+let version = "1.5.0";
+in
 rec {
   src = fetchurl {
-    url = mirror://sourceforge/pidgin-latex/pidgin-latex-1.2.1.tar.bz2;
-    sha256 = "19h76fwsx5y30l5wda2930k10r385aipngfljz5bdi7b9y52lii7";
+    url = "mirror://sourceforge/pidgin-latex/pidgin-latex_${version}.tar.bz2";
+    sha256 = "9c850aee90d7e59de834f83e09fa6e3e51b123f06e265ead70957608ada95441";
   };
 
   buildInputs = [texLive pkgconfig gtk imagemagick glib pidgin which];
@@ -33,8 +35,8 @@ rec {
 
   /* doConfigure should be specified separately */
   phaseNames = [ "preBuild" "doMakeInstall" "postInstall"];
-      
-  name = "pidgin-latex-1.2.1";
+
+  name = "pidgin-latex-${version}";
   meta = {
     description = "LaTeX rendering plugin for Pidgin IM";
     priority = "10";
diff --git a/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
new file mode 100644
index 000000000000..e4ca6d423cdc
--- /dev/null
+++ b/pkgs/applications/networking/p2p/eiskaltdcpp/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, cmake, pkgconfig, qt4, boost, bzip2, libX11, pcre, libidn, lua5, miniupnpc, aspell, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "eiskaltdcpp-2.2.9";
+
+  src = fetchurl {
+    url = "https://eiskaltdc.googlecode.com/files/${name}.tar.xz";
+    sha256 = "3d9170645450f9cb0a605278b8646fec2110b9637910d86fd27cf245cbe24eaf";
+  };
+
+  buildInputs = [ cmake pkgconfig qt4 boost bzip2 libX11 pcre libidn lua5 miniupnpc aspell gettext ];
+
+  cmakeFlags = ''
+    -DUSE_ASPELL=ON
+    -DUSE_QT_QML=ON
+    -DFREE_SPACE_BAR_C=ON
+    -DUSE_MINIUPNP=ON
+    -DDBUS_NOTIFY=ON
+    -DUSE_JS=ON
+    -DPERL_REGEX=ON
+    -DUSE_CLI_XMLRPC=ON
+    -DWITH_SOUNDS=ON
+    -DLUA_SCRIPT=ON
+    -DWITH_LUASCRIPTS=ON
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform program that uses the Direct Connect and ADC protocols";
+    homepage = https://code.google.com/p/eiskaltdc/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
new file mode 100644
index 000000000000..db79839ba669
--- /dev/null
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, wxGTK30, boost, lua, zlib, bzip2, xylib, readline, gnuplot }:
+
+let
+  name    = "fityk";
+  version = "1.2.9";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/fityk/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "1gl938nd2jyya8b3gzbagm1jab2mkc9zvr6zsg5d0vkfdqlk0pv1";
+  };
+
+  buildInputs = [wxGTK30 boost lua zlib bzip2 xylib readline gnuplot ];
+
+  meta = {
+    description = "Fityk -- curve fitting and peak fitting software";
+    license = "GPL2";
+    homepage = http://fityk.nieto.pl/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index d402a48c815c..29a7caf769be 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -1,20 +1,19 @@
-{ fetchurl, stdenv, cmake, perl, ruby }:
+{ fetchurl, stdenv, cmake, perl, ruby, boost, lua5_1, graphviz, libsigcxx
+, libunwind, elfutils
+}:
 
 stdenv.mkDerivation rec {
-  name = "simgrid-3.5";
+  version = "3.11.1";
+  name = "simgrid-${version}";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/28017/${name}.tar.gz";
-    sha256 = "1vd4pvrcyii1nfwyca3kpbwshbc965lfpn083zd8rigg6ydchq8y";
+    url = "https://gforge.inria.fr/frs/download.php/33686/${name}.tar.gz";
+    sha256 = "0mkrzxpf42lmn96khfl1791vram67r2nqsgmppd2yil889nyz5kp";
   };
 
-  /* FIXME: Ruby currently disabled because of this:
-
-     Linking C shared library ../src/.libs/libsimgrid.so
-     ld: cannot find -lruby-1.8.7-p72
-
-   */
-  buildInputs = [ cmake perl /* ruby */ ];
+  buildInputs = [ cmake perl ruby boost lua5_1 graphviz libsigcxx libunwind
+    elfutils
+    ];
 
   preConfigure =
     # Make it so that libsimgrid.so will be found when running programs from
@@ -22,8 +21,17 @@ stdenv.mkDerivation rec {
     '' export LD_LIBRARY_PATH="$PWD/src/.libs"
        export cmakeFlags="-Dprefix=$out"
 
-       # Enable tracing.
-       export cmakeFlags="$cmakeFlags -Denable_tracing=on"
+       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE
+         -isystem $(echo "${libsigcxx}/lib/"sigc++*/include)
+	 -isystem $(echo "${libsigcxx}/include"/sigc++* )
+	 "
+       export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${libsigcxx}/lib/"sigc++*)"
+
+       # Enable more functionality.
+       export cmakeFlags="$cmakeFlags -Denable_tracing=on -Denable_jedule=on
+         -Denable_latency_bound_tracking=on -Denable_lua=on
+	 -Denable_ns3=on -Denable_gtnets=on
+	 "
     '';
 
   makeFlags = "VERBOSE=1";
@@ -45,6 +53,7 @@ stdenv.mkDerivation rec {
   patchPhase =
     '' for i in "src/smpi/"*
        do
+         test -f "$i" &&
          sed -i "$i" -e's|/bin/bash|/bin/sh|g'
        done
 
diff --git a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
index 93ad94514018..ca329eddc66a 100644
--- a/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/github-backup/default.nix
@@ -21,5 +21,7 @@ cabal.mkDerivation (self: {
     description = "backs up everything github knows about a repository, to the repository";
     license = "GPL";
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 41b25401367c..c06aa0a036cd 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -22,11 +22,11 @@ assert portaudioSupport -> (portaudio != null);
 
 stdenv.mkDerivation rec {
   name = "aegisub-${version}";
-  version = "3.1.3";
+  version = "3.2.0";
 
   src = fetchurl {
     url = "http://ftp.aegisub.org/pub/releases/${name}.tar.xz";
-    sha256 = "0n2y5cggayr8246p2cvrz0ajlhhvmzcgsp7nljnm21jypk15pspg";
+    sha256 = "0nciw5p1aq94qwz5j4vbc06fywdjhazgh4qs6qr9iqj3n94gvrfr";
   };
 
   nativeBuildInputs = [ intltool ];
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 176d196b0647..1d668c4a28cf 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
       p="$out/bin/qemu-system-${if stdenv.system == "x86_64-linux" then "x86_64" else "i386"}"
       if [ -e "$p" ]; then
-        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "-enable-kvm"
+        makeWrapper "$p" $out/bin/qemu-kvm --add-flags "\$([ -e /dev/kvm ] && echo -enable-kvm)"
       fi
     '';
 
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix
new file mode 100644
index 000000000000..a4b90a04133b
--- /dev/null
+++ b/pkgs/applications/window-managers/bar/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, git, perl, libxcb, libXinerama, xcbutil, xcbutilwm, xcbutilkeysyms }:
+
+stdenv.mkDerivation rec {
+  name = "bar-1.0";
+
+  
+  src = fetchurl {
+    url = "https://github.com/LemonBoy/bar/archive/v1.0.tar.gz";
+    sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc";
+  };
+
+  buildInputs = [ libxcb git perl libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
+
+  prePatch = ''sed -i "s@/usr@$out@" Makefile'';
+
+  meta = {
+    description = "A lightweight xcb based bar";
+    homepage = "https://github.com/LemonBoy/bar";
+    maintainers = stdenv.lib.maintainers.meisternu;
+    license = "Custom";   
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix
new file mode 100644
index 000000000000..24789f37ba7e
--- /dev/null
+++ b/pkgs/applications/window-managers/bspwm/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "bspwm-0.8.9";
+  
+
+  src = fetchurl {
+    url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz";
+    sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55";
+  };
+
+  buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+    make PREFIX=$out
+  '';
+ 
+  installPhase = ''
+    make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "A tiling window manager based on binary space partitioning";
+    homepage = "http://github.com/baskerville/bspwm";
+    maintainers = stdenv.lib.maintainers.meisternu;
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/sxhkd/default.nix b/pkgs/applications/window-managers/sxhkd/default.nix
new file mode 100644
index 000000000000..03563a4f8121
--- /dev/null
+++ b/pkgs/applications/window-managers/sxhkd/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, asciidoc, libxcb, xcbutil, xcbutilkeysyms, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+  name = "sxhkd-0.5.4";
+ 
+  src = fetchurl {
+    url = "https://github.com/baskerville/sxhkd/archive/0.5.4.tar.gz";
+    sha256 = "de95f97155319ded41ece9403ac9e9f18bfdd914a09f553ab09b331bbfe5d332";
+  };
+  
+  buildInputs = [ asciidoc libxcb xcbutil xcbutilkeysyms xcbutilwm ];
+
+  buildPhase = ''
+     make PREFIX=$out
+  '';
+
+  installPhase = ''
+     make PREFIX=$out install
+  '';
+
+  meta = {
+    description = "Simple X hotkey daemon";
+    homepage = "http://github.com/baskerville/sxhkd";
+    license = "BSD";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index b9e62355a01c..080dfea2505f 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -275,6 +275,7 @@ rec {
   postgresql = [
     ftp://ftp.postgresql.org/pub/
     ftp://ftp-archives.postgresql.org/pub/
+    http://ftp.postgresql.org/pub/
   ];
 
   metalab = [
diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix
index 1ca3c65d3f25..409c98d8d3a3 100644
--- a/pkgs/build-support/release/ant-build.nix
+++ b/pkgs/build-support/release/ant-build.nix
@@ -11,6 +11,8 @@
 , ant ? pkgs.ant
 , jre ? pkgs.openjdk
 , hydraAntLogger ? pkgs.hydraAntLogger
+, zip ? pkgs.zip
+, unzip ? pkgs.unzip
 , ... } @ args:
 
 let
@@ -45,7 +47,10 @@ stdenv.mkDerivation (
          '' else stdenv.lib.concatMapStrings (j: ''
            cp -v ${j} $out/share/java
          '') jars }
+
+      . ${./functions.sh}
       for j in $out/share/java/*.jar ; do
+        canonicalizeJar $j
         echo file jar $j >> $out/nix-support/hydra-build-products
       done
     '';
@@ -95,7 +100,7 @@ stdenv.mkDerivation (
   {
     name = name + (if src ? version then "-" + src.version else "");
   
-    buildInputs = [ant jre] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
+    buildInputs = [ant jre zip unzip] ++ stdenv.lib.optional (args ? buildInputs) args.buildInputs ;
 
     postHook = ''
       mkdir -p $out/nix-support
diff --git a/pkgs/build-support/release/functions.sh b/pkgs/build-support/release/functions.sh
index 8ac67a196721..efc4e7970cc5 100644
--- a/pkgs/build-support/release/functions.sh
+++ b/pkgs/build-support/release/functions.sh
@@ -8,6 +8,29 @@ findTarballs() {
     echo "$1"
 }
 
+canonicalizeJarManifest() {
+	local input=$1
+	# http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html#Notes_on_Manifest_and_Signature_Files
+	(head -n 1 $input && tail -n +2 $input | sort | grep -v '^\s*$') > $input-tmp
+	mv $input-tmp $input
+}
+
+# Post-process a jar file to contain canonical timestamps and metadata ordering
+canonicalizeJar() {
+	local input=$1
+	local outer=$(pwd)
+	unzip -qq $input -d $input-tmp
+	canonicalizeJarManifest $input-tmp/META-INF/MANIFEST.MF
+	# Set all timestamps to Jan 1 1980, which is the earliest date the zip format supports...
+	find $input-tmp -exec touch -t 198001010000.00 {} +
+	rm $input
+	pushd $input-tmp
+	zip -q -r -o -X $outer/tmp-out.jar . 2> /dev/null
+	popd
+	rm -rf $input-tmp
+	mv $outer/tmp-out.jar $input
+}
+
 propagateImageName() {
     mkdir -p $out/nix-support
     cat "$diskImage"/nix-support/full-name > $out/nix-support/full-name
diff --git a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
index a6236f167440..b284186fa829 100644
--- a/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/3.10/core/dconf/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "dconf-${version}";
-  version = "0.18.0";
+  version = "0.20.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/dconf/0.18/${name}.tar.xz";
-    sha256 = "0mf921pnkhs8xn1dr2wxfq277vjsbkpl9cccv0gaz4460z31p6qh";
+    url = "mirror://gnome/sources/dconf/0.20/${name}.tar.xz";
+    sha256 = "22c046a247d05ea65ad181e3aef4009c898a5531f76c0181f8ec0dfef83447d9";
   };
 
   buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Projects/dconf;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
index 4e9acc822e74..f5dc7639f3a5 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountsservice, libX11
-, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection, dconf }:
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, xorg, dbus
+, intltool, accountsservice, libX11, gnome3, systemd, gnome_session
+, gtk, libcanberra_gtk3, pam, libtool, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   name = "gdm-3.12.2";
@@ -9,10 +10,33 @@ stdenv.mkDerivation rec {
     sha256 = "cc91fff5afd2a7c3e712c960a0b60744774167dcfc16f486372e1eb3c0aa1cc4";
   };
 
-  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountsservice dconf
-                  gobjectIntrospection libX11 gtk libcanberra_gtk3 pam libtool ];
+  # Only needed to make it build
+  preConfigure = ''
+    substituteInPlace ./configure --replace "/usr/bin/X" "${xorg.xorgserver}/bin/X"
+  '';
+
+  configureFlags = [ "--localstatedir=/var" "--with-systemd=yes"
+                     "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ];
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool
+                  accountsservice gnome3.dconf systemd
+                  gobjectIntrospection libX11 gtk
+                  libcanberra_gtk3 pam libtool ];
+
+  enableParallelBuilding = true;
+
+  preBuild = ''
+    substituteInPlace daemon/gdm-simple-slave.c --replace 'BINDIR "/gnome-session' '"${gnome_session}/bin/gnome-session'
+    substituteInPlace daemon/gdm-launch-environment.c --replace 'BINDIR "/dbus-launch' '"${dbus.tools}/bin/dbus-launch'
+  '';
+
+  # Disable Access Control because our X does not support FamilyServerInterpreted yet
+  patches = [ ./xserver_path.patch ./sessions_dir.patch ./disable_x_access_control.patch ./propagate_xdgconfigdirs.patch ];
 
   meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/GDM;
+    description = "A program that manages graphical display servers and handles graphical user logins";
     platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
new file mode 100644
index 000000000000..74d054f8c888
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/disable_x_access_control.patch
@@ -0,0 +1,18 @@
+diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
+index 1afe48e..e3d1ec2 100644
+--- a/daemon/gdm-slave.c
++++ b/daemon/gdm-slave.c
+@@ -291,9 +291,10 @@ gdm_slave_connect_to_x11_display (GdmSlave *slave)
+
+                 gdm_error_trap_push ();
+
+-                for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
++                /*for (i = 0; i < G_N_ELEMENTS (host_entries); i++) {
+                         XAddHost (slave->priv->server_display, &host_entries[i]);
+-                }
++                }*/
++               XDisableAccessControl(slave->priv->server_display);
+
+                 XSync (slave->priv->server_display, False);
+                 if (gdm_error_trap_pop ()) {
+
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
new file mode 100644
index 000000000000..20d7659c1e52
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/propagate_xdgconfigdirs.patch
@@ -0,0 +1,26 @@
+--- a/daemon/gdm-launch-environment.c	2014-08-03 12:05:39.380178964 +0200
++++ b/daemon/gdm-launch-environment.c	2014-08-03 12:08:26.570182517 +0200
+@@ -224,6 +224,7 @@
+                 NULL
+         };
+         char *system_data_dirs;
++        char *system_config_dirs;
+         int i;
+ 
+         load_lang_config_file (LANG_CONFIG_FILE,
+@@ -251,6 +252,15 @@
+                                               system_data_dirs));
+         g_free (system_data_dirs);
+ 
++        system_config_dirs = g_strjoinv (":", (char **) g_get_system_config_dirs ());
++
++        g_hash_table_insert (hash,
++                             g_strdup ("XDG_CONFIG_DIRS"),
++                             g_strdup_printf ("%s",
++                                              system_config_dirs));
++        g_free (system_config_dirs);
++
++
+         g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file));
+ 
+         g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
new file mode 100644
index 000000000000..b8fbad4d731d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/sessions_dir.patch
@@ -0,0 +1,17 @@
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index f759d2d..d154716 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -373,9 +373,12 @@ get_system_session_dirs (void)
+ #ifdef ENABLE_WAYLAND_SUPPORT
+                 DATADIR "/wayland-sessions/",
+ #endif
++                NULL,
+                 NULL
+         };
+ 
++        search_dirs[4] = getenv("GDM_SESSIONS_DIR") != NULL ? getenv("GDM_SESSIONS_DIR") : NULL;
++
+         return search_dirs;
+ }
+ 
diff --git a/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
new file mode 100644
index 000000000000..412daee9f270
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/core/gdm/xserver_path.patch
@@ -0,0 +1,15 @@
+--- a/daemon/gdm-server.c	2014-07-30 23:00:17.786841724 +0200
++++ b/daemon/gdm-server.c	2014-07-30 23:02:10.491239180 +0200
+@@ -322,7 +322,11 @@
+ fallback:
+ #endif
+ 
+-        server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        if (g_getenv("GDM_X_SERVER") != NULL) {
++            server->priv->command = g_strdup (g_getenv("GDM_X_SERVER"));
++        } else {
++            server->priv->command = g_strdup_printf (X_SERVER X_SERVER_ARG_FORMAT, verbosity, debug_options);
++        }
+ }
+ 
+ static gboolean
diff --git a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
index 002e8e7f7ff2..dbb19f77d21e 100644
--- a/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/gnome-shell/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
 , python, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
 , libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
+, hicolor_icon_theme
 , pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
 
@@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
       clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
       libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
       libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
+      hicolor_icon_theme gnome_icon_theme gnome_icon_theme_symbolic
       at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
 
   installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
diff --git a/pkgs/desktops/gnome-3/3.12/core/vino/default.nix b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
index 8580af9b8841..1692b2c9c96f 100644
--- a/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/core/vino/default.nix
@@ -1,4 +1,5 @@
 { stdenv, intltool, fetchurl, gtk3, glib, libsoup, pkgconfig, makeWrapper
+, hicolor_icon_theme, gnome3
 , libnotify, file, telepathy_glib, dbus_glib }:
 
 stdenv.mkDerivation rec {
@@ -14,11 +15,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   buildInputs = [ gtk3 intltool glib libsoup pkgconfig libnotify
+                  hicolor_icon_theme gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
                   dbus_glib telepathy_glib file makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/libexec/vino-server" \
-      --prefix XDG_DATA_DIRS : "$out/share:$GSETTINGS_SCHEMAS_PATH"
+      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/3.12/default.nix b/pkgs/desktops/gnome-3/3.12/default.nix
index ee1724e1e250..586c66e84941 100644
--- a/pkgs/desktops/gnome-3/3.12/default.nix
+++ b/pkgs/desktops/gnome-3/3.12/default.nix
@@ -237,5 +237,7 @@ rec {
 
   gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { };
 
+  gpaste = callPackage ./misc/gpaste { };
+
   gtkhtml = callPackage ./misc/gtkhtml { };
 }
diff --git a/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
new file mode 100644
index 000000000000..56a5f18544f7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.12/misc/gpaste/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, intltool, autoreconfHook, pkgconfig, vala, glib
+, pango, gtk3, gnome3, dbus, clutter, appdata-tools, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  version = "3.12.2";
+  name = "gpaste-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/Keruspe/GPaste/archive/v${version}.tar.gz";
+    sha256 = "665c1d228c02148a8a1a5675d352cd4397a02c0c9992af2e9f0258dcc6b812ec";
+  };
+
+  buildInputs = [ intltool autoreconfHook pkgconfig vala glib
+                  gtk3 gnome3.gnome_control_center dbus.libs
+                  clutter pango appdata-tools makeWrapper ];
+
+  preConfigure = "intltoolize -f";
+
+  configureFlags = [ "--with-controlcenterdir=$(out)/gnome-control-center/keybindings"
+                     "--with-dbusservicesdir=$(out)/share/dbus-1/services" ];
+
+  enableParallelBuilding = true;
+
+  preFixup = 
+    let
+      libPath = stdenv.lib.makeLibraryPath
+        [ glib gtk3 clutter pango ];
+    in
+    ''
+      for i in $out/libexec/gpaste/*; do
+        wrapProgram $i \
+          --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
+          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+          --prefix LD_LIBRARY_PATH : "${libPath}"
+      done
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Keruspe/GPaste;
+    description = "Clipboard management system with GNOME3 integration";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/cryptol/1.8.x.nix b/pkgs/development/compilers/cryptol/1.8.x.nix
index 42887b22ab07..4cf00ad3806d 100644
--- a/pkgs/development/compilers/cryptol/1.8.x.nix
+++ b/pkgs/development/compilers/cryptol/1.8.x.nix
@@ -111,5 +111,7 @@ stdenv.mkDerivation rec {
     license     = stdenv.lib.licenses.unfree;
     platforms   = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/ocaml/4.01.0.nix b/pkgs/development/compilers/ocaml/4.01.0.nix
index 79a7c8cd61f6..0f68014fad64 100644
--- a/pkgs/development/compilers/ocaml/4.01.0.nix
+++ b/pkgs/development/compilers/ocaml/4.01.0.nix
@@ -1,13 +1,24 @@
-{ stdenv, fetchurl, ncurses, x11 }:
+let
+  safeX11 = stdenv: !(stdenv.isArm || stdenv.isMips);
+in
+
+{ stdenv, fetchurl, ncurses, buildEnv, libX11, xproto, useX11 ? safeX11 stdenv }:
+
+if useX11 && !(safeX11 stdenv)
+  then throw "x11 not available in ocaml with arm or mips arch"
+  else # let the indentation flow
 
 let
-   useX11 = !stdenv.isArm && !stdenv.isMips;
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optionals optionalString;
 in
 
 stdenv.mkDerivation rec {
 
+  x11env = buildEnv { name = "x11env"; paths = [libX11 xproto]; };
+  x11lib = x11env + "/lib";
+  x11inc = x11env + "/include";
+
   name = "ocaml-4.01.0";
 
   src = fetchurl {
@@ -16,9 +27,11 @@ stdenv.mkDerivation rec {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ];
+  configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11lib
+                                                    "-x11include" x11inc ];
+
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
-  buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
+  buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
   installTargets = "install" + optionalString useNativeCompilers " installopt";
   preConfigure = ''
     CAT=$(type -tp cat)
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 68413e3e25d1..c25080229ffa 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, which, ocaml, perl, jdk
 , findlib, ocaml_ssl, openssl, cryptokit, camlzip, ulex
 , ocamlgraph, coreutils, zlib, ncurses, makeWrapper
-, gcc, binutils, gnumake } :
+, gcc, binutils, gnumake, nodejs, git } :
 
 stdenv.mkDerivation rec {
   pname = "opa";
-  version = "962";
+  version = "4308";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/MLstate/opalang/tarball/v${version}";
     name = "opa-${version}.tar.gz";
-    sha256 = "0g4kq2kxbld0iqlzb076b7g43d8fh4sfxam615z15mbk1jcvpf9l";
+    sha256 = "1farii9474i14ack6bpqm1jihs6i8pvwky3a7q8v8pbnl4i6lb5g";
   };
 
   # Paths so the opa compiler code generation will use the same programs as were
@@ -23,18 +23,27 @@ stdenv.mkDerivation rec {
     find . -type f -exec sed -i 's@/usr/bin/perl@${perl}/bin/perl@' {} \;
   '';
 
-  patches = [ ./locate.patch ./libdir.patch ];
+  patches = [];
 
   preConfigure = ''
     configureFlags="$configureFlags -prefix $out"
+    (
+    cat ./compiler/buildinfos/buildInfos.ml.pre
+    ./compiler/buildinfos/generate_buildinfos.sh . --release --version ./compiler/buildinfos/version_major.txt 
+    echo let opa_git_version = ${version}
+    echo 'let opa_git_sha = "xxxx"'
+    cat ./compiler/buildinfos/buildInfos.ml.post
+    )> ./compiler/buildinfos/buildInfos.ml
   '';
 
   dontAddPrefix = true;
 
-  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind -openssl ${openssl}/lib";
+  configureFlags = "-ocamlfind ${findlib}/bin/ocamlfind ";
 
   buildInputs = [ which ocaml perl jdk findlib ocaml_ssl openssl cryptokit camlzip ulex
-                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake ];
+                  ocamlgraph coreutils zlib ncurses makeWrapper gcc binutils gnumake
+		  nodejs git
+		  ];
 
   postInstall = ''
     # Have compiler use same tools for code generation as used to build it.
@@ -58,5 +67,14 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = [ "x86_64-linux" ];
+    # File "compiler/libqmlcompil/dbGen/schema_io.ml", line 199, characters 3-53:
+    # Error: Signature mismatch:
+    #        ...
+    #     The field `remove_edge_e' is required but not provided
+    #     The field `remove_edge' is required but not provided
+    #     The field `remove_vertex' is required but not provided
+    # Command exited with code 2.
+    # make: *** [node] Error 10
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index 1fb4318ebb92..f7c76d74aaeb 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -6,7 +6,7 @@ let
 
   fsrc = fetchurl {
     url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
-    sha256 = "0m9s6693svr57in8rhkvq9h2j0hiphki6jn0syzrzzs4ahb7i1gb";
+    sha256 = "0f4rhaqss9vfinpdjchxq75g343hz322cv0admjnl4g5g568wk3x";
   };
 
 in
@@ -118,5 +118,7 @@ stdenv.mkDerivation rec {
 
     maintainers = [ stdenv.lib.maintainers.kkallio ];
     platforms = stdenv.lib.platforms.linux;
+    hydraPlatforms = stdenv.lib.platforms.none;
+    broken = true;
   };
 }
diff --git a/pkgs/development/interpreters/erlang/R17.nix b/pkgs/development/interpreters/erlang/R17.nix
index b7cbfc486f5a..2aba55d36792 100644
--- a/pkgs/development/interpreters/erlang/R17.nix
+++ b/pkgs/development/interpreters/erlang/R17.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "erlang-" + version;
-  version = "17.0";
+  version = "17.1";
 
   src = fetchurl {
     url = "http://www.erlang.org/download/otp_src_${version}.tar.gz";
-    sha256 = "1nyaka6238vh4kdgaynmg8hm5y5zj7hhyl1c971d2pjylsm2nzr9";
+    sha256 = "0mn3p5rwvjfsxjnn1vrm0lxdq40wq9bmd9nibl6hqbfcnnrga1mq";
   };
 
   buildInputs =
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall = let
     manpages = fetchurl {
       url = "http://www.erlang.org/download/otp_doc_man_${version}.tar.gz";
-      sha256 = "16dkz3w1q4ahy37c8a8r2h8zjcr7cxz7pd9z38chbxf6frc2pxxc";
+      sha256 = "1aza6hxhh7ag2frsa0hg6il6ancjrbazvgz7jc2p7qrmy5vh48sa";
     };
   in ''
     ln -s $out/lib/erlang/lib/erl_interface*/bin/erl_call $out/bin/erl_call
diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix
index 940b667e86a8..64e21b755691 100644
--- a/pkgs/development/interpreters/python/2.6/default.nix
+++ b/pkgs/development/interpreters/python/2.6/default.nix
@@ -30,7 +30,7 @@ let
 
   buildInputs =
     optional (stdenv ? gcc && stdenv.gcc.libc != null) stdenv.gcc.libc ++
-    [ bzip2 ]
+    [ bzip2 openssl ]
     ++ optional zlibSupport zlib;
 
 
@@ -178,10 +178,7 @@ let
       deps = [ sqlite ];
     };
 
-    ssl = buildInternalPythonModule {
-      moduleName = "ssl";
-      deps = [ openssl ];
-    };
+    ssl = null;
 
     tkinter = buildInternalPythonModule {
       moduleName = "tkinter";
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index dfef29c558a5..d86e450477dc 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -10,7 +10,7 @@
 assert faacSupport -> faac != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.2.4";
+  name = "gst-plugins-bad-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "1jifzrgr4y3566d2lq30fibcd4rb8z8vpqnr2gihbmymr4z16k4q";
+    sha256 = "1y821785rvr6s79cmdll66hg6h740qa2n036xid20nvjyxabfb7z";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index b7d45caafb06..9ae5f194fa22 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.2.4";
+  name = "gst-plugins-base-1.4.0";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "0l35zh2cdv515zv6n4yif49y6jfxzlf73q6g7k2vr52s7zf76qjd";
+    sha256 = "07jcs08hjyban0amls5s0g6i4a1hwiir1llwpqzlwkmnhfwx9bjx";
   };
 
   nativeBuildInputs = [
@@ -29,4 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [ gstreamer ];
+
+  enableParallelBuilding = true;
 }
+
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 37b69efaa81e..a99c0f14ecc3 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.2.4";
+  name = "gstreamer-1.4.0";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "0aa93cqzrhm1z7rkzk343p251ifvih0d0l8xsng2ra3hg1xacz0y";
+    sha256 = "15f68pn2b47x543ih7hj59czgzl4af14j15bgjq8ky145gf9zhr3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 90233abe31c1..daf2ba59a406 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.2.0";
+  name = "gstreamer-editing-services-1.2.1";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "1n7nw8rqvwna9af55lggah44gdvfgld1igvgaya8glc37wpq89b0";
+    sha256 = "1c20zg272wgzqw4f93f1prkv9a9gdqxmf3kal29l0r2wmwhqnxpy";
   };
 
   nativeBuildInputs = [ pkgconfig python gobjectIntrospection ];
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index c45c1469cb36..44bb1c48c81d 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnonlin-1.2.0";
+  name = "gnonlin-1.2.1";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Non-Linear Multimedia Editing Plugins";
@@ -13,14 +13,14 @@ stdenv.mkDerivation rec {
       support for writing non-linear audio and video editing
       applications. It introduces the concept of a timeline.
     '';
-    license     = licenses.lgpl2Plus; 
+    license     = licenses.lgpl2Plus;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ iyzsong ];
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gnonlin/${name}.tar.xz";
-    sha256 = "15hyb0kg8sm92kj37cir4l3sa21b8zy4la1ccfhb358b4mf24vl7";
+    sha256 = "14zb3bz3xn40a2kns719amrr77cp6wyxddml621kyxc424ihcw3q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index d0f989a22d6b..69ffa81cb25b 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -7,7 +7,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.2.4";
+  name = "gst-plugins-good-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "1lr0yk352jrcgxadi9mvjgkli7xiwwnc15by71w5wbiw75l07jf9";
+    sha256 = "11965w4zr0jvrsnw33rbcc8d20dlh368rz0x16d2iypzhxwjx9j8";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 699f30a05308..ee4b3c392ddb 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -6,7 +6,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.2.4";
+  name = "gst-libav-1.4.0";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "0dzhs73vzl0kvrj0y6w8vg1bnh9mmcly5qnr94rbjbgwcc6lhs9a";
+    sha256 = "1073p7xdpr3pwyx37fnldfni908apnq3k9fbqmxf5wk3g1jplb68";
   };
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index d20f06635da9..fad8308703b3 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-python-1.2.0";
+  name = "gst-python-1.2.1";
 
   src = fetchurl {
     urls = [
       "${meta.homepage}/src/gst-python/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
-    sha256 = "09c6yls8ipbmwimdjr7xi3hvf2xa1xn1pv07855r7wfyzas1xbl1";
+    sha256 = "1m7gh017f70i5pg6k9sx54ihwaizvi2dlli687gi44n5zylya8w8";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   '';
 
   propagatedBuildInputs = [ gstreamer python ];
- 
+
   meta = {
     homepage = http://gstreamer.freedesktop.org;
 
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 7f161f141a9d..da37280af99e 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.2.4";
+  name = "gst-plugins-ugly-1.4.0";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "1a4fk0mv21az5wz2wz0xmd0w13y2nhhbdispsj2q6yym8xmggxjf";
+    sha256 = "0kblc5f4n0mh2sw8dhf7c9dg3wzm7a0p7pqpcff7n6ixy5hbn52k";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/haskell/Chart-cairo/default.nix b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
index eb0d5127c855..d2dea8158197 100644
--- a/pkgs/development/libraries/haskell/Chart-cairo/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-cairo/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-cairo";
-  version = "1.2.3";
-  sha256 = "1lbl1qvgm4yxslahlms6kzfrhh8s2fcdiwmvk1bs319k1fylia1b";
+  version = "1.2.4";
+  sha256 = "1ggqh3v14mwv9q1pmz3hbx7g1dvibfwl1vzvag92q7432q4pqm2z";
   buildDepends = [
     cairo Chart colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
index 34cbb5511ab2..002b762fbac2 100644
--- a/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-diagrams/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-diagrams";
-  version = "1.2.3";
-  sha256 = "08ps30vn9ljiyhgakwdbixn4csy504bsw3h5z9w1dxhn27wij772";
+  version = "1.2.4";
+  sha256 = "099frqvfjqqc7h3zr52saqyg37di0klr0y649afzxd7lj3d67mvw";
   buildDepends = [
     blazeSvg Chart colour dataDefaultClass diagramsCore diagramsLib
     diagramsPostscript diagramsSvg lens mtl operational SVGFonts text
@@ -20,5 +20,6 @@ cabal.mkDerivation (self: {
     description = "Diagrams backend for Charts";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart-gtk/default.nix b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
index 22ec14e22654..9dbb3c8ae9a9 100644
--- a/pkgs/development/libraries/haskell/Chart-gtk/default.nix
+++ b/pkgs/development/libraries/haskell/Chart-gtk/default.nix
@@ -4,15 +4,13 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart-gtk";
-  version = "1.2.3";
-  sha256 = "0vl9nh48pa7sdrqh5a6smmfallf4mwzrvspc2v94cpnrcnickiyq";
+  version = "1.2.4";
+  sha256 = "16dfmkls341cmk13j1z3rw2wxdvxr5rqsv1ff4qjhjak9j7hkqjq";
   buildDepends = [ cairo Chart ChartCairo colour gtk mtl time ];
   meta = {
     homepage = "https://github.com/timbod7/haskell-chart/wiki";
     description = "Utility functions for using the chart library with GTK";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/Chart/default.nix b/pkgs/development/libraries/haskell/Chart/default.nix
index fdb02f2ece3e..d5696a562da4 100644
--- a/pkgs/development/libraries/haskell/Chart/default.nix
+++ b/pkgs/development/libraries/haskell/Chart/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Chart";
-  version = "1.2.3";
-  sha256 = "067bahxig5xyd6zasi74k86qb7bxvbs3shjn9fbslhyckxg50q1j";
+  version = "1.2.4";
+  sha256 = "0zizrkxsligvxs5x5r2j0pynf6ncjl4mgyzbh1zfqgnz29frylh7";
   buildDepends = [
     colour dataDefaultClass lens mtl operational time
   ];
diff --git a/pkgs/development/libraries/haskell/HaskellNet/default.nix b/pkgs/development/libraries/haskell/HaskellNet/default.nix
new file mode 100644
index 000000000000..940bdbd678d3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HaskellNet/default.nix
@@ -0,0 +1,16 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, base64String, Crypto, mimeMail, mtl, network, text }:
+
+cabal.mkDerivation (self: {
+  pname = "HaskellNet";
+  version = "0.3.1";
+  sha256 = "168w6y5rizszq1428amxbkhww65sy3b7czxpjyrzzq3dhjn517nr";
+  buildDepends = [ base64String Crypto mimeMail mtl network text ];
+  meta = {
+    homepage = "https://github.com/jtdaugherty/HaskellNet";
+    description = "Client support for POP3, SMTP, and IMAP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/IntervalMap/default.nix b/pkgs/development/libraries/haskell/IntervalMap/default.nix
index 5c93b5ddfac5..774cbd8a19ea 100644
--- a/pkgs/development/libraries/haskell/IntervalMap/default.nix
+++ b/pkgs/development/libraries/haskell/IntervalMap/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "IntervalMap";
-  version = "0.3.0.2";
-  sha256 = "14pbq5n2cn9gxjkmqpnbn7dx9963wp3sdbb180wm9l5xqi338s0l";
+  version = "0.3.0.3";
+  sha256 = "11lxsjq9nw9mmj5ga0x03d8rgcx2s85kzi17d9cm7m28mq4dqdag";
   buildDepends = [ deepseq ];
   testDepends = [ Cabal deepseq QuickCheck ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index 8bf0c71183b0..fcd2689c5487 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1.5.2";
-  sha256 = "0afw7kwyaqw2lwgrdc1mamz45vmqy471fgsyvn9rhla8znr3a9nq";
+  version = "3.1.6.1";
+  sha256 = "1v560y0l1zpznbpw8zgb2j6zlcwi8i207xgzggzzd3p0v2m8955c";
   buildDepends = [
     binary deepseq mtl primitive transformers vector zlib
   ];
diff --git a/pkgs/development/libraries/haskell/bitarray/default.nix b/pkgs/development/libraries/haskell/bitarray/default.nix
index 64ff4b860aff..f063622e8def 100644
--- a/pkgs/development/libraries/haskell/bitarray/default.nix
+++ b/pkgs/development/libraries/haskell/bitarray/default.nix
@@ -4,14 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "bitarray";
-  version = "0.0.1";
-  sha256 = "01ijysisw70zaw70hx851axw48agfamdqj21rzzhdqd2ww6bwchb";
+  version = "0.0.1.1";
+  sha256 = "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj";
   meta = {
     homepage = "http://code.haskell.org/~bkomuves/";
     description = "Mutable and immutable bit arrays";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/bound/default.nix b/pkgs/development/libraries/haskell/bound/default.nix
new file mode 100644
index 000000000000..31e7b053add3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/bound/default.nix
@@ -0,0 +1,26 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, binary, bytes, cereal, comonad, doctest
+, filepath, hashable, hashableExtras, preludeExtras, profunctors
+, transformers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "bound";
+  version = "1.0.3";
+  sha256 = "0nfcxq87i9lzdkrg7g65cprn4rg9rhn9nyk2jpjh4c1rc7gdn0aq";
+  buildDepends = [
+    bifunctors binary bytes cereal comonad hashable hashableExtras
+    preludeExtras profunctors transformers
+  ];
+  testDepends = [
+    doctest filepath preludeExtras transformers vector
+  ];
+  meta = {
+    homepage = "http://github.com/ekmett/bound/";
+    description = "Making de Bruijn Succ Less";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/bson/default.nix b/pkgs/development/libraries/haskell/bson/default.nix
index 3fc297c77739..2bcace9da742 100644
--- a/pkgs/development/libraries/haskell/bson/default.nix
+++ b/pkgs/development/libraries/haskell/bson/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bson";
-  version = "0.3";
-  sha256 = "0787z6970lf93mgrsyqcilnkx5bynny88ag15z2f07l1rhva6ac4";
+  version = "0.3.1";
+  sha256 = "1kihsjws8sqb44gvilh1zxrqn2bml8gxq2bbanxqb7nr4ymwfkiv";
   buildDepends = [
     binary cryptohash dataBinaryIeee754 mtl network text time
   ];
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
   ];
   doCheck = false;
   meta = {
-    homepage = "http://github.com/selectel/bson-haskell";
+    homepage = "http://github.com/mongodb-haskell/bson";
     description = "BSON documents are JSON-like objects with a standard binary encoding";
     license = "unknown";
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/cabal-file-th/default.nix b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
index ccdd38264c82..2b1dcdd65583 100644
--- a/pkgs/development/libraries/haskell/cabal-file-th/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-file-th/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Template Haskell expressions for reading fields from a project's cabal file";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/categories/default.nix b/pkgs/development/libraries/haskell/categories/default.nix
index e8ff4f3e6a51..0f923d377380 100644
--- a/pkgs/development/libraries/haskell/categories/default.nix
+++ b/pkgs/development/libraries/haskell/categories/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Categories";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/cmdtheline/default.nix b/pkgs/development/libraries/haskell/cmdtheline/default.nix
index 6e38361b8226..8943eacdd217 100644
--- a/pkgs/development/libraries/haskell/cmdtheline/default.nix
+++ b/pkgs/development/libraries/haskell/cmdtheline/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Declarative command-line option parsing and documentation library";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/codec-image-devil/default.nix b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
index f1f3bd0a04bf..567e68b562de 100644
--- a/pkgs/development/libraries/haskell/codec-image-devil/default.nix
+++ b/pkgs/development/libraries/haskell/codec-image-devil/default.nix
@@ -11,5 +11,7 @@ cabal.mkDerivation (self: {
     description = "An FFI interface to the DevIL library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/concurrent-extra/default.nix b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
index 34bcfdea1a48..43230662fe07 100644
--- a/pkgs/development/libraries/haskell/concurrent-extra/default.nix
+++ b/pkgs/development/libraries/haskell/concurrent-extra/default.nix
@@ -18,5 +18,7 @@ cabal.mkDerivation (self: {
     description = "Extra concurrency primitives";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens-template/default.nix b/pkgs/development/libraries/haskell/data-lens-template/default.nix
index d167e8051cd4..923e11bf2e20 100644
--- a/pkgs/development/libraries/haskell/data-lens-template/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens-template/default.nix
@@ -12,5 +12,6 @@ cabal.mkDerivation (self: {
     description = "Utilities for Data.Lens";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/data-lens/default.nix b/pkgs/development/libraries/haskell/data-lens/default.nix
index a880db50a161..5fba0b4bde34 100644
--- a/pkgs/development/libraries/haskell/data-lens/default.nix
+++ b/pkgs/development/libraries/haskell/data-lens/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Used to be Haskell 98 Lenses";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/diagrams/postscript.nix b/pkgs/development/libraries/haskell/diagrams/postscript.nix
index 1ded949e7cee..6ecd2dd4a410 100644
--- a/pkgs/development/libraries/haskell/diagrams/postscript.nix
+++ b/pkgs/development/libraries/haskell/diagrams/postscript.nix
@@ -18,5 +18,7 @@ cabal.mkDerivation (self: {
     description = "Postscript backend for diagrams drawing EDSL";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/djinn/default.nix b/pkgs/development/libraries/haskell/djinn/default.nix
index fbe450df19a9..12ff67c7f20d 100644
--- a/pkgs/development/libraries/haskell/djinn/default.nix
+++ b/pkgs/development/libraries/haskell/djinn/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Generate Haskell code from a type";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dns/default.nix b/pkgs/development/libraries/haskell/dns/default.nix
index 5a1dc0cc8717..113e1af46eed 100644
--- a/pkgs/development/libraries/haskell/dns/default.nix
+++ b/pkgs/development/libraries/haskell/dns/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "dns";
-  version = "1.4.2";
-  sha256 = "1xfvc5amiqafb2z37jf47k5h8i2f4ygvck68nppi5fkwii5w74hr";
+  version = "1.4.3";
+  sha256 = "15v24f338w71dn3cxrzwyg04hk3vxvrvswbv3nnf2ggjgg46yq3i";
   buildDepends = [
     attoparsec binary blazeBuilder conduit conduitExtra iproute mtl
     network random resourcet
diff --git a/pkgs/development/libraries/haskell/download/default.nix b/pkgs/development/libraries/haskell/download/default.nix
index 20c50ba949bd..dc9ecd7145a4 100644
--- a/pkgs/development/libraries/haskell/download/default.nix
+++ b/pkgs/development/libraries/haskell/download/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "High-level file download based on URLs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/dstring/default.nix b/pkgs/development/libraries/haskell/dstring/default.nix
index d652b2591a88..eee03fd3fba1 100644
--- a/pkgs/development/libraries/haskell/dstring/default.nix
+++ b/pkgs/development/libraries/haskell/dstring/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Difference strings";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/enummapset/default.nix b/pkgs/development/libraries/haskell/enummapset/default.nix
index d5a0249e5289..97833ea94650 100644
--- a/pkgs/development/libraries/haskell/enummapset/default.nix
+++ b/pkgs/development/libraries/haskell/enummapset/default.nix
@@ -13,5 +13,7 @@ cabal.mkDerivation (self: {
     description = "IntMap and IntSet with Enum keys/elements";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/formatting/default.nix b/pkgs/development/libraries/haskell/formatting/default.nix
new file mode 100644
index 000000000000..1345ac76243c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/formatting/default.nix
@@ -0,0 +1,15 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, scientific, text, textFormat, time }:
+
+cabal.mkDerivation (self: {
+  pname = "formatting";
+  version = "5.2";
+  sha256 = "0lmbzm98idy7bzpvaqnk9j6181vakk553smqkf959gn5jdj95z3k";
+  buildDepends = [ scientific text textFormat time ];
+  meta = {
+    description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/git-date/default.nix b/pkgs/development/libraries/haskell/git-date/default.nix
index c4d135d2f151..1ee0095cd177 100644
--- a/pkgs/development/libraries/haskell/git-date/default.nix
+++ b/pkgs/development/libraries/haskell/git-date/default.nix
@@ -17,5 +17,7 @@ cabal.mkDerivation (self: {
     description = "Bindings to the date parsing from Git";
     license = self.stdenv.lib.licenses.gpl2;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/gtkglext/default.nix b/pkgs/development/libraries/haskell/gtkglext/default.nix
index 3953395a07a4..481e2ade84af 100644
--- a/pkgs/development/libraries/haskell/gtkglext/default.nix
+++ b/pkgs/development/libraries/haskell/gtkglext/default.nix
@@ -16,5 +16,7 @@ cabal.mkDerivation (self: {
     description = "Binding to the GTK+ OpenGL Extension";
     license = self.stdenv.lib.licenses.lgpl21;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/hashable-extras/default.nix b/pkgs/development/libraries/haskell/hashable-extras/default.nix
new file mode 100644
index 000000000000..70868a2e83a7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hashable-extras/default.nix
@@ -0,0 +1,22 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, bifunctors, doctest, filepath, genericDeriving, hashable
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hashable-extras";
+  version = "0.2.0.1";
+  sha256 = "09y2m0wpim7sl7n9qnkr0miwfsbvb1q8lm6shpcq0jxzxknbag7s";
+  buildDepends = [
+    bifunctors genericDeriving hashable transformers
+  ];
+  testDepends = [ doctest filepath ];
+  meta = {
+    homepage = "http://github.com/analytics/hashable-extras/";
+    description = "Higher-rank Hashable";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/haskeline-class/default.nix b/pkgs/development/libraries/haskell/haskeline-class/default.nix
index b01a4183cc8e..1b1519c43260 100644
--- a/pkgs/development/libraries/haskell/haskeline-class/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline-class/default.nix
@@ -12,5 +12,7 @@ cabal.mkDerivation (self: {
     description = "Class interface for working with Haskeline";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/haste-perch/default.nix b/pkgs/development/libraries/haskell/haste-perch/default.nix
new file mode 100644
index 000000000000..aec315995c82
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haste-perch/default.nix
@@ -0,0 +1,17 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, hasteCompiler, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "haste-perch";
+  version = "0.1.0.3";
+  sha256 = "1ad7kv47kq0sav49qnqdk76blk44sgjvk1zgn5k2bqvfnr26641j";
+  buildDepends = [ hasteCompiler transformers ];
+  meta = {
+    homepage = "https://github.com/agocorona/haste-perch";
+    description = "Create, navigate and modify the DOM tree with composable syntax, with the haste compiler";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hfsevents/default.nix b/pkgs/development/libraries/haskell/hfsevents/default.nix
index 0338c5be6674..30ec31e60e28 100644
--- a/pkgs/development/libraries/haskell/hfsevents/default.nix
+++ b/pkgs/development/libraries/haskell/hfsevents/default.nix
@@ -7,7 +7,6 @@ cabal.mkDerivation (self: {
   version = "0.1.5";
   sha256 = "0hp9jjj59smfcs51d9zjhyvgdbn46l0rl0jr98wbzg3qya0vwj5k";
   buildDepends = [ cereal mtl text ];
-  buildTools = [ ];
   meta = {
     homepage = "http://github.com/luite/hfsevents";
     description = "File/folder watching for OS X";
diff --git a/pkgs/development/libraries/haskell/hplayground/default.nix b/pkgs/development/libraries/haskell/hplayground/default.nix
new file mode 100644
index 000000000000..b12024f59452
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hplayground/default.nix
@@ -0,0 +1,21 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, dataDefault, hasteCompiler, hastePerch, monadsTf
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hplayground";
+  version = "0.1.0.2";
+  sha256 = "13lzw0fhv305zh2ry0d74y5k7vxppjlwsb8vi3iri5zpkkdpfhij";
+  buildDepends = [
+    dataDefault hasteCompiler hastePerch monadsTf transformers
+  ];
+  meta = {
+    homepage = "https://github.com/agocorona/hplayground";
+    description = "a client-side haskell framework that compiles to javascript with the haste compiler";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = with self.stdenv.lib.maintainers; [ tomberek ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec-expectations/default.nix b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
index 7706fbca50ff..a1267254f1a7 100644
--- a/pkgs/development/libraries/haskell/hspec-expectations/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-expectations/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hspec-expectations";
-  version = "0.6.0.1";
-  sha256 = "16013x7v6zly4h1spzarrlzskbjb19bljsj98fn8k21mzb82f7wl";
+  version = "0.6.1";
+  sha256 = "0rr1dn39daxi4kqnbz3k21slxpscz939bx16161rr1zp4v7m1lzj";
   buildDepends = [ HUnit ];
   testDepends = [ hspec HUnit markdownUnlit silently ];
   doCheck = false;
diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix
index 5e1c09c0456d..844b0a528056 100644
--- a/pkgs/development/libraries/haskell/hspec-meta/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hspec-meta";
-  version = "1.11.1";
-  sha256 = "1r6d2c8k9hbcb21sk9nqabwpkafb7adp405b6cjd6hgff63vc1dz";
+  version = "1.11.3";
+  sha256 = "0cydxq5kgi4cczf6q70853wz3x1ymrf9mkp7rp71yir5vrhg0b8p";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hspec/default.nix b/pkgs/development/libraries/haskell/hspec/default.nix
index 651048255a58..98cc9f1b97e4 100644
--- a/pkgs/development/libraries/haskell/hspec/default.nix
+++ b/pkgs/development/libraries/haskell/hspec/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hspec";
-  version = "1.11.1";
-  sha256 = "146d34pmjrynzsz84h1b7savhswk7nm18x7413f8awmplmnfpmny";
+  version = "1.11.3";
+  sha256 = "0kq2cds8khwq7nl60pvgk8v6s2fizfkpdplc1p0mj8zyr9gyz7i0";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix
index 9fa76dc9b4f0..9b57dbd7627f 100644
--- a/pkgs/development/libraries/haskell/hspec2/default.nix
+++ b/pkgs/development/libraries/haskell/hspec2/default.nix
@@ -1,14 +1,14 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
+{ cabal, ansiTerminal, async, deepseq, filepath, ghcPaths
 , hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
 , random, setenv, silently, tfRandom, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec2";
-  version = "0.4.0";
-  sha256 = "0x5y77qa33gx1shqhzdkdp0732lpkihvp5wh4826scg229haj5v5";
+  version = "0.4.1";
+  sha256 = "131w90yy7scxdpz7qa37n1wmyr8gvc5jqdsqkpg8s9pqham96w5v";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -16,9 +16,9 @@ cabal.mkDerivation (self: {
     QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   testDepends = [
-    ansiTerminal async deepseq doctest filepath ghcPaths
-    hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
-    setenv silently tfRandom time transformers
+    ansiTerminal async deepseq filepath ghcPaths hspecExpectations
+    hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
+    tfRandom time transformers
   ];
   meta = {
     homepage = "http://hspec.github.io/";
diff --git a/pkgs/development/libraries/haskell/http-attoparsec/default.nix b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
index 56043e385c53..233d268e24a7 100644
--- a/pkgs/development/libraries/haskell/http-attoparsec/default.nix
+++ b/pkgs/development/libraries/haskell/http-attoparsec/default.nix
@@ -7,6 +7,7 @@ cabal.mkDerivation (self: {
   version = "0.1.1";
   sha256 = "12l892fix11mrvm10awwvv31y59q5rb6gb0sqjp6l4p4ym9ngqa3";
   buildDepends = [ attoparsec httpTypes ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/tlaitinen/http-attoparsec";
     description = "Attoparsec parsers for http-types";
diff --git a/pkgs/development/libraries/haskell/jack/default.nix b/pkgs/development/libraries/haskell/jack/default.nix
index 30f87115d5d6..1abb8fd38472 100644
--- a/pkgs/development/libraries/haskell/jack/default.nix
+++ b/pkgs/development/libraries/haskell/jack/default.nix
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
     homepage = "http://www.haskell.org/haskellwiki/JACK";
     description = "Bindings for the JACK Audio Connection Kit";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
     maintainers = with self.stdenv.lib.maintainers; [ ertes ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/jpeg/default.nix b/pkgs/development/libraries/haskell/jpeg/default.nix
index 978439a7486e..c9a408dc2a02 100644
--- a/pkgs/development/libraries/haskell/jpeg/default.nix
+++ b/pkgs/development/libraries/haskell/jpeg/default.nix
@@ -4,14 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "jpeg";
-  version = "0.0.1";
-  sha256 = "848e047cfec5781a28f472e9cd27d016362211d88dd6adb4f826c37d29d8bba6";
+  version = "0.0.1.1";
+  sha256 = "1hnfapr21zpfyiywa4zzmwa518jzg73dnmaakrbvvpcmr4fvh9qx";
   buildDepends = [ mtl ];
   meta = {
     description = "A library for decoding JPEG files written in pure Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
   };
 })
diff --git a/pkgs/development/libraries/haskell/json-assertions/default.nix b/pkgs/development/libraries/haskell/json-assertions/default.nix
index dff1d78f7125..f287b60764e3 100644
--- a/pkgs/development/libraries/haskell/json-assertions/default.nix
+++ b/pkgs/development/libraries/haskell/json-assertions/default.nix
@@ -1,17 +1,15 @@
-# This file was auto-generated by cabal2nix. Please do NOT edit manually!
-
 { cabal, aeson, indexed, indexedFree, lens, text }:
 
 cabal.mkDerivation (self: {
   pname = "json-assertions";
-  version = "1.0.3";
-  sha256 = "1iklsgzfxgiizqn90r9wfzfaz84fj8by4arppp139w6ybzh3b0r8";
+  version = "1.0.4";
+  sha256 = "07qjbbwmph75s8ds1yfy17ww7x2wcc9bpjpv2bq9ggmzllf6g8l5";
   buildDepends = [ aeson indexed indexedFree lens text ];
   meta = {
     homepage = "http://github.com/ocharles/json-assertions.git";
     description = "Test that your (Aeson) JSON encoding matches your expectations";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = with self.stdenv.lib.maintainers; [ ocharles ];
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
   };
 })
diff --git a/pkgs/development/libraries/haskell/lambdabot/default.nix b/pkgs/development/libraries/haskell/lambdabot/default.nix
index 88cd164ae4e9..b869c59d1310 100644
--- a/pkgs/development/libraries/haskell/lambdabot/default.nix
+++ b/pkgs/development/libraries/haskell/lambdabot/default.nix
@@ -31,6 +31,6 @@ cabal.mkDerivation (self: {
     license = "GPL";
     platforms = self.ghc.meta.platforms;
     hydraPlatforms = self.stdenv.lib.platforms.none;
-    broken = true;
+    broken = self.stdenv.lib.versionOlder "7.7" self.ghc.version;
   };
 })
diff --git a/pkgs/development/libraries/haskell/list-tries/default.nix b/pkgs/development/libraries/haskell/list-tries/default.nix
index 3f332dd4083e..f14e202d2267 100644
--- a/pkgs/development/libraries/haskell/list-tries/default.nix
+++ b/pkgs/development/libraries/haskell/list-tries/default.nix
@@ -9,6 +9,7 @@ cabal.mkDerivation (self: {
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary dlist ];
+  jailbreak = true;
   meta = {
     homepage = "http://iki.fi/matti.niemenmaa/list-tries/";
     description = "Tries and Patricia tries: finite sets and maps for list keys";
diff --git a/pkgs/development/libraries/haskell/mwc-random/default.nix b/pkgs/development/libraries/haskell/mwc-random/default.nix
index bb50a4a2607f..d64c74c68a87 100644
--- a/pkgs/development/libraries/haskell/mwc-random/default.nix
+++ b/pkgs/development/libraries/haskell/mwc-random/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mwc-random";
-  version = "0.13.1.2";
-  sha256 = "0b0amp9nv750azg3jc5yyfpdaqzh0z09jp41hwgrzr0j6kq1ygqi";
+  version = "0.13.2.0";
+  sha256 = "07nbbn9ainzsqg2hlw6l9vsfqylfcqs1apgvpnhdgids2gvmrkaa";
   buildDepends = [ primitive time vector ];
   testDepends = [
     HUnit QuickCheck statistics testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/pure-cdb/default.nix b/pkgs/development/libraries/haskell/pure-cdb/default.nix
new file mode 100644
index 000000000000..871825db1218
--- /dev/null
+++ b/pkgs/development/libraries/haskell/pure-cdb/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, binary, mtl, testSimple, Unixutils, vector }:
+
+cabal.mkDerivation (self: {
+  pname = "pure-cdb";
+  version = "0.1";
+  sha256 = "0fxfhd73h5frnjpk617lspwf17wldsrd5a5cxar5y3a8wi0i4b8c";
+  buildDepends = [ binary mtl vector ];
+  testDepends = [ mtl testSimple Unixutils vector ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/pure-cdb";
+    description = "Another pure-haskell CDB (Constant Database) implementation";
+    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 5d6c54f4b837..c5087a692f9a 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.4";
-  sha256 = "02mxg9bsyzhr7xclf7jdsjjwcc6d05ibji64n9783rc1i9clc2gg";
+  version = "0.5.4.1";
+  sha256 = "1d2i2sspr1dbzjznk70flvnik0b2m226a3z0rkqwrjjbl92bhgwb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -22,5 +22,6 @@ cabal.mkDerivation (self: {
     description = "PureScript Programming Language Compiler";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/regex-applicative/default.nix b/pkgs/development/libraries/haskell/regex-applicative/default.nix
index 4da323419a15..1e3b5b96346c 100644
--- a/pkgs/development/libraries/haskell/regex-applicative/default.nix
+++ b/pkgs/development/libraries/haskell/regex-applicative/default.nix
@@ -1,16 +1,16 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, HUnit, smallcheck, tasty, tastyHunit, tastySmallcheck
+{ cabal, smallcheck, tasty, tastyHunit, tastySmallcheck
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "regex-applicative";
-  version = "0.3.0.2";
-  sha256 = "0bzf8lnb5568glppk8bajh4c3a08baav5r0qhyn3vnfybi02c4d2";
+  version = "0.3.0.3";
+  sha256 = "111j6x1j7bx5viz2hmgyvcdwfrv5x3f9mifx888hyd3hz850wpwc";
   buildDepends = [ transformers ];
   testDepends = [
-    HUnit smallcheck tasty tastyHunit tastySmallcheck transformers
+    smallcheck tasty tastyHunit tastySmallcheck transformers
   ];
   meta = {
     homepage = "https://github.com/feuerbach/regex-applicative";
diff --git a/pkgs/development/libraries/haskell/repr/default.nix b/pkgs/development/libraries/haskell/repr/default.nix
index 5ccce3799bca..fe075fba1fe6 100644
--- a/pkgs/development/libraries/haskell/repr/default.nix
+++ b/pkgs/development/libraries/haskell/repr/default.nix
@@ -14,5 +14,6 @@ cabal.mkDerivation (self: {
     description = "Render overloaded expressions to their textual representation";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/libraries/haskell/rest-core/default.nix b/pkgs/development/libraries/haskell/rest-core/default.nix
index 743717305697..134c39f9f246 100644
--- a/pkgs/development/libraries/haskell/rest-core/default.nix
+++ b/pkgs/development/libraries/haskell/rest-core/default.nix
@@ -18,6 +18,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     HUnit mtl testFramework testFrameworkHunit unorderedContainers
   ];
+  jailbreak = true;
   meta = {
     description = "Rest API library";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/rest-gen/default.nix b/pkgs/development/libraries/haskell/rest-gen/default.nix
index fb27f40cc2b2..afa2f612c014 100644
--- a/pkgs/development/libraries/haskell/rest-gen/default.nix
+++ b/pkgs/development/libraries/haskell/rest-gen/default.nix
@@ -20,6 +20,7 @@ cabal.mkDerivation (self: {
   testDepends = [
     haskellSrcExts HUnit restCore testFramework testFrameworkHunit
   ];
+  jailbreak = true;
   meta = {
     description = "Documentation and client generation from rest definition";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/socket-io/default.nix b/pkgs/development/libraries/haskell/socket-io/default.nix
index 028bc829926a..19d6ff3a667a 100644
--- a/pkgs/development/libraries/haskell/socket-io/default.nix
+++ b/pkgs/development/libraries/haskell/socket-io/default.nix
@@ -12,6 +12,7 @@ cabal.mkDerivation (self: {
     aeson attoparsec engineIo mtl stm text transformers
     unorderedContainers vector
   ];
+  jailbreak = true;
   meta = {
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/text-icu/default.nix b/pkgs/development/libraries/haskell/text-icu/default.nix
index 4a7db1560ea7..b47672e12a9c 100644
--- a/pkgs/development/libraries/haskell/text-icu/default.nix
+++ b/pkgs/development/libraries/haskell/text-icu/default.nix
@@ -14,11 +14,12 @@ cabal.mkDerivation (self: {
     testFrameworkQuickcheck2 text
   ];
   extraLibraries = [ icu ];
-  doCheck = !self.stdenv.isDarwin;
   meta = {
     homepage = "https://github.com/bos/text-icu";
     description = "Bindings to the ICU library";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.linux;
+    broken = self.stdenv.isDarwin;     # https://github.com/bos/text-icu/issues/6
   };
 })
diff --git a/pkgs/development/libraries/haskell/transformers-base/default.nix b/pkgs/development/libraries/haskell/transformers-base/default.nix
index 5b50af7712ac..d7b9f53951c5 100644
--- a/pkgs/development/libraries/haskell/transformers-base/default.nix
+++ b/pkgs/development/libraries/haskell/transformers-base/default.nix
@@ -1,12 +1,12 @@
 # This file was auto-generated by cabal2nix. Please do NOT edit manually!
 
-{ cabal, transformers }:
+{ cabal, stm, transformers }:
 
 cabal.mkDerivation (self: {
   pname = "transformers-base";
-  version = "0.4.2";
-  sha256 = "030w5p209bam77z6grq6279qwvwip1ax7phrc5wanxrshiw8699m";
-  buildDepends = [ transformers ];
+  version = "0.4.3";
+  sha256 = "0bklr7piiipnh99jnqx262pdyb9hzk852d6hzk5sqppvz5ndcf4y";
+  buildDepends = [ stm transformers ];
   meta = {
     homepage = "https://github.com/mvv/transformers-base";
     description = "Lift computations from the bottom of a transformer stack";
diff --git a/pkgs/development/libraries/haskell/vcsgui/default.nix b/pkgs/development/libraries/haskell/vcsgui/default.nix
index 0a8d8a4caada..31e5faa2cf88 100644
--- a/pkgs/development/libraries/haskell/vcsgui/default.nix
+++ b/pkgs/development/libraries/haskell/vcsgui/default.nix
@@ -13,6 +13,6 @@ cabal.mkDerivation (self: {
     homepage = "https://github.com/forste/haskellVCSGUI";
     description = "GUI library for source code management systems";
     license = "GPL";
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index 665b009f4f8f..703a7cf907a6 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "3.0.0.6";
-  sha256 = "0085v0gnjr4yv4s341jyc8cf9l69rmj9rrnr6h2lyhq5hx1i1lw8";
+  version = "3.0.0.7";
+  sha256 = "16zsad273lz49lac00pwg701lyr70kv4cwmk258szhmnjvkcnbb7";
   buildDepends = [
     autoUpdate blazeBuilder caseInsensitive hashable httpDate httpTypes
     network simpleSendfile streamingCommons text unixCompat void wai
diff --git a/pkgs/development/libraries/haskell/webkit/default.nix b/pkgs/development/libraries/haskell/webkit/default.nix
index 7993213e3e93..0d47aeb79551 100644
--- a/pkgs/development/libraries/haskell/webkit/default.nix
+++ b/pkgs/development/libraries/haskell/webkit/default.nix
@@ -15,6 +15,6 @@ cabal.mkDerivation (self: {
     homepage = "http://projects.haskell.org/gtk2hs/";
     description = "Binding to the Webkit library";
     license = self.stdenv.lib.licenses.lgpl21;
-    platforms = self.ghc.meta.platforms;
+    platforms = self.stdenv.lib.platforms.linux;
   };
 })
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 16dc0b6857f4..9cc7a380f66a 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.3.2";
-  sha256 = "05h7m0v92b8js71kgkvqc9nzpwa8hhxp052pknbvcfv3yn3spsx9";
+  version = "1.2.5";
+  sha256 = "0qk6qqigrqygczsnfrpg7psfz6gy5rqm9lfbhzaw64n4jklmzw3n";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
diff --git a/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
index cdd928248ee2..a77323677109 100644
--- a/pkgs/development/libraries/haskell/zip-archive/0.2.3.2.nix
+++ b/pkgs/development/libraries/haskell/zip-archive/0.2.3.4.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "zip-archive";
-  version = "0.2.3.2";
-  sha256 = "1y69sk6jyw1klgpl6bcamq1i9wy1536hz9x4s9b8n375sbhj10f1";
+  version = "0.2.3.4";
+  sha256 = "1c589cpl1jax1r60b92az1800b67zrva3dndhv9hcxidlgyf46gp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ binary digest filepath mtl text time zlib ];
diff --git a/pkgs/development/libraries/ibus/default.nix b/pkgs/development/libraries/ibus/default.nix
index 905f11dfdc22..6b426169a708 100644
--- a/pkgs/development/libraries/ibus/default.nix
+++ b/pkgs/development/libraries/ibus/default.nix
@@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
     libnotify isocodes gobjectIntrospection
   ];
 
-  preBuild = "patchShebangs ./scripts";
+  preBuild = ''
+    patchShebangs ./scripts
+    substituteInPlace data/dconf/Makefile --replace "dconf update" "echo"
+  '';
 
   preFixup = ''
     for f in "$out"/bin/*; do
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 656c91de6151..7ed9794011cd 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -40,10 +40,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = http://www.remotesensing.org/libtiff/;
-    license = "bsd";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.libtiff;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index 191f9da99d10..f8c437f2b0f1 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
     md5 = "466aca9e43e43df868f4385af50e32f6";
   };
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; problems on hydra
 
   # Fixes build error: <flex>/lib/libfl.so: undefined reference to `yylex'.
   # Patch exists in upstream git repo, so it can be removed on the next version
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 3b6ef1acd983..82cff159a56a 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -8,7 +8,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.4.3";
+  name = "webkitgtk-2.4.4";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "1b6fm1c5kk6vl0llalsd605raqs152hn14635kjwcb6iq7mc6qlq";
+    sha256 = "1f9sypnnxxcml9vj79g9hf2di52pg5kggyc3wgsy3q9a6mzgrjsq";
   };
 
   patches = [ ./webcore-svg-libxml-cflags.patch ];
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
index 33f42854c2c3..faa17c08363f 100644
--- a/pkgs/development/libraries/wxGTK-3.0/default.nix
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -8,14 +8,14 @@ assert withMesa -> mesa != null;
 with stdenv.lib;
 
 let
-  version = "3.0.0";
+  version = "3.0.1";
 in
 stdenv.mkDerivation {
   name = "wxwidgets-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "11dz8pn1nm79i054l05rzyk4vqxw7v0x6j78pj6mvr5nphwhad7z";
+    sha256 = "1xf5s8cnq6xr0r6l0y9cn1pjg961xbycl4afhjrqzbsnxiwinrxx";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/xylib/default.nix b/pkgs/development/libraries/xylib/default.nix
new file mode 100644
index 000000000000..8fff5f393383
--- /dev/null
+++ b/pkgs/development/libraries/xylib/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, boost, zlib, bzip2 }:
+
+let
+  name    = "xylib";
+  version = "1.3";
+in
+stdenv.mkDerivation {
+  name = "${name}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/wojdyr/xylib/releases/download/v${version}/${name}-${version}.tar.bz2";
+    sha256 = "09j426qjbg3damch1hfw16j992kn2hj8gs4lpvqgfqdw61kvqivh";
+  };
+
+  buildInputs = [boost zlib bzip2 ];
+
+  meta = {
+    description = "xylib is a portable library for reading files that contain x-y data from powder diffraction, spectroscopy and other experimental methods.";
+    license = "LGPL";
+    homepage = http://xylib.sourceforge.net/;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/pcre/default.nix b/pkgs/development/ocaml-modules/pcre/default.nix
index 6df221a9244c..b6c2488b2502 100644
--- a/pkgs/development/ocaml-modules/pcre/default.nix
+++ b/pkgs/development/ocaml-modules/pcre/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, pcre, ocaml, findlib}:
 
 stdenv.mkDerivation {
-  name = "ocaml-pcre-7.0.4";
+  name = "ocaml-pcre-7.1.1";
 
   src = fetchurl {
-    url = https://bitbucket.org/mmottl/pcre-ocaml/downloads/pcre-ocaml-7.0.4.tar.gz;
-    sha256 = "0h2qlza7jkzgrglw1k0fydpbil0dgpv526kxyyd1apdbyzhb0mpw";
+    url = https://github.com/mmottl/pcre-ocaml/releases/download/v7.1.1/pcre-ocaml-7.1.1.tar.gz;
+    sha256 = "0nj4gb6hjjjmz5gnl9cjrh4w82rw8cvbwnk0hxhfgfd25p9k50n3";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
new file mode 100644
index 000000000000..2d2a2ed51511
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchurl, python, pkgconfig, qt5, sip, pythonDBus, lndir, makeWrapper }:
+
+let
+  version = "5.3";
+in stdenv.mkDerivation {
+  name = "PyQt-${version}";
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for Qt5";
+    homepage    = http://www.riverbankcomputing.co.uk;
+    license     = licenses.gpl3;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt-gpl-${version}.tar.gz";
+    sha256 = "0xc1cc68fi989rfybibimhhi3mqn3b93n0p3jdqznzabgilcb1m2";
+  };
+
+  buildInputs = [ python pkgconfig makeWrapper lndir qt5 ];
+
+  propagatedBuildInputs = [ sip ];
+
+  configurePhase = ''
+    mkdir -p $out
+    lndir ${pythonDBus} $out
+
+    export PYTHONPATH=$PYTHONPATH:$out/lib/${python.libPrefix}/site-packages
+
+    substituteInPlace configure.py \
+      --replace 'install_dir=pydbusmoddir' "install_dir='$out/lib/${python.libPrefix}/site-packages/dbus/mainloop'"
+
+    ${python.executable} configure.py  -w \
+      --confirm-license \
+      --dbus=$out/include/dbus-1.0 \
+      --no-qml-plugin \
+      --bindir=$out/bin \
+      --destdir=$out/lib/${python.libPrefix}/site-packages \
+      --sipdir=$out/share/sip \
+      --designer-plugindir=$out/plugins/designer
+  '';
+
+  postInstall = ''
+    for i in $out/bin/*; do
+      wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+    done
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/development/python-modules/sip/4.16.nix b/pkgs/development/python-modules/sip/4.16.nix
new file mode 100644
index 000000000000..aa1fb1984385
--- /dev/null
+++ b/pkgs/development/python-modules/sip/4.16.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, python }:
+
+stdenv.mkDerivation rec {
+  name = "sip-4.16.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
+    sha256 = "1hknl71ij924syc9ik9nk4z051q3n75y7w27q9i07awpd39sp7m4";
+  };
+
+  configurePhase = ''
+    ${python.executable} ./configure.py \
+      -d $out/lib/${python.libPrefix}/site-packages \
+      -b $out/bin -e $out/include
+  '';
+
+  buildInputs = [ python ];
+
+  meta = with stdenv.lib; {
+    description = "Creates C++ bindings for Python modules";
+    homepage    = "http://www.riverbankcomputing.co.uk/";
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lovek323 sander urkud ];
+    platforms   = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/build-managers/rebar/default.nix b/pkgs/development/tools/build-managers/rebar/default.nix
index b57c4c263f56..d10d9d6d1a3a 100644
--- a/pkgs/development/tools/build-managers/rebar/default.nix
+++ b/pkgs/development/tools/build-managers/rebar/default.nix
@@ -2,14 +2,14 @@
 
 
 let
-  version = "2.3.0";
+  version = "2.5.1";
 in
 stdenv.mkDerivation {
   name = "rebar-${version}";
 
   src = fetchurl {
     url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
-    sha256 = "0g23ib96lalpmynx39fprlw08ivgyb7i6c6a8jvgqwr9jmd0nj06";
+    sha256 = "1y9b0smw0g5q197xf4iklzmcf8ad6w52p6mwzpf7b0ib1nd89jw6";
   };
 
   buildInputs = [ erlang ];
diff --git a/pkgs/development/tools/haskell/cabal-delete/default.nix b/pkgs/development/tools/haskell/cabal-delete/default.nix
index 65a7b4d3211a..7de6c0e6f1c2 100644
--- a/pkgs/development/tools/haskell/cabal-delete/default.nix
+++ b/pkgs/development/tools/haskell/cabal-delete/default.nix
@@ -30,5 +30,7 @@ cabal.mkDerivation (self: {
     description = "Uninstall packages installed by cabal";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index f71407258ccc..978ebde7e293 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.67";
-  sha256 = "1l614lx5l3rhn0jvs45is9m8bil32ms5lb74j30ialv3qnjsvjnv";
+  version = "1.68";
+  sha256 = "0w9ayvr3ljfxgi17yaayqvyxflbgf7b5245pc3m011lp3cfnj849";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/happy-meta/default.nix b/pkgs/development/tools/haskell/happy-meta/default.nix
index 94a1afe85b16..dc5c1f203ba4 100644
--- a/pkgs/development/tools/haskell/happy-meta/default.nix
+++ b/pkgs/development/tools/haskell/happy-meta/default.nix
@@ -11,5 +11,7 @@ cabal.mkDerivation (self: {
     description = "Quasi-quoter for Happy parsers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
+    broken = true;
   };
 })
diff --git a/pkgs/development/tools/haskell/haskell-docs/default.nix b/pkgs/development/tools/haskell/haskell-docs/default.nix
new file mode 100644
index 000000000000..b9cd34c716e0
--- /dev/null
+++ b/pkgs/development/tools/haskell/haskell-docs/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, aeson, Cabal, filepath, ghcPaths, haddock, monadLoops
+, text, unorderedContainers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haskell-docs";
+  version = "4.2.2";
+  sha256 = "0w52kzwjzd5jl8v55rjy5550cy2fcyj9j5b7b33vbwjyh06gfrk1";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    aeson Cabal filepath ghcPaths haddock monadLoops text
+    unorderedContainers
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "http://github.com/chrisdone/haskell-docs";
+    description = "A program to find and display the docs and type of a name";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/hp2any-manager/default.nix b/pkgs/development/tools/haskell/hp2any-manager/default.nix
index 3bbf65bcf7a4..537550e989fb 100644
--- a/pkgs/development/tools/haskell/hp2any-manager/default.nix
+++ b/pkgs/development/tools/haskell/hp2any-manager/default.nix
@@ -19,5 +19,6 @@ cabal.mkDerivation (self: {
     description = "A utility to visualise and compare heap profiles";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/haskell/hscope/default.nix b/pkgs/development/tools/haskell/hscope/default.nix
new file mode 100644
index 000000000000..981e61204440
--- /dev/null
+++ b/pkgs/development/tools/haskell/hscope/default.nix
@@ -0,0 +1,24 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, cereal, cpphs, deepseq, haskellSrcExts, mtl, pureCdb
+, testSimple, uniplate, Unixutils, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hscope";
+  version = "0.4";
+  sha256 = "1jb2d61c1as6li54zw33jsyvfap214pqxpkr2m6lkzaizh8396hg";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    cereal cpphs deepseq haskellSrcExts mtl pureCdb uniplate vector
+  ];
+  testDepends = [ mtl testSimple Unixutils ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bosu/hscope";
+    description = "cscope like browser for Haskell code";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/pointfree/default.nix b/pkgs/development/tools/haskell/pointfree/default.nix
new file mode 100644
index 000000000000..166105f22b6a
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointfree/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrcExts, HUnit, QuickCheck, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "pointfree";
+  version = "1.0.4.7";
+  sha256 = "0jwql0ka01cr53ayjc4dpaci11i7r1y3b9gcbh3rlamb1mnfcqvl";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrcExts transformers ];
+  testDepends = [ haskellSrcExts HUnit QuickCheck transformers ];
+  jailbreak = true;
+  meta = {
+    description = "Tool for refactoring expressions into pointfree form";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/pointful/default.nix b/pkgs/development/tools/haskell/pointful/default.nix
new file mode 100644
index 000000000000..7f077d160a3c
--- /dev/null
+++ b/pkgs/development/tools/haskell/pointful/default.nix
@@ -0,0 +1,18 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, haskellSrc, mtl, syb }:
+
+cabal.mkDerivation (self: {
+  pname = "pointful";
+  version = "1.0.2";
+  sha256 = "00xlxgdajkbi5d6gv88wdpwm16xdryshszz5qklryi0p65mmp99p";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ haskellSrc mtl syb ];
+  meta = {
+    homepage = "http://github.com/23Skidoo/pointful";
+    description = "Pointful refactoring tool";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 9e3abab382db..c4f4caa3b658 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    = "d8c026530d7f442eb0f93233b536cfb06aec911d";
-    sha256 = "6cbeb5b7640371f95ef017f3382f33a985a5c417f69e837fbb3b59c0332b5ecf";
+    rev    = "49f08a756a54f12405d3704c0f978b71c7b13811";
+    sha256 = "b32267fe19c6e9532887388815b8553519e2844bc5b839b5ad35efeab6b07fb8";
   };
   arcanist = fetchgit {
     url    = "git://github.com/facebook/arcanist.git";
-    rev    = "a9535446579af33dfa50f60dcc79c9edf633eebd";
-    sha256 = "8468f3beecdce2f62dc010ddade8ffbf0a8802f23ee88b91e09c09f173e692f6";
+    rev    = "4c0edd296e3301fffdda33c447f6fcafe7d1de01";
+    sha256 = "a9f162fb6b47bcf628130e0e8988ab650278b3a6606fa425e4707241ed22dd3e";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20140717";
+  version = "20140812";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/dfu-programmer/default.nix b/pkgs/development/tools/misc/dfu-programmer/default.nix
index 93dceb60f8d9..2df687b8bc6b 100644
--- a/pkgs/development/tools/misc/dfu-programmer/default.nix
+++ b/pkgs/development/tools/misc/dfu-programmer/default.nix
@@ -1,21 +1,18 @@
-{ stdenv, fetchurl, libusb1 }:
+{ stdenv, fetchurl, libusb }:
 let
-  version = "0.6.2";
+  version = "0.7.0";
 in
 stdenv.mkDerivation rec {
   name="dfu-programmer-${version}";
 
-  buildInputs = [ libusb1 ];
+  buildInputs = [ libusb ];
 
   src = fetchurl {
     url = "mirror://sourceforge/dfu-programmer/${name}.tar.gz";
-    sha256 = "0rdg4h5alpa3py3v3xgvn2vcgmnbj077am90jqj83nad89m9c801";
+    sha256 = "17lglglk5xrqd2n0impg5bkq4j96qc51cw3kzcghzmzmn6fvg3gf";
   };
 
-  preConfigure = ''
-    substituteInPlace configure \
-     --replace "/usr/include/libusb-1.0" "${libusb1}/include/libusb-1.0"
-  '';
+  configureFlags = [ "--disable-libusb_1_0" ];
 
   meta = with stdenv.lib; {
     license = licenses.gpl2;
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index c8579ef3831b..4a38762a3ff3 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, lua, curl}:
+{stdenv, fetchurl, lua, curl, makeWrapper, which}:
 let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.2";
+    version="2.2.0";
     name="${baseName}-${version}";
-    hash="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
-    url="http://luarocks.org/releases/luarocks-2.2.0beta1.tar.gz";
-    sha256="03i46ayimp087288f0bi6g30fi3aixp2bha2jmsbbhwmsxm1yshs";
+    hash="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
+    url="http://luarocks.org/releases/luarocks-2.2.0-rc1.tar.gz";
+    sha256="1717p694455w1fdldb2ldlyklln8w3bqk1dsly8gpqh3n73lw6lv";
   };
   buildInputs = [
-    lua curl
+    lua curl makeWrapper which
   ];
 in
 stdenv.mkDerivation {
@@ -19,6 +19,29 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  preConfigure = ''
+    lua -e "" || {
+        luajit -e "" && {
+	    export LUA_SUFFIX=jit
+	    configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
+	}
+    }
+    lua_inc="$(echo "${lua}/include"/*/)"
+    if test -n "$lua_inc"; then
+        configureFlags="$configureFlags --with-lua-include=$lua_inc"
+    fi
+  '';
+  postInstall = ''
+    sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
+    for i in "$out"/bin/*; do
+        test -L "$i" || {
+	    wrapProgram "$i" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+
+	}
+    done
+  '';
   meta = {
     inherit (s) version;
     description = ''A package manager for Lua'';
diff --git a/pkgs/development/tools/parsing/happy/1.18.4.nix b/pkgs/development/tools/parsing/happy/1.18.4.nix
index 5ebac4303e75..c7e3f919568b 100644
--- a/pkgs/development/tools/parsing/happy/1.18.4.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.4.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.5.nix b/pkgs/development/tools/parsing/happy/1.18.5.nix
index 7463a9f94a0a..f66f20893516 100644
--- a/pkgs/development/tools/parsing/happy/1.18.5.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.5.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/tools/parsing/happy/1.18.6.nix b/pkgs/development/tools/parsing/happy/1.18.6.nix
index 3a3795c90db6..7919908681e1 100644
--- a/pkgs/development/tools/parsing/happy/1.18.6.nix
+++ b/pkgs/development/tools/parsing/happy/1.18.6.nix
@@ -14,6 +14,6 @@ cabal.mkDerivation (self: {
     description = "Happy is a parser generator for Haskell";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
+    hydraPlatforms = self.stdenv.lib.platforms.none;
   };
 })
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index bf96175b8cd0..089876173344 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -14,11 +14,11 @@ let
 in stdenv.mkDerivation rec {
   name = "remarkjs-${version}";
 
-  version = "0.6.4";
+  version = "0.6.5";
 
   src = fetchurl {
     url = "https://github.com/gnab/remark/archive/v${version}.tar.gz";
-    sha256 = "0sdhpn91b05qdqfqbfrhkfx8rkqrgm9pqg4bgjhxf9prfjhvmlrn";
+    sha256 = "1bh3hmhq99qqd3qg747xwjqkyppc9vf3b5nhi56556rwc02cn17p";
   };
 
   buildInputs = with nodePackages; [
diff --git a/pkgs/games/Allure/default.nix b/pkgs/games/Allure/default.nix
new file mode 100644
index 000000000000..532ef092f094
--- /dev/null
+++ b/pkgs/games/Allure/default.nix
@@ -0,0 +1,19 @@
+# This file was auto-generated by cabal2nix. Please do NOT edit manually!
+
+{ cabal, enummapsetTh, filepath, LambdaHack, text }:
+
+cabal.mkDerivation (self: {
+  pname = "Allure";
+  version = "0.4.99.0";
+  sha256 = "1i4v1h4ynx4aap0nmf8qn2qx22wqfgypr83l7bh38fd4qibsvx3q";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ enummapsetTh filepath LambdaHack text ];
+  testDepends = [ enummapsetTh filepath LambdaHack text ];
+  meta = {
+    homepage = "http://allureofthestars.com";
+    description = "Near-future Sci-Fi roguelike and tactical squad game";
+    license = "unknown";
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/games/LambdaHack/default.nix b/pkgs/games/LambdaHack/default.nix
index d156f790c0af..eb4edf2b36a9 100644
--- a/pkgs/games/LambdaHack/default.nix
+++ b/pkgs/games/LambdaHack/default.nix
@@ -3,13 +3,13 @@
 { cabal, assertFailure, async, binary, deepseq, enummapsetTh
 , filepath, gtk, hashable, hsini, keys, miniutter, mtl, prettyShow
 , random, stm, text, transformers, unorderedContainers, vector
-, vectorBinaryInstances, zlib
+, vectorBinaryInstances, x11, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "LambdaHack";
-  version = "0.2.14";
-  sha256 = "1nygyzrgzrv7qfr153xvkh50p0sjrbv3jbif7qmpam5jjlw26ahs";
+  version = "0.4.99.0";
+  sha256 = "1mcz44akf706a0q1xr4h7hlf1gj60570bi8im6jpg73k728314cp";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -22,17 +22,12 @@ cabal.mkDerivation (self: {
     hsini keys miniutter mtl prettyShow random stm text transformers
     unorderedContainers vector vectorBinaryInstances zlib
   ];
-  doCheck = false;
-  patchPhase = ''
-    sed -i -e 's|gtk >=.*|gtk|' LambdaHack.cabal
-  '';
+  pkgconfigDepends = [ gtk x11 ];
   meta = {
     homepage = "http://github.com/LambdaHack/LambdaHack";
-    description = "A roguelike game engine in early development";
+    description = "A game engine library for roguelike dungeon crawlers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    hydraPlatforms = self.stdenv.lib.platforms.none;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-    broken = true;
+    maintainers = with self.stdenv.lib.maintainers; [ andres ];
   };
 })
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index c7ef57357500..e3bb3965739b 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -7,17 +7,16 @@
 stdenv.mkDerivation rec {
 
   name = "mednafen-${version}";
-  version = "0.9.34.1";
+  version = "0.9.36.3";
 
   src = fetchurl {
-    url = "http://sourceforge.net/projects/mednafen/files/Mednafen/${version}/${name}.tar.bz2";
-    sha256 = "1d783ws5rpx6r8qk1l9nksx3kahbalis606psk4067bvfzy7kjb9";
+    url = "http://downloads.sourceforge.net/project/mednafen/Mednafen/${version}/${name}.tar.bz2";
+    sha256 = "00byql2p28l4476mvzmv5ysclb6yv9f4qrf6vz0x7ii648rp97in";
   };
 
   buildInputs = with stdenv.lib;
-  [ libX11 mesa freeglut jack2 libcdio libsndfile libsamplerate SDL SDL_net zlib ];
+  [ pkgconfig libX11 mesa freeglut jack2 libcdio libsndfile libsamplerate SDL SDL_net zlib ];
   
-  nativeBuildInputs = [ pkgconfig ];
 
   # Install docs
   postInstall = ''
diff --git a/pkgs/os-specific/linux/bluez/bluez5.nix b/pkgs/os-specific/linux/bluez/bluez5.nix
index f9f5c185bbd0..2a87611a6800 100644
--- a/pkgs/os-specific/linux/bluez/bluez5.nix
+++ b/pkgs/os-specific/linux/bluez/bluez5.nix
@@ -5,11 +5,11 @@
 assert stdenv.isLinux;
 
 stdenv.mkDerivation rec {
-  name = "bluez-5.16";
+  name = "bluez-5.22";
    
   src = fetchurl {
     url = "mirror://kernel/linux/bluetooth/${name}.tar.xz";
-    sha256 = "0qxivd64az3qziw82axj2ksilllxq4fnb6fdrnlxr6d74550kmf8";
+    sha256 = "10h8p89jnhxhjw4x53j4r53i999qjaz82l5591q6q48qb98ndf78";
   };
 
   pythonPath = with pythonPackages;
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 2b80114fe475..1f06fb662188 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation rec {
 
   name = "checkpolicy-${version}";
-  version = "2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/checkpolicy-${version}.tar.gz";
-    sha256 = "1y5dx4s5k404fgpm7hlhgw8a9b9ksn3q2d3fj6f9rdac9n7nkxlz";
+    sha256 = "0yr0r2cxz9lbj7i0wqgcd4wjvc6zf1fmqk0xjybnkdpcmw8jsqwh";
   };
 
   buildInputs = [ libsepol libselinux bison flex ];
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 26938b715783..8fa684e407cf 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.51";
+  version = "3.10.53";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1z1sbk13f5njbmx7vi775i2pp79f6b5r39cp85yzz0byvn6lx885";
+    sha256 = "1sxa6ppgpy9fgj4lyj8d53y309v6r5nmifbrcf5pqs6l944frhq6";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index 2d53d06f755c..74d83345ec14 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.15";
+  version = "3.14.17";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0wjws67s698zpjj0kd3sxakjvnls91kc6vvz0md4i0qg683ld790";
+    sha256 = "1dl9skwd1xvkdm9gblidcawkck6x5slb41gbx0i8jxby2k6w6i5n";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.15.nix b/pkgs/os-specific/linux/kernel/linux-3.15.nix
index b59baf9f669c..cb2463ebfdc8 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.15.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.15.8";
+  version = "3.15.10";
   extraMeta.branch = "3.15";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "012d793mg2lkxfs6rxqkl22p6899l620ssbsii1szfjhnynh1qjd";
+    sha256 = "1x057a1pfr4rqzmjdb3x1bwwl6gzr6im8dg8f6anwz9fnps6vv5d";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.16.nix b/pkgs/os-specific/linux/kernel/linux-3.16.nix
index 3a7e51a080e5..be2e68ab81e3 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.16.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.16";
-  modDirVersion = "3.16.0";
+  version = "3.16.1";
   extraMeta.branch = "3.16";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "183p3pz2rfprbp5i4kwk90kjn90v40banwx8759jxnd74xwss4s8";
+    sha256 = "0wbxqlmk7w9047ir51dsz6vi7ww0hpycgrb43mk2a189xaldsdxy";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.2.nix b/pkgs/os-specific/linux/kernel/linux-3.2.nix
index 80b9ff614d66..13205e048ca6 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.2.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.2.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.2.60";
+  version = "3.2.62";
   extraMeta.branch = "3.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "10nigsr0i08ykmkbalsjm4v283iy42zxgxxl77h6484xxb52bw7s";
+    sha256 = "1yrmar14p5y9xaj9df388xwjmwz8fnsxnid6rkxxk7dni5di8nqf";
   };
 
   # We don't provide these patches if grsecurity is enabled, because
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 6a232d6450b4..30bb873501b8 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.101";
+  version = "3.4.103";
   extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1zmb3dzqjiwb9ckj0gqqvlpdvqrjw17z9sddzxyawfrag6xv24a7";
+    sha256 = "1ldga9l7dydwv5zvl3xgk8833cjv73yasyy2qmgimkbs03s8q4ig";
   };
 
   kernelPatches = args.kernelPatches ++
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
index a4d9e5a866df..c5e94ed81e9a 100644
--- a/pkgs/os-specific/linux/ldm/default.nix
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -3,7 +3,7 @@
 assert mountPath != "";
 
 let
-  version = "v0.4.2";
+  version = "0.5";
   git = https://github.com/LemonBoy/ldm.git;
 in
 stdenv.mkDerivation rec {
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   # contains important fixes for LVM setups.
   src = fetchgit {
     url = meta.repositories.git;
-    rev = "refs/tags/${version}";
-    sha256 = "1fdm3l00csjyvz40py6wlsh8s441rbp4az3sc2i14ag7srh2yim8";
+    rev = "refs/tags/v${version}";
+    sha256 = "0kkby3a0xgh1lmkbzpsi4am2rqjv3ccgdpic99aw1c76y0ca837y";
   };
 
   buildInputs = [ udev utillinux ];
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
       --replace "/mnt/" "${mountPath}"
   '';
 
+  buildPhase = "make ldm";
+
   installPhase = ''
     mkdir -p $out/bin
     cp -v ldm $out/bin
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index e125ac3fe8e9..746f49b519dd 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -8,12 +8,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libselinux-${version}";
-  version = "2.2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
-    sha256 = "0gjs5cqwhqzmf0avnn0343ip69153k9z35vbp03sjvc02qs3darh";
+    sha256 = "1ckpiv6m5c07rp5vawlhv02w5rq8kc0n95fh2ckq2jnqxi1hn7hb";
   };
 
   buildInputs = [ pkgconfig libsepol pcre ]
diff --git a/pkgs/os-specific/linux/libsemanage/default.nix b/pkgs/os-specific/linux/libsemanage/default.nix
index afd83f730806..599da9e4b3c2 100644
--- a/pkgs/os-specific/linux/libsemanage/default.nix
+++ b/pkgs/os-specific/linux/libsemanage/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation rec {
 
   name = "libsemanage-${version}";
-  version = "2.2";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsemanage-${version}.tar.gz";
-    sha256 = "0xdx0dwcsyw4kv9l6xwdkfg6v7fc9b5y176rkg6n6q0w1zx0pxhi";
+    sha256 = "0jrf66df80mvjhrsbxcnb60j69pg4dh2pydy8vj8dhhiwqsrxq03";
   };
 
   makeFlags = "PREFIX=$(out) DESTDIR=$(out)";
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index bb5dde9a61ed..c469fe93493d 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libsepol-${version}";
-  version = "2.2";
-  se_release = "20131030";
+  version = "2.3";
+  se_release = "20140506";
   se_url = "${meta.homepage}/releases";
 
   src = fetchurl {
     url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
-    sha256 = "03zw6clp00cmi49x8iq8svhrp91jrcw0093zpnyhan190rqb593p";
+    sha256 = "13z6xakc2qqyhlvnc5h53jy7lqmh5b5cnpfn51lmvfdpqd18d3fc";
   };
 
   preBuild = '' makeFlags="$makeFlags PREFIX=$out DESTDIR=$out" '';
diff --git a/pkgs/os-specific/linux/policycoreutils/default.nix b/pkgs/os-specific/linux/policycoreutils/default.nix
index 063f89edaa2b..d312e25fc2e4 100644
--- a/pkgs/os-specific/linux/policycoreutils/default.nix
+++ b/pkgs/os-specific/linux/policycoreutils/default.nix
@@ -4,12 +4,12 @@
 stdenv.mkDerivation rec {
 
   name = "policycoreutils-${version}";
-  version = "2.2.5";
+  version = "2.3";
   inherit (libsepol) se_release se_url;
 
   src = fetchurl {
     url = "${se_url}/${se_release}/policycoreutils-${version}.tar.gz";
-    sha256 = "1i0chc3km3wdgzrd556mmhvsglydxrimclnn77s73wy2qfl51y5v";
+    sha256 = "1lpwxr5hw3dwhlp2p7y8jcr18mvfcrclwd8c2idz3lmmb3pglk46";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/powertop/default.nix b/pkgs/os-specific/linux/powertop/default.nix
index 04ab624b86a4..630fe04e226b 100644
--- a/pkgs/os-specific/linux/powertop/default.nix
+++ b/pkgs/os-specific/linux/powertop/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, libnl, ncurses, pciutils, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "powertop-2.5";
+  name = "powertop-2.6.1";
 
   src = fetchurl {
-    url = "https://01.org/powertop/sites/default/files/downloads/${name}.tar.gz";
-    sha256 = "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b";
+    url = "https://01.org/sites/default/files/downloads/powertop/${name}.tar.gz";
+    sha256 = "1r103crmkdk617qrxqjzy2mlhaacbpg5q795546zwcxlbdnxwk03";
   };
 
   buildInputs = [ gettext libnl ncurses pciutils pkgconfig zlib ];
diff --git a/pkgs/os-specific/linux/setools/default.nix b/pkgs/os-specific/linux/setools/default.nix
index cc1363156dd7..63a43b2b5e93 100644
--- a/pkgs/os-specific/linux/setools/default.nix
+++ b/pkgs/os-specific/linux/setools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, bison, flex
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, bison, flex
 , python, swig2, tcl, libsepol, libselinux, libxml2, sqlite, bzip2 }:
 
 stdenv.mkDerivation rec {
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "16g987ijaxabc30zyjzia4nafq49rm038y1pm4vca7i3kb67wf24";
   };
 
+  patches = [ ./ftbfs-invalid-operands-of-types.patch ];
+
   # SWIG-TCL is broken in 3.3.8
   configureFlags = ''
     --with-tcl=${tcl}/lib
diff --git a/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
new file mode 100644
index 000000000000..97a5727f05b0
--- /dev/null
+++ b/pkgs/os-specific/linux/setools/ftbfs-invalid-operands-of-types.patch
@@ -0,0 +1,15 @@
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=750331
+
+Index: setools-git/secmds/replcon.cc
+===================================================================
+--- setools-git.orig/secmds/replcon.cc
++++ setools-git/secmds/replcon.cc
+@@ -60,7 +60,7 @@ static struct option const longopts[] =
+ 	{NULL, 0, NULL, 0}
+ };
+ 
+-extern int lsetfilecon_raw(const char *, security_context_t) __attribute__ ((weak));
++extern int lsetfilecon_raw(const char *, const char *) __attribute__ ((weak));
+ 
+ /**
+  * As that setools must work with older libselinux versions that may
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
new file mode 100644
index 000000000000..5282541e2f9e
--- /dev/null
+++ b/pkgs/servers/consul/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, go, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  version = "0.3.0";
+in
+
+stdenv.mkDerivation {
+  name = "consul-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o consul github.com/hashicorp/consul
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp consul $out/bin
+  '';
+
+  meta = with lib; {
+    homepage    = http://www.consul.io/;
+    description = "A tool for service discovery, monitoring and configuration";
+    maintainers = with maintainers; [ cstrahan ];
+    license     = licenses.mpl20 ;
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/consul/deps.nix b/pkgs/servers/consul/deps.nix
new file mode 100644
index 000000000000..c1ebcf809288
--- /dev/null
+++ b/pkgs/servers/consul/deps.nix
@@ -0,0 +1,239 @@
+{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+let
+  goDeps = [
+    {
+      root = "code.google.com/p/go.net";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.net";
+        rev = "134";
+        sha256 = "1jycpgrfwgkfac60zjbx6babcz7sgyn9xgy6cr3l811j6k8r2pbv";
+      };
+    }
+    {
+      root = "code.google.com/p/go.text";
+      src = fetchhg {
+        url = "http://code.google.com/p/go.text";
+        rev = "85";
+        sha256 = "1x8h6vq9g5gbi7iiwla6dkaaqqf7wmkdm4szj7wvzlsijf2x8dwr";
+      };
+    }
+    {
+      root = "github.com/armon/circbuf";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "circbuf";
+        rev = "f092b4f207b6e5cce0569056fba9e1a2735cb6cf";
+        sha256 = "06kwwdwa3hskdh6ws7clj1vim80dyc3ldim8k9y5qpd30x0avn5s";
+      };
+    }
+    {
+      root = "github.com/armon/go-metrics";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "go-metrics";
+        rev = "02567bbc4f518a43853d262b651a3c8257c3f141";
+        sha256 = "08fk3zmw0ywmdfp2qhrpv0vrk1y97hzqczrgr3y2yip3x8sr37ar";
+      };
+    }
+    {
+      root = "github.com/armon/gomdb";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "gomdb";
+        rev = "a8e036c4dabe7437014ecf9dbc03c6f6f0766ef8";
+        sha256 = "0hiw5qkkyfd22v291w7rbnlrb4kraqzbkjfx2dvl7rqchkb0hv68";
+      };
+    }
+    {
+      root = "github.com/armon/mdns";
+      src = fetchFromGitHub {
+        owner = "armon";
+        repo = "mdns";
+        rev = "70462deb060d44247356ee238ebafd7699ddcffe";
+        sha256 = "0xkm3d0hsixdm1yrkx9c39723kfjkb3wvrzrmx3np9ylcwn6h5p5";
+      };
+    }
+    {
+      root = "github.com/hashicorp/consul";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "consul";
+        rev = "441d613e1bd96254c78c46ee7c1b35c161fc7295";
+        sha256 = "1v06ygzsvc9c02yxpxnnm407kd30fc46b2146k5zrk1v8lq0f91j";
+      };
+    }
+    {
+      root = "github.com/hashicorp/go-syslog";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-syslog";
+        rev = "ac3963b72ac367e48b1e68a831e62b93fb69091c";
+        sha256 = "1r9s1gsa4azcs05gx1179ixk7qvrkrik3v92wr4s8gwm00m0gf81";
+      };
+    }
+    {
+      root = "github.com/hashicorp/logutils";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "logutils";
+        rev = "8e0820fe7ac5eb2b01626b1d99df47c5449eb2d8";
+        sha256 = "033rbkc066g657r0dnzysigjz2bs4biiz0kmiypd139d34jvslwz";
+      };
+    }
+    {
+      root = "github.com/hashicorp/memberlist";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "memberlist";
+        rev = "17d39b695094be943bfb98442a80b082e6b9ac47";
+        sha256 = "0nvgjnwmfqhv2wvr77d2q5mq1bfw4xbpil6wgyj4fyrmhsfzrv3g";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft";
+        rev = "8bdafd1e83e7d85ffeb5dc8f0857dbddd61edba5";
+        sha256 = "1yv3v0vhw5hgqqhh20jhyba2lpkkmmj80lfgf7v4vgjb0y3jqy6x";
+      };
+    }
+    {
+      root = "github.com/hashicorp/raft-mdb";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "raft-mdb";
+        rev = "70e1c88f4b6fb06fc94cc02109243160a443609d";
+        sha256 = "1031yqgb91ch79m41gl8prrymlh4y4k9yklmbv3qvxkfqirdv247";
+      };
+    }
+    {
+      root = "github.com/hashicorp/serf";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "serf";
+        rev = "83f220b4faa0614f49649156118b750b5b12fafb";
+        sha256 = "144a4g5yfcjv1jnl3mi4jcwy4cd970h1924cdas2s7bcdx6kpnv4";
+      };
+    }
+    {
+      root = "github.com/hashicorp/yamux";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "yamux";
+        rev = "35417c7dfab4085d7c921b33e4d5ea6cf9ceef65";
+        sha256 = "02pk30dgjmp0zz5g3dcll6lf7izmpfh6fw2rp13al7771vaziqyl";
+      };
+    }
+    {
+      root = "github.com/inconshreveable/muxado";
+      src = fetchFromGitHub {
+        owner = "inconshreveable";
+        repo = "muxado";
+        rev = "f693c7e88ba316d1a0ae3e205e22a01aa3ec2848";
+        sha256 = "1vgiwwxhgx9c899f6ikvrs0w6vfsnypzalcqyr0mqm2w816r9hhs";
+      };
+    }
+    {
+      root = "github.com/miekg/dns";
+      src = fetchFromGitHub {
+        owner = "miekg";
+        repo = "dns";
+        rev = "05cfaca9f0712f44206ecbfa65a6769434164e7a";
+        sha256 = "1qc12v5yqlsi1mg18i10pvz9g4a5diqzp73q5n4m00gyk41q855j";
+      };
+    }
+    {
+      root = "github.com/mitchellh/cli";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "975a7477b1507ea6bb888c48108e05d26fb30434";
+        sha256 = "0gxjizg8pf5p3zj04k7cpkwf8l2q9j1j270j2bw0wv2d2pgn6z5l";
+      };
+    }
+    {
+      root = "github.com/mitchellh/mapstructure";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "mapstructure";
+        rev = "6fb2c832bcac61d01212ab1d172f7a14a8585b07";
+        sha256 = "0mx855lwhv0rk461wmbnbzbpkhmq5p2ipmrm5bhzimagrr1w17hw";
+      };
+    }
+    {
+      root = "github.com/ryanuber/columnize";
+      src = fetchFromGitHub {
+        owner = "ryanuber";
+        repo = "columnize";
+        rev = "785d943a7b6886e0bb2f139a60487b823dd8d9de";
+        sha256 = "1h3sxzhiwz65vf3cvclirlf6zhdr97v01dpn5cmf3m09rxxpnp3f";
+      };
+    }
+    {
+      root = "github.com/ugorji/go";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/bufio";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "bufio";
+        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
+        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
+      };
+    }
+    {
+      root = "github.com/vmihailenco/msgpack";
+      src = fetchFromGitHub {
+        owner = "vmihailenco";
+        repo = "msgpack";
+        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
+        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      };
+    }
+    {
+      root = "launchpad.net/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo";
+        rev = "2";
+        sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/servers/consul/ui.nix b/pkgs/servers/consul/ui.nix
new file mode 100644
index 000000000000..d1c04f959cb8
--- /dev/null
+++ b/pkgs/servers/consul/ui.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "0.3.0";
+  meta = with stdenv.lib; {
+    homepage = http://www.consul.io/intro/getting-started/ui.html;
+    description = "The static files for Consul's UI (used via -ui-dir)";
+    maintainers = with maintainers; [ cstrahan ];
+    license = licenses.mpl20 ;
+    platforms = platforms.all;
+  };
+in (fetchzip {
+  name = "consul-ui-${version}";
+  url = "https://dl.bintray.com/mitchellh/consul/${version}_web_ui.zip";
+  sha256 = "0p4mhlrqidd6p3899wd3i9p41bdbb5avbz5986mnxg9f7dvhjdrc";
+}) // { inherit meta; }
+
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
index 630095782fa4..0c310b18901f 100644
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ b/pkgs/servers/sql/virtuoso/7.x.nix
@@ -25,11 +25,12 @@ stdenv.mkDerivation rec {
     echo Removing jars and empty directories
     find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
     '';
-  
+
   meta = with stdenv.lib; {
     description = "SQL/RDF database used by, e.g., KDE-nepomuk";
     homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/;
-    platforms = platforms.all;
+    #configure: The current version [...] can only be build on 64bit platforms
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
     maintainers = [ maintainers.urkud ];
   };
 }
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 595307df5564..29e4455f7cb3 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -29,6 +29,16 @@ let
 
   allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
 
+  forceEvalHelp = unfreeOrBroken:
+    assert (unfreeOrBroken == "Unfree" || unfreeOrBroken == "Broken");
+    ''
+      You can set
+        { nixpkgs.config.allow${unfreeOrBroken} = true; }
+      in configuration.nix to override this. If you use Nix standalone, you can add
+        { allow${unfreeOrBroken} = true; }
+      to ~/.nixpkgs/config.nix.
+    '';
+
   unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
 
   # The stdenv that we are producing.
@@ -76,15 +86,16 @@ let
         in
         if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) && !(allowUnfreePredicate attrs) then
           throw ''
-            Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate. You can set
-              { nixpkgs.config.allowUnfree = true; }
-            in configuration.nix to override this. If you use Nix standalone, you can add
-              { allowUnfree = true; }
-            to ~/.nixpkgs/config.nix.''
+            Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate.
+            ${forceEvalHelp "Unfree"}''
         else if !allowBroken && attrs.meta.broken or false then
-          throw "you can't use package ‘${attrs.name}’ in ${pos'} because it has been marked as broken"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is marked as broken, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
         else if !allowBroken && attrs.meta.platforms or null != null && !lib.lists.elem result.system attrs.meta.platforms then
-          throw "the package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’"
+          throw ''
+            Package ‘${attrs.name}’ in ${pos'} is not supported on ‘${result.system}’, refusing to evaluate.
+            ${forceEvalHelp "Broken"}''
         else
           lib.addPassthru (derivation (
             (removeAttrs attrs ["meta" "passthru" "crossAttrs"])
diff --git a/pkgs/tools/backup/obnam/default.nix b/pkgs/tools/backup/obnam/default.nix
index 854801a3edd2..bf71f9397cb6 100644
--- a/pkgs/tools/backup/obnam/default.nix
+++ b/pkgs/tools/backup/obnam/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonPackage rec {
   name = "obnam-${version}";
-  version = "1.6.1";
+  version = "1.8";
 
   namePrefix = "";
 
   src = fetchurl rec {
     url = "http://code.liw.fi/debian/pool/main/o/obnam/obnam_${version}.orig.tar.gz";
-    sha256 = "0415njniqpy3xhvibpm82i9alrp2fw3lsnm15h7vqkkvgp8s5g39";
+    sha256 = "0190yz65hfdq69xws4h1izxz59by0b437d7z1l4cf5ixkv16j17p";
   };
 
   buildInputs = [ pythonPackages.sphinx attr ];
diff --git a/pkgs/tools/compression/kzipmix/default.nix b/pkgs/tools/compression/kzipmix/default.nix
new file mode 100644
index 000000000000..bff8068db609
--- /dev/null
+++ b/pkgs/tools/compression/kzipmix/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation {
+  name = "kzipmix-20091108";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/kzipmix-20091108-linux.tar.gz;
+    sha256 = "19gyn8pblffdz1bf3xkbpzx8a8wn3xb0v411pqzmz5g5l6pm5gph";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp kzip zipmix $out/bin
+    
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/kzip
+    patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/zipmix
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of Zip archives";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 2d1a6472205e..6b65d3df0d3f 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,33 +1,20 @@
-{stdenv, fetchurl, libtiff, libpng, lcms, libxmi, boost, mesa, freeglut
-, pkgconfig, perl, glew }:
+{ stdenv, fetchurl
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libxmi, mesa, vigra
+, pkgconfig, perl }:
 
 stdenv.mkDerivation rec {
-  name = "enblend-enfuse-4.0";
+  name = "enblend-enfuse-4.1.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/enblend/${name}.tar.gz";
-    sha256 = "1i2kq842zrncpadarhcikg447abmh5r7a5js3mzg553ql3148am1";
+    sha256 = "1b7r1nnwaind0344ckwggy0ghl0ipbk9jzylsxcjfl05rnasw00w";
   };
 
-  buildInputs = [ libtiff libpng lcms libxmi boost mesa freeglut glew ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libxmi mesa vigra ];
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  patches =
-    let
-      prefix = "http://enblend.hg.sourceforge.net/hgweb/enblend/enblend/raw-diff";
-    in map fetchurl [
-      {
-        url = "${prefix}/9d9b5f3a97cd/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "1nqhbbgphwi087qpazngg04c1whc1p4fwq19fx36jrir96xywgzg";
-      }
-      {
-        url = "${prefix}/101796703d73/src/vigra_impex/png.cxx";
-        name = "ftbfs-libpng15.patch";
-        sha256 = "14frqg4hab9ab6pdypkrmji43fmxjj918j7565rdwmifbm9i3005";
-      }
-    ];
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://enblend.sourceforge.net/;
diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix
new file mode 100644
index 000000000000..97fcd1addd01
--- /dev/null
+++ b/pkgs/tools/graphics/glmark2/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, libjpeg, libpng12, xlibs, libX11, mesa, libdrm, python27 }:
+stdenv.mkDerivation rec {
+  name = "glmark2-${version}";
+  version = "2014.03";
+
+  src = fetchurl {
+    url = "https://launchpad.net/glmark2/trunk/${version}/+download/${name}.tar.gz";
+    sha256 = "1dgn7ln115ivk13d1yagpj06lgllpv2jrr41kcnhdkhqz6m43vdx";
+  };
+
+  buildInputs = [
+    pkgconfig libjpeg libpng12 xlibs.libxcb libX11 mesa libdrm python27
+  ];
+
+  buildPhase = ''
+    python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2
+    python2 ./waf
+  '';
+
+  installPhase = ''
+    python2 ./waf install --destdir="$pkgdir/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL (ES) 2.0 benchmark";
+    homepage = https://launchpad.net/glmark2;
+    license = licenses.gpl3Plus;
+    longDescription = ''
+      glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of
+      the OpenGL 2.0 API that is compatible with OpenGL ES 2.0.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.wmertens ];
+  };
+}
+
diff --git a/pkgs/tools/graphics/pngout/default.nix b/pkgs/tools/graphics/pngout/default.nix
new file mode 100644
index 000000000000..ff2a18c9fedc
--- /dev/null
+++ b/pkgs/tools/graphics/pngout/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl}:
+
+let
+  folder = if stdenv.system == "i686-linux" then "i686"
+  else if stdenv.system == "x86_64-linux" then "x86_64"
+  else throw "Unsupported system: ${stdenv.system}";
+in
+stdenv.mkDerivation {
+  name = "pngout-20130221";
+
+  src = fetchurl {
+    url = http://static.jonof.id.au/dl/kenutils/pngout-20130221-linux.tar.gz;
+    sha256 = "1qdzmgx7si9zr7wjdj8fgf5dqmmqw4zg19ypg0pdz7521ns5xbvi";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${folder}/pngout $out/bin
+    
+    ${if stdenv.system == "i686-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $out/bin/pngout
+      '' else if stdenv.system == "x86_64-linux" then ''
+        patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 $out/bin/pngout
+      '' else ""}
+  '';
+
+  meta = {
+    description = "A tool that agressively optimizes the sizes of PNG images";
+    license = stdenv.lib.licenses.unfree;
+    homepage = http://advsys.net/ken/utils.htm;
+    maintainers = [ stdenv.lib.maintainers.sander ];
+  };
+}
diff --git a/pkgs/tools/misc/sutils/default.nix b/pkgs/tools/misc/sutils/default.nix
new file mode 100644
index 000000000000..6d2bee238130
--- /dev/null
+++ b/pkgs/tools/misc/sutils/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+   name = "sutils-0.1";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/sutils/archive/0.1.tar.gz";
+     sha256 = "0xqk42vl82chy458d64fj68a4md4bxaip8n3xw9skxz0a1sgvks8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Small command-line utilities.";
+     homepage = "https://github.com/baskerville/sutils";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
new file mode 100644
index 000000000000..9a059c9dbb5a
--- /dev/null
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libxcb, xcbutilwm }:
+
+stdenv.mkDerivation rec {
+   name = "xdo-0.3";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xdo/archive/0.3.tar.gz";
+     sha256 = "128flaydag9ixsai87p85r84arg2pn1j9h3zgdjwlmbcpb8d4ia8";
+   };
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   buildInputs = [ libxcb xcbutilwm ];
+
+   meta = {
+     description = "Small X utility to perform elementary actions on windows";
+     homepage = "https://github.com/baskerville/xdo";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
new file mode 100644
index 000000000000..ca8be4c08eac
--- /dev/null
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }:
+
+stdenv.mkDerivation rec {
+   name = "xtitle-0.2";
+
+   src = fetchurl {
+     url = "https://github.com/baskerville/xtitle/archive/0.2.tar.gz";
+     sha256 = "1wyhfwbwqnq4rn6i789gydxlg25ylc37xjrkq758bp55sdgb8fk2";
+   };
+
+
+   buildInputs = [ libxcb git xcbutil xcbutilwm ];
+
+   prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+
+   meta = {
+     description = "Outputs X window titles";
+     homepage = "https://github.com/baskerville/xtitle";
+     maintainers = stdenv.lib.maintainers.meisternu;
+     license = "Custom";
+     platforms = stdenv.lib.platforms.linux;
+   };
+}
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index 2dac54577b8b..07925ca110df 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
+{ stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper, coreutils, gnused }:
 
 stdenv.mkDerivation rec {
-  name = "dhcp-4.1-ESV-R6";
+  name = "dhcp-${version}";
+  version = "4.3.0";
   
   src = fetchurl {
-    url = http://ftp.isc.org/isc/dhcp/4.1-ESV-R6/dhcp-4.1-ESV-R6.tar.gz;
-    sha256 = "17md1vml07szl9dx4875gfg4sgnb3z73glpbq1si7p82mfhnddny";
+    url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
+    sha256 = "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7";
   };
 
   patches =
@@ -23,13 +24,15 @@ stdenv.mkDerivation rec {
   # Fixes "socket.c:591: error: invalid application of 'sizeof' to
   # incomplete type 'struct in6_pktinfo'".  See
   # http://www.mail-archive.com/blfs-book@linuxfromscratch.org/msg13013.html
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE";
+  #
+  # Also adds the ability to run dhcpd as a non-root user / group
+  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE -DPARANOIA";
 
   # It would automatically add -Werror, which disables build in gcc 4.4
   # due to an uninitialized variable.
   CFLAGS = "-g -O2 -Wall";
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [ perl makeWrapper ];
 
   postInstall =
     ''
@@ -42,11 +45,12 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
+      substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file"
       sed -i "includes/dhcpd.h" \
 	-"es|^ *#define \+_PATH_DHCLIENT_SCRIPT.*$|#define _PATH_DHCLIENT_SCRIPT \"$out/sbin/dhclient-script\"|g"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dynamic Host Configuration Protocol (DHCP) tools";
 
     longDescription = ''
@@ -57,6 +61,8 @@ stdenv.mkDerivation rec {
    '';
 
     homepage = http://www.isc.org/products/DHCP/;
-    license = "http://www.isc.org/sw/dhcp/dhcp-copyright.php";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/tools/networking/isync/default.nix b/pkgs/tools/networking/isync/default.nix
index ed01ccacd797..2d3ffb2cb0a8 100644
--- a/pkgs/tools/networking/isync/default.nix
+++ b/pkgs/tools/networking/isync/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, openssl, pkgconfig, db }:
 
 stdenv.mkDerivation rec {
-  name = "isync-1.1.0";
+  name = "isync-1.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/isync/${name}.tar.gz";
-    sha256 = "51f5618c239013fb770f98ae269f24ee417214efaaf7e22821b4a27cf9a9213c";
+    sha256 = "14blgxhpl78bpr1291zb7n3y9g8jpgmnpdnbl0vp2qplw76zv9f3";
   };
 
   buildInputs = [ openssl pkgconfig db ];
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Free IMAP and MailDir mailbox synchronizer";
     license = [ "GPLv2+" ];
 
-    maintainers = [ stdenv.lib.maintainers.viric ];
+    maintainers = with stdenv.lib.maintainers; [ the-kenny viric ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/muscleframework/default.nix b/pkgs/tools/security/muscleframework/default.nix
index e2a87119dd9a..97b0617d3969 100644
--- a/pkgs/tools/security/muscleframework/default.nix
+++ b/pkgs/tools/security/muscleframework/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation {
     homepage = http://muscleplugins.alioth.debian.org/;
     license = "BSD";
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/muscletool/default.nix b/pkgs/tools/security/muscletool/default.nix
index ac9ccc592054..cc369835f25c 100644
--- a/pkgs/tools/security/muscletool/default.nix
+++ b/pkgs/tools/security/muscletool/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
     homepage = http://muscleapps.alioth.debian.org/;
     license = "BSD"; # http://anonscm.debian.org/viewvc/muscleapps/trunk/muscleTool/COPYING?view=markup
     maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    # XXX: don't build before libmusclecard is fixed
+    # platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
new file mode 100644
index 000000000000..1c9967edc477
--- /dev/null
+++ b/pkgs/tools/security/tboot/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, trousers, openssl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "tboot-1.8.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/tboot/${name}.tar.gz";
+    sha256 = "1l9ccm7ik9fs7kzg1bjc5cjh0pcf4v0k1c84dmyr51r084i7p31m";
+  };
+
+  buildInputs = [ trousers openssl zlib ];
+
+  patches = [ ./tboot-add-well-known-secret-option-to-lcp_writepol.patch ];
+
+  configurePhase = ''
+    for a in lcptools utils tb_polgen; do
+      substituteInPlace $a/Makefile --replace /usr/sbin /sbin
+    done
+    substituteInPlace docs/Makefile --replace /usr/share /share
+  '';
+  installFlags = "DESTDIR=$(out)";
+
+  meta = with stdenv.lib; {
+    description = ''Trusted Boot (tboot) is an open source, pre-kernel/VMM module that uses
+                    Intel(R) Trusted Execution Technology (Intel(R) TXT) to perform a measured
+                    and verified launch of an OS kernel/VMM.'';
+    homepage    = http://sourceforge.net/projects/tboot/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
+
diff --git a/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
new file mode 100644
index 000000000000..a16ba9f4fbab
--- /dev/null
+++ b/pkgs/tools/security/tboot/tboot-add-well-known-secret-option-to-lcp_writepol.patch
@@ -0,0 +1,50 @@
+diff -urp tboot-1.8.0.orig/lcptools/writepol.c tboot-1.8.0/lcptools/writepol.c
+--- tboot-1.8.0.orig/lcptools/writepol.c	2014-01-30 10:34:57.000000000 +0100
++++ tboot-1.8.0/lcptools/writepol.c	2014-02-12 01:48:51.523581057 +0100
+@@ -40,6 +40,7 @@
+ #include <getopt.h>
+ #include <trousers/tss.h>
+ #include <trousers/trousers.h>
++#include <tss/tss_defines.h>
+ 
+ #define PRINT   printf
+ #include "../include/uuid.h"
+@@ -51,14 +52,15 @@ static uint32_t index_value = 0;
+ static char *file_arg=NULL;
+ static uint32_t fLeng;
+ static unsigned char *policy_data = NULL;
+-static char *password = NULL;
++static const char *password = NULL;
+ static uint32_t passwd_length = 0;
++static const char well_known_secret[] = TSS_WELL_KNOWN_SECRET;
+ static int help_input = 0;
+ static unsigned char empty_pol_data[] = {0};
+ 
+-static const char *short_option = "ehi:f:p:";
++static const char *short_option = "ehi:f:p:Z";
+ static const char *usage_string = "lcp_writepol -i index_value "
+-                                  "[-f policy_file] [-e] [-p passwd] [-h]";
++                                  "[-f policy_file] [-e] [-p passwd|-Z] [-h]";
+ 
+ static const char *option_strings[] = {
+     "-i index value: uint32/string.\n"
+@@ -67,6 +69,7 @@ static const char *option_strings[] = {
+     "\tINDEX_AUX:0x50000002 or \"aux\"\n",
+     "-f file_name: string. File name of the policy data is stored. \n",
+     "-p password: string. \n",
++    "-Z use well known secret as password. \n",
+     "-e write 0 length data to the index.\n"
+     "\tIt will be used for some special index.\n"
+     "\tFor example, the index with permission WRITEDEFINE.\n",
+@@ -119,6 +122,11 @@ parse_cmdline(int argc, const char * arg
+                 fLeng = 0;
+                 break;
+ 
++            case 'Z':
++                password = well_known_secret;
++                passwd_length = sizeof(well_known_secret);
++                break;
++
+             case 'h':
+                 help_input = 1;
+                 break;
diff --git a/pkgs/tools/security/tpm-quote-tools/default.nix b/pkgs/tools/security/tpm-quote-tools/default.nix
new file mode 100644
index 000000000000..c178d401154f
--- /dev/null
+++ b/pkgs/tools/security/tpm-quote-tools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+stdenv.mkDerivation {
+  name = "tpm-quote-tools-1.0.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/tpmquotetools/1.0.2/tpm-quote-tools-1.0.2.tar.gz";
+    sha256 = "17bf9d1hiiaybx6rgl0sqcb0prjz6d2mv8fwp4bj1c0rsfw5dbk8";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''The TPM Quote Tools is a collection of programs that provide support
+                    for TPM based attestation using the TPM quote mechanism.  The manual
+                    page for tpm_quote_tools provides a usage overview.'';
+    homepage    = http://tpmquotetools.sourceforge.net/;
+    license     = licenses.bsd3;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/tpm-tools/default.nix b/pkgs/tools/security/tpm-tools/default.nix
new file mode 100644
index 000000000000..95b3b6b51f77
--- /dev/null
+++ b/pkgs/tools/security/tpm-tools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, trousers, openssl }:
+
+let
+  version = "1.3.8";
+in
+stdenv.mkDerivation rec {
+  name = "tpm-tools-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/tpm-tools/${version}/${name}.tar.gz";
+    sha256 = "10za1gi89vi9m2lmm7jfzs281h55x1sbbm2bdgdh692ljpq4zsv6";
+  };
+
+  buildInputs = [ trousers openssl ];
+
+  meta = with stdenv.lib; {
+    description = ''tpm-tools is an open-source package designed to enable user and application
+                    enablement of Trusted Computing using a Trusted Platform Module (TPM),
+                    similar to a smart card environment.'';
+    homepage    = http://sourceforge.net/projects/trousers/files/tpm-tools/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
new file mode 100644
index 000000000000..774a14f72bab
--- /dev/null
+++ b/pkgs/tools/security/trousers/allow-non-tss-config-file-owner.patch
@@ -0,0 +1,19 @@
+diff -ur trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c trousers-0.3.11.2/src/tcsd/tcsd_conf.c
+--- trousers-0.3.11.2.orig/src/tcsd/tcsd_conf.c	2013-07-12 18:27:37.000000000 +0200
++++ trousers-0.3.11.2/src/tcsd/tcsd_conf.c	2013-08-21 14:29:42.917231648 +0200
+@@ -763,6 +763,7 @@
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
+ 
++#ifndef ALLOW_NON_TSS_CONFIG_FILE
+ 	/* make sure user/group TSS owns the conf file */
+ 	if (pw->pw_uid != stat_buf.st_uid || grp->gr_gid != stat_buf.st_gid) {
+ 		LogError("TCSD config file (%s) must be user/group %s/%s", tcsd_config_file,
+@@ -775,6 +776,7 @@
+ 		LogError("TCSD config file (%s) must be mode 0600", tcsd_config_file);
+ 		return TCSERR(TSS_E_INTERNAL_ERROR);
+ 	}
++#endif
+ #endif /* SOLARIS */
+ 
+ 	if ((f = fopen(tcsd_config_file, "r")) == NULL) {
diff --git a/pkgs/tools/security/trousers/default.nix b/pkgs/tools/security/trousers/default.nix
new file mode 100644
index 000000000000..4c2af359b964
--- /dev/null
+++ b/pkgs/tools/security/trousers/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, openssl }:
+
+let
+  ver_maj = "0.3.11";
+  ver_min = "2";
+in
+stdenv.mkDerivation rec {
+  name = "trousers-${ver_maj}.${ver_min}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/trousers/trousers/${ver_maj}/${name}.tar.gz";
+    sha256 = "1m9qi4452jr5yy4y9zyfi5ndwam5krq7ny8z2q3f91v1hcjgk5la";
+  };
+
+  buildInputs = [ openssl ];
+
+  patches = [ # ./double-installed-man-page.patch
+              ./disable-install-rule.patch
+              ./allow-non-tss-config-file-owner.patch
+            ];
+
+  NIX_CFLAGS_COMPILE = "-DALLOW_NON_TSS_CONFIG_FILE";
+  NIX_LDFLAGS = "-lgcc_s";
+
+  meta = with stdenv.lib; {
+    description = "TrouSerS is an CPL (Common Public License) licensed Trusted Computing Software Stack.";
+    homepage    = http://trousers.sourceforge.net/;
+    license     = licenses.cpl10;
+    maintainers = [ maintainers.ak ];
+    platforms   = platforms.unix;
+  };
+}
+
diff --git a/pkgs/tools/security/trousers/disable-install-rule.patch b/pkgs/tools/security/trousers/disable-install-rule.patch
new file mode 100644
index 000000000000..698beac9ffde
--- /dev/null
+++ b/pkgs/tools/security/trousers/disable-install-rule.patch
@@ -0,0 +1,27 @@
+--- trousers-0.3.11/dist/Makefile.in	2013-08-14 06:49:37.597558787 +0200
++++ trousers-0.3.11/dist/Makefile.in	2013-08-14 06:50:07.134510774 +0200
+@@ -363,16 +363,16 @@
+ 	uninstall uninstall-am uninstall-hook
+ 
+ install: install-exec-hook
+-	if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
+-	/bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
+-	/bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
++#	echo if test ! -e ${DESTDIR}/@sysconfdir@/tcsd.conf; then mkdir -p ${DESTDIR}/@sysconfdir@ && cp tcsd.conf ${DESTDIR}/@sysconfdir@; fi
++	echo /bin/chown tss:tss ${DESTDIR}/@sysconfdir@/tcsd.conf || true
++	echo /bin/chmod 0600 ${DESTDIR}/@sysconfdir@/tcsd.conf
+ 
+ install-exec-hook:
+-	/usr/sbin/groupadd tss || true
+-	/usr/sbin/useradd -r tss -g tss || true
+-	/bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
+-	/bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
+-	/bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
++	echo /usr/sbin/groupadd tss || true
++	echo /usr/sbin/useradd -r tss -g tss || true
++	echo /bin/sh -c 'if [ ! -e ${DESTDIR}/@localstatedir@/lib/tpm ];then mkdir -p ${DESTDIR}/@localstatedir@/lib/tpm; fi'
++	echo /bin/chown tss:tss ${DESTDIR}/@localstatedir@/lib/tpm || true
++	echo /bin/chmod 0700 ${DESTDIR}/@localstatedir@/lib/tpm
+ 
+ uninstall-hook:
+ 	/usr/sbin/userdel tss || true
diff --git a/pkgs/tools/security/trousers/double-installed-man-page.patch b/pkgs/tools/security/trousers/double-installed-man-page.patch
new file mode 100644
index 000000000000..6b40716120ea
--- /dev/null
+++ b/pkgs/tools/security/trousers/double-installed-man-page.patch
@@ -0,0 +1,32 @@
+--- trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:57:47.018494495 +0200
++++ trousers-0.3.11/man/man3/Makefile.am	2013-08-14 04:58:10.353453471 +0200
+@@ -75,7 +75,6 @@
+ 	    Tspi_TPM_TakeOwnership.3 \
+ 	    Tspi_TPM_GetAuditDigest.3 \
+ 	    Tspi_TPM_OwnerGetSRKPubKey.3 \
+-	    Tspi_TPM_Quote.3 \
+ 	    Tspi_TPM_CMKSetRestrictions.3
+ if TSS_BUILD_DAA
+ man3_MANS += Tspi_DAA_IssueCredential.3 \
+--- trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:25.029490899 +0200
++++ trousers-0.3.11/man/man3/Makefile.in	2013-08-14 05:06:43.153457942 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
+--- trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:05.686414845 +0200
++++ trousers-0.3.11/man/man3/Makefile	2013-08-14 05:07:23.233381327 +0200
+@@ -243,7 +243,7 @@
+ 	Tspi_TPM_PcrExtend.3 Tspi_TPM_Quote.3 Tspi_TPM_SelfTestFull.3 \
+ 	Tspi_TPM_SetStatus.3 Tspi_TPM_StirRandom.3 \
+ 	Tspi_TPM_TakeOwnership.3 Tspi_TPM_GetAuditDigest.3 \
+-	Tspi_TPM_OwnerGetSRKPubKey.3 Tspi_TPM_Quote.3 \
++	Tspi_TPM_OwnerGetSRKPubKey.3 \
+ 	Tspi_TPM_CMKSetRestrictions.3 $(am__append_1)
+ EXTRA_DIST = $(man3_MANS)
+ all: all-am
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index eeac7b7f63fa..eb8db0a44a5f 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, cmake, kdelibs, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "kdiff3-0.9.97";
+  name = "kdiff3-0.9.98";
   src = fetchurl {
     url = "mirror://sourceforge/kdiff3/${name}.tar.gz";
-    sha256 = "0ajsnzfr0aqzdiv5wqssxsgfv87v4g5c2zl16264v0cw8jxiddz3";
+    sha256 = "0s6n1whkf5ck2r8782a9l8b736cj2p05and1vjjh7d02pax1lb40";
   };
 
   buildInputs = [ kdelibs ];
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
new file mode 100644
index 000000000000..e05e4d16a06e
--- /dev/null
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -0,0 +1,32 @@
+{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "pdfgrep-${version}";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "http://downloads.sourceforge.net/project/pdfgrep/${version}/${name}.tar.gz";
+    sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
+  };
+
+  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+
+  patchPhase = ''
+    sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
+    sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
+  '';
+
+  # workarround since it can't be hardcoded in pdfgrep
+  preFixup = ''
+    wrapProgram "$out/bin/pdfgrep" \
+      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
+  '';
+
+  meta = {
+    description = "a tool to search text in PDF files";
+    homepage = http://pdfgrep.sourceforge.net/;
+    license = "free";
+    maintainers = with stdenv.lib.maintainers; [qknight];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f4a1797c8909..4753b18cf374 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -595,24 +595,27 @@ let
 
   byobu = callPackage ../tools/misc/byobu { };
 
+  capstone = callPackage ../development/libraries/capstone { };
+
   catdoc = callPackage ../tools/text/catdoc { };
 
   ccnet = callPackage ../tools/networking/ccnet { };
 
-  capstone = callPackage ../development/libraries/capstone { };
+  consul = callPackage ../servers/consul { };
+  consul_ui = callPackage ../servers/consul/ui.nix { };
 
   coprthr = callPackage ../development/libraries/coprthr {
     flex = flex_2_5_35;
   };
 
-  cv = callPackage ../tools/misc/cv { };
-
   crawl = callPackage ../games/crawl { lua = lua5; };
 
-  ditaa = callPackage ../tools/graphics/ditaa { };
+  cv = callPackage ../tools/misc/cv { };
 
   direnv = callPackage ../tools/misc/direnv { };
 
+  ditaa = callPackage ../tools/graphics/ditaa { };
+
   dlx = callPackage ../misc/emulators/dlx { };
 
   eggdrop = callPackage ../tools/networking/eggdrop { };
@@ -964,9 +967,7 @@ let
 
   emv = callPackage ../tools/misc/emv { };
 
-  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse {
-    boost = boost149;
-  };
+  enblendenfuse = callPackage ../tools/graphics/enblend-enfuse { };
 
   encfs = callPackage ../tools/filesystems/encfs { };
 
@@ -1119,6 +1120,8 @@ let
 
   glusterfs = callPackage ../tools/filesystems/glusterfs { };
 
+  glmark2 = callPackage ../tools/graphics/glmark2 { };
+
   glxinfo = callPackage ../tools/graphics/glxinfo { };
 
   gmvault = callPackage ../tools/networking/gmvault { };
@@ -1374,6 +1377,8 @@ let
   kippo = callPackage ../servers/kippo { };
 
   klavaro = callPackage ../games/klavaro {};
+  
+  kzipmix = callPackage_i686 ../tools/compression/kzipmix { };
 
   minidlna = callPackage ../tools/networking/minidlna {
     ffmpeg = ffmpeg_0_10;
@@ -1776,6 +1781,8 @@ let
   };
 
   p0f = callPackage ../tools/security/p0f { };
+  
+  pngout = callPackage ../tools/graphics/pngout { };
 
   hurdPartedCross =
     if crossSystem != null && crossSystem.config == "i586-pc-gnu"
@@ -2166,6 +2173,8 @@ let
 
   tcpcrypt = callPackage ../tools/security/tcpcrypt { };
 
+  tboot = callPackage ../tools/security/tboot { };
+
   tcpdump = callPackage ../tools/networking/tcpdump { };
 
   tcpflow = callPackage ../tools/networking/tcpflow { };
@@ -2205,8 +2214,14 @@ let
 
   torsocks = callPackage ../tools/security/tor/torsocks.nix { };
 
+  tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { };
+
+  tpm-tools = callPackage ../tools/security/tpm-tools { };
+
   trickle = callPackage ../tools/networking/trickle {};
 
+  trousers = callPackage ../tools/security/trousers { };
+
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
 
   ttysnoop = callPackage ../os-specific/linux/ttysnoop {};
@@ -2452,6 +2467,8 @@ let
 
   xclip = callPackage ../tools/misc/xclip { };
 
+  xtitle = callPackage ../tools/misc/xtitle { };
+
   xdelta = callPackage ../tools/compression/xdelta { };
 
   xdummy = callPackage ../tools/misc/xdummy { };
@@ -3289,7 +3306,7 @@ let
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  opa = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/compilers/opa { };
+  opa = let callPackage = newScope pkgs.ocamlPackages_4_00_1; in callPackage ../development/compilers/opa { };
 
   ocamlnat = let callPackage = newScope pkgs.ocamlPackages_3_12_1; in callPackage ../development/ocaml-modules/ocamlnat { };
 
@@ -4124,7 +4141,9 @@ let
 
   spin = callPackage ../development/tools/analysis/spin { };
 
-  splint = callPackage ../development/tools/analysis/splint { };
+  splint = callPackage ../development/tools/analysis/splint {
+    flex = flex_2_5_35;
+  };
 
   stm32flash = callPackage ../development/tools/misc/stm32flash { };
 
@@ -4722,7 +4741,7 @@ let
   gperftools = callPackage ../development/libraries/gperftools { };
 
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
-    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_9; });
+    callPackage = pkgs.newScope (pkgs // { libav = pkgs.libav_10; });
   });
 
   gst_all = {
@@ -6215,6 +6234,8 @@ let
 
   suitesparse = callPackage ../development/libraries/suitesparse { };
 
+  sutils = callPackage ../tools/misc/sutils { };
+
   sword = callPackage ../development/libraries/sword { };
 
   szip = callPackage ../development/libraries/szip { };
@@ -6377,6 +6398,8 @@ let
   xbase = callPackage ../development/libraries/xbase { };
 
   xcb-util-cursor = callPackage ../development/libraries/xcb-util-cursor { };
+ 
+  xdo = callPackage ../tools/misc/xdo { };
 
   xineLib = callPackage ../development/libraries/xine-lib {
     ffmpeg = ffmpeg_1;
@@ -6400,6 +6423,8 @@ let
 
   xvidcore = callPackage ../development/libraries/xvidcore { };
 
+  xylib = callPackage ../development/libraries/xylib { };
+
   yajl = callPackage ../development/libraries/yajl { };
 
   zangband = builderDefsPackage (import ../games/zangband) {
@@ -6845,6 +6870,12 @@ let
     bluez = null;
     avahi = null;
   };
+  pulseaudioFull = pulseaudio.override {
+    bluez = bluez5;
+    avahi = avahi;
+    jackaudioSupport = true;
+    x11Support = true;
+  };
 
   tomcat_connectors = callPackage ../servers/http/apache-modules/tomcat-connectors { };
 
@@ -8151,6 +8182,8 @@ let
 
   inherit (gnome3) baobab;
 
+  bar = callPackage ../applications/window-managers/bar { };
+
   baresip = callPackage ../applications/networking/instant-messengers/baresip {
     ffmpeg = ffmpeg_1;
   };
@@ -8183,6 +8216,8 @@ let
 
   bristol = callPackage ../applications/audio/bristol { };
 
+  bspwm = callPackage ../applications/window-managers/bspwm { };
+
   bvi = callPackage ../applications/editors/bvi { };
 
   calf = callPackage ../applications/audio/calf {
@@ -9084,6 +9119,8 @@ let
 
   lrzsz = callPackage ../tools/misc/lrzsz { };
 
+  luminanceHDR = callPackage ../applications/graphics/luminance-hdr { };
+
   lxdvdrip = callPackage ../applications/video/lxdvdrip { };
 
   handbrake = callPackage ../applications/video/handbrake { };
@@ -9289,6 +9326,8 @@ let
   };
 
   synfigstudio = callPackage ../applications/graphics/synfigstudio { };
+ 
+  sxhkd = callPackage ../applications/window-managers/sxhkd { };
 
   msmtp = callPackage ../applications/networking/msmtp { };
 
@@ -9385,6 +9424,7 @@ let
   };
 
   pdftk = callPackage ../tools/typesetting/pdftk { };
+  pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
   pianobar = callPackage ../applications/audio/pianobar { };
 
@@ -9451,6 +9491,8 @@ let
 
   qbittorrent = callPackage ../applications/networking/p2p/qbittorrent { };
 
+  eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp { };
+
   qemu = callPackage ../applications/virtualization/qemu { };
 
   qmmp = callPackage ../applications/audio/qmmp { };
@@ -10968,6 +11010,8 @@ let
     inherit (pkgs.gnome) gtkglext;
   };
 
+  fityk = callPackage ../applications/science/misc/fityk { };
+
   gravit = callPackage ../applications/science/astronomy/gravit { };
 
   golly = callPackage ../applications/science/misc/golly { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 256d8f9661aa..38de9fb17585 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -308,6 +308,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   boomerang = callPackage ../development/libraries/haskell/boomerang {};
 
+  bound = callPackage ../development/libraries/haskell/bound {};
+
   bv = callPackage ../development/libraries/haskell/bv {};
 
   byteable = callPackage ../development/libraries/haskell/byteable {};
@@ -840,6 +842,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   forceLayout = callPackage ../development/libraries/haskell/force-layout {};
 
+  formatting = callPackage ../development/libraries/haskell/formatting {};
+
   free = callPackage ../development/libraries/haskell/free {};
 
   freeGame = callPackage ../development/libraries/haskell/free-game {};
@@ -1020,6 +1024,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   hashable_1_2_2_0 = callPackage ../development/libraries/haskell/hashable/1.2.2.0.nix {};
   hashable = self.hashable_1_2_2_0;
 
+  hashableExtras = callPackage ../development/libraries/haskell/hashable-extras {};
+
   hashedStorage = callPackage ../development/libraries/haskell/hashed-storage {};
 
   hashtables = callPackage ../development/libraries/haskell/hashtables {};
@@ -1040,6 +1046,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   haskellNames = callPackage ../development/libraries/haskell/haskell-names {};
 
+  HaskellNet = callPackage ../development/libraries/haskell/HaskellNet {};
+
   haskellPackages = callPackage ../development/libraries/haskell/haskell-packages {};
 
   haskellSrc_1_0_1_3 = callPackage ../development/libraries/haskell/haskell-src/1.0.1.3.nix {};
@@ -1060,6 +1068,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hasteCompiler = callPackage ../development/libraries/haskell/haste-compiler {};
 
+  hastePerch = callPackage ../development/libraries/haskell/haste-perch {};
+
   HaTeX = callPackage ../development/libraries/haskell/HaTeX {};
 
   hcltest = callPackage ../development/libraries/haskell/hcltest {};
@@ -1074,6 +1084,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hourglass = callPackage ../development/libraries/haskell/hourglass {};
 
+  hplayground = callPackage ../development/libraries/haskell/hplayground {};
+
   hseCpp = callPackage ../development/libraries/haskell/hse-cpp {};
 
   hsimport = callPackage ../development/libraries/haskell/hsimport {};
@@ -1164,7 +1176,9 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   HList = callPackage ../development/libraries/haskell/HList {};
 
-  hmatrix = callPackage ../development/libraries/haskell/hmatrix {};
+  hmatrix = callPackage ../development/libraries/haskell/hmatrix {
+    liblapack = pkgs.liblapack.override { shared = true; };
+  };
 
   hmatrixSpecial = callPackage ../development/libraries/haskell/hmatrix-special {};
 
@@ -1878,6 +1892,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   punycode = callPackage ../development/libraries/haskell/punycode {};
 
+  pureCdb = callPackage ../development/libraries/haskell/pure-cdb { testSimple = null; };
+
   primitive_0_5_0_1 = callPackage ../development/libraries/haskell/primitive/0.5.0.1.nix {};
   primitive_0_5_2_1 = callPackage ../development/libraries/haskell/primitive/0.5.2.1.nix {};
   primitive_0_5_3_0 = callPackage ../development/libraries/haskell/primitive/0.5.3.0.nix {};
@@ -2766,8 +2782,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   zeromq4Haskell = callPackage ../development/libraries/haskell/zeromq4-haskell { zeromq = pkgs.zeromq4; };
 
   zipArchive_0_2_2_1 = callPackage ../development/libraries/haskell/zip-archive/0.2.2.1.nix {};
-  zipArchive_0_2_3_2 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.2.nix {};
-  zipArchive = self.zipArchive_0_2_3_2;
+  zipArchive_0_2_3_4 = callPackage ../development/libraries/haskell/zip-archive/0.2.3.4.nix {};
+  zipArchive = self.zipArchive_0_2_3_4;
 
   zipper = callPackage ../development/libraries/haskell/zipper {};
 
@@ -2842,6 +2858,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   happyMeta = callPackage ../development/tools/haskell/happy-meta {};
 
+  haskellDocs = callPackage ../development/tools/haskell/haskell-docs {};
+
   haskdogs = callPackage ../development/tools/haskell/haskdogs {};
 
   hasktags = callPackage ../development/tools/haskell/hasktags {};
@@ -2863,8 +2881,14 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     };
   };
 
+  hscope = callPackage ../development/tools/haskell/hscope { testSimple = null; };
+
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  pointfree = callPackage ../development/tools/haskell/pointfree {};
+
+  pointful = callPackage ../development/tools/haskell/pointful {};
+
   ShellCheck = callPackage ../development/tools/misc/ShellCheck { };
 
   SourceGraph = callPackage ../development/tools/haskell/SourceGraph {};
@@ -3006,6 +3030,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
     };
   };
 
+  Allure = callPackage ../games/Allure {};
+
 # End of the main part of the file.
 
 }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2926dd9cf4c2..00c9d0e41510 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -163,11 +163,24 @@ rec {
     pythonDBus = dbus;
   };
 
+  pyqt5 = import ../development/python-modules/pyqt/5.x.nix {
+    inherit (pkgs) stdenv fetchurl pkgconfig qt5 makeWrapper;
+    inherit (pkgs.xorg) lndir;
+    inherit python;
+    sip = sip_4_16;
+    pythonDBus = dbus;
+  };
+
   sip = import ../development/python-modules/sip {
     inherit (pkgs) stdenv fetchurl;
     inherit python;
   };
 
+  sip_4_16 = import ../development/python-modules/sip/4.16.nix {
+    inherit (pkgs) stdenv fetchurl;
+    inherit python;
+  };
+
   tables = import ../development/python-modules/tables {
     inherit (pkgs) stdenv fetchurl bzip2 lzo;
     inherit python buildPythonPackage cython numpy numexpr;
@@ -3739,6 +3752,24 @@ rec {
     };
   });
 
+  httpbin = buildPythonPackage rec {
+    name = "httpbin-0.2.0";
+
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/h/httpbin/${name}.tar.gz";
+      md5 = "9b2bb2fab45f5fa839e9a776a64d6089";
+    };
+
+    propagatedBuildInputs = [ flask markupsafe decorator itsdangerous six ];
+
+    meta = {
+      homepage = https://github.com/kennethreitz/httpbin;
+      description = "HTTP Request & Response Service";
+      license = licenses.mit;
+    };
+
+  };
+
   httplib2 = buildPythonPackage rec {
     name = "httplib2-0.9";
 
@@ -7914,16 +7945,19 @@ rec {
   # cmd.run("tox", "-h")
   # also, buildPythonPackage needs to supply the tox.ini correctly for projects that use tox for their tests
   #
-  # tox = buildPythonPackage rec {
-  #   name = "tox-1.7.0";
-  #
-  #   propagatedBuildInputs = [ py virtualenv ];
-  #
-  #   src = fetchurl {
-  #     url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
-  #     md5 = "5314ceca2b179ad4a9c79f4d817b8a99";
-  #   };
-  # };
+
+  tox = buildPythonPackage rec {
+    name = "tox-1.7.2";
+  
+    propagatedBuildInputs = [ py virtualenv ];
+
+    doCheck = false;
+  
+    src = fetchurl {
+      url = "https://pypi.python.org/packages/source/t/tox/${name}.tar.gz";
+      md5 = "0d9b3acb1a9252659d753b0ae6b9b264";
+    };
+  };
 
   smmap = buildPythonPackage rec {
     name = "smmap-0.8.2";
@@ -8141,10 +8175,10 @@ rec {
   });
 
   virtualenv = buildPythonPackage rec {
-    name = "virtualenv-1.11.4";
+    name = "virtualenv-1.11.6";
     src = fetchurl {
       url = "http://pypi.python.org/packages/source/v/virtualenv/${name}.tar.gz";
-      md5 = "9accc2d3f0ec1da479ce2c3d1fdff06e";
+      md5 = "f61cdd983d2c4e6aeabb70b1060d6f49";
     };
 
     inherit recursivePthLoader;
@@ -9051,11 +9085,11 @@ rec {
 
   cliapp = buildPythonPackage rec {
     name = "cliapp-${version}";
-    version = "1.20130808";
+    version = "1.20140719";
 
     src = fetchurl rec {
       url = "http://code.liw.fi/debian/pool/main/p/python-cliapp/python-cliapp_${version}.orig.tar.gz";
-      sha256 = "0i9fqkahrc16mnxjw8fcr4hwrq3ibfrj2lzzbzzb7v5yk5dlr532";
+      sha256 = "0kxl2q85n4ggvbw2m8crl11x8n637mx6y3a3b5ydw8nhlsiqijgp";
     };
 
     buildInputs = [ sphinx ];