summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/pianobar/default.nix4
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/editors/idea/common.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix14
-rw-r--r--pkgs/applications/editors/texmaker/default.nix4
-rw-r--r--pkgs/applications/editors/texstudio/default.nix6
-rw-r--r--pkgs/applications/editors/textadept/default.nix163
-rw-r--r--pkgs/applications/misc/netsurf/browser/default.nix78
-rw-r--r--pkgs/applications/misc/netsurf/buildsystem/default.nix24
-rw-r--r--pkgs/applications/misc/netsurf/libcss/default.nix36
-rw-r--r--pkgs/applications/misc/netsurf/libdom/default.nix38
-rw-r--r--pkgs/applications/misc/netsurf/libhubbub/default.nix34
-rw-r--r--pkgs/applications/misc/netsurf/libnsbmp/default.nix32
-rw-r--r--pkgs/applications/misc/netsurf/libnsfb/default.nix31
-rw-r--r--pkgs/applications/misc/netsurf/libnsgif/default.nix30
-rw-r--r--pkgs/applications/misc/netsurf/libnsutils/default.nix30
-rw-r--r--pkgs/applications/misc/netsurf/libparserutils/default.nix30
-rw-r--r--pkgs/applications/misc/netsurf/libutf8proc/default.nix30
-rw-r--r--pkgs/applications/misc/netsurf/libwapcaplet/default.nix30
-rw-r--r--pkgs/applications/misc/netsurf/nsgenbind/default.nix30
-rw-r--r--pkgs/applications/misc/nix-tour/default.nix37
-rw-r--r--pkgs/applications/misc/sequelpro/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/conkeror/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/tkabber/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/trojita/default.nix41
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix31
-rw-r--r--pkgs/applications/science/logic/glucose/default.nix25
-rw-r--r--pkgs/applications/science/logic/glucose/syrup.nix25
-rw-r--r--pkgs/applications/science/logic/spass/default.nix25
-rw-r--r--pkgs/applications/video/clipgrab/default.nix10
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix6
-rw-r--r--pkgs/applications/window-managers/stumpwm/default.nix31
-rw-r--r--pkgs/build-support/libredirect/libredirect.c7
-rw-r--r--pkgs/data/fonts/emojione/default.nix35
-rw-r--r--pkgs/data/fonts/font-awesome-ttf/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/epiphany/libxml_depend.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/epiphany/libxml_depend.patch10
-rw-r--r--pkgs/desktops/gnome-3/3.20/misc/geary/disable_valadoc.patch24
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch372
-rw-r--r--pkgs/development/compilers/colm/default.nix1
-rw-r--r--pkgs/development/compilers/ghc/with-packages.nix70
-rw-r--r--pkgs/development/compilers/terra/default.nix13
-rw-r--r--pkgs/development/haskell-modules/hoogle.nix2
-rw-r--r--pkgs/development/interpreters/php/default.nix3
-rw-r--r--pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch21
-rw-r--r--pkgs/development/libraries/libav/default.nix6
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/pcre/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch50
-rw-r--r--pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix46
-rw-r--r--pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch27
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix14
-rw-r--r--pkgs/development/libraries/zeromq/sodium_warning.patch70
-rw-r--r--pkgs/development/python-modules/scipy-0.16.1-decorator-fix.patch487
-rw-r--r--pkgs/development/python-modules/theano/cuda/default.nix62
-rw-r--r--pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch1786
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix1
-rw-r--r--pkgs/development/tools/pypi2nix/deps.nix17
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix12
-rw-r--r--pkgs/games/factorio/default.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix4
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/nvidia-340.76-kernel-4.0.patch28
-rw-r--r--pkgs/servers/certificate-transparency/default.nix57
-rw-r--r--pkgs/servers/certificate-transparency/protobuf-include-from-env.patch14
-rw-r--r--pkgs/servers/coturn/default.nix27
-rw-r--r--pkgs/servers/coturn/pure-configure.patch17
-rw-r--r--pkgs/servers/inginious/default.nix71
-rw-r--r--pkgs/servers/matrix-synapse/default.nix15
-rw-r--r--pkgs/servers/nosql/riak/riak-1.3.1.patch64
-rw-r--r--pkgs/servers/nosql/riak/riak-admin-1.3.1.patch52
-rw-r--r--pkgs/servers/uwsgi/default.nix9
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix8
-rw-r--r--pkgs/shells/tcsh/avoid-gcc5-wrong-optimisation.patch28
-rw-r--r--pkgs/shells/tcsh/default.nix40
-rw-r--r--pkgs/stdenv/adapters.nix8
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix8
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/misc/autorevision/default.nix34
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/misc/screen/default.nix35
-rw-r--r--pkgs/tools/misc/units/default.nix7
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-neo-manager/default.nix28
-rw-r--r--pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff17
-rw-r--r--pkgs/tools/networking/aria2/default.nix23
-rw-r--r--pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix29
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8/default.nix (renamed from pkgs/tools/networking/network-manager/0.9.8.nix)0
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8/libnl-3.2.25.patch (renamed from pkgs/tools/networking/network-manager/libnl-3.2.25.patch)0
-rw-r--r--pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch (renamed from pkgs/tools/networking/network-manager/nixos-purity.patch)0
-rw-r--r--pkgs/tools/networking/network-manager/default.nix50
-rw-r--r--pkgs/tools/networking/network-manager/l2tp-purity.patch26
-rw-r--r--pkgs/tools/networking/network-manager/l2tp.nix47
-rw-r--r--pkgs/tools/networking/network-manager/nm-platform.patch17
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix21
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix17
-rw-r--r--pkgs/tools/networking/network-manager/pptp-purity.patch26
-rw-r--r--pkgs/tools/networking/network-manager/pptp.nix27
-rw-r--r--pkgs/tools/networking/network-manager/vpnc.nix17
-rw-r--r--pkgs/tools/networking/ssh-ident/default.nix27
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix6
-rw-r--r--pkgs/tools/typesetting/biber/default.nix8
-rw-r--r--pkgs/tools/typesetting/tex/texlive-new/bin.nix6
-rw-r--r--pkgs/top-level/all-packages.nix119
-rw-r--r--pkgs/top-level/default.nix16
-rw-r--r--pkgs/top-level/guile-2-test.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix38
-rw-r--r--pkgs/top-level/python-packages.nix142
-rw-r--r--pkgs/top-level/release-lib.nix2
-rw-r--r--pkgs/top-level/release-python.nix2
-rw-r--r--pkgs/top-level/release-small.nix2
-rw-r--r--pkgs/top-level/release.nix2
-rw-r--r--pkgs/top-level/stdenv.nix4
118 files changed, 1666 insertions, 3708 deletions
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index 09bb75b2e41..87f79583c3b 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, libao, readline, json_c, libgcrypt, libav, curl }:
 
 stdenv.mkDerivation rec {
-  name = "pianobar-2015.11.22";
+  name = "pianobar-2016.06.02";
 
   src = fetchurl {
     url = "http://6xq.net/projects/pianobar/${name}.tar.bz2";
-    sha256 = "0arjvs31d108l1mn2k2hxbpg3mxs47vqzxm0lzdpfcjvypkckyr3";
+    sha256 = "0n9544bfsdp04xqcjm4nhfvp357dx0c3gpys0rjkq09nzv8b1vy6";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index d6db4403d77..706848b992a 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -5,7 +5,7 @@
 assert stdenv.system == "x86_64-linux";
 
 let
-  version = "1.0.28.89.gf959d4ce-37";
+  version = "1.0.32.94.g8a839395-32";
 
   deps = [
     alsaLib
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "06v6fmjn0zi1riqhbmwkrq4m1q1vs95p348i8c12hqvsrp0g2qy5";
+      sha256 = "1341v1j9xwj8pwmhl3q7znj3c27x1v4l61khczrgxbrfb56kina1";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/idea/common.nix b/pkgs/applications/editors/idea/common.nix
index 556b333ce75..170a12d6d69 100644
--- a/pkgs/applications/editors/idea/common.nix
+++ b/pkgs/applications/editors/idea/common.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip
-, coreutils, gnugrep, which, git, python, unzip, jdk }:
+, coreutils, gnugrep, which, git, python, unzip }:
 
-{ name, product, version, build, src, wmClass, meta } @ attrs:
+{ name, product, version, build, src, wmClass, jdk, meta } @ attrs:
 
 with stdenv.lib;
 
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 4528a6780d6..6ef4edb5362 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -12,7 +12,7 @@ let
 
   buildAndroidStudio = { name, version, build, src, license, description, wmClass }:
     let drv = (mkIdeaProduct rec {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "Studio";
       meta = with stdenv.lib; {
         homepage = https://developer.android.com/sdk/installing/studio.html;
@@ -38,7 +38,7 @@ let
 
   buildClion = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "CLion";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/clion/";
@@ -54,7 +54,7 @@ let
 
   buildIdea = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "IDEA";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/idea/";
@@ -71,7 +71,7 @@ let
 
   buildRubyMine = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "RubyMine";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/ruby/";
@@ -84,7 +84,7 @@ let
 
   buildPhpStorm = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "PhpStorm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/phpstorm/";
@@ -101,7 +101,7 @@ let
 
   buildWebStorm = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "WebStorm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/webstorm/";
@@ -118,7 +118,7 @@ let
 
   buildPycharm = { name, version, build, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass;
+      inherit name version build src wmClass jdk;
       product = "PyCharm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/pycharm/";
diff --git a/pkgs/applications/editors/texmaker/default.nix b/pkgs/applications/editors/texmaker/default.nix
index f4d9d4ccdd5..eb6e1baccb5 100644
--- a/pkgs/applications/editors/texmaker/default.nix
+++ b/pkgs/applications/editors/texmaker/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "texmaker";
-  version = "4.4.1";
+  version = "4.5";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.xm1math.net/texmaker/${name}.tar.bz2";
-    sha256 = "1d5lb4sibdhvzgfr0zi48j92b4acvvvdy2biqi3jzjdnzy9r94w0";
+    sha256 = "056njk6j8wma23mlp7xa3rgfaxx0q8ynwx8wkmj7iy0b85p9ds9c";
   };
 
   buildInputs = [ qt4 poppler_qt4 zlib ];
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 4accf1cad67..69f03f39271 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "texstudio";
-  version = "2.9.4";
+  version = "2.11.0";
   name = "${pname}-${version}";
   altname="Texstudio";
 
   src = fetchurl {
     url = "mirror://sourceforge/texstudio/${name}.tar.gz";
-    sha256 = "1smmc4xqs8x8qzp6iqj2wr4xarfnxxxp6rq6chx1kb256w75jwfw";
+    sha256 = "170e6d68952251e8c64589b0d147cb7692005e135cc6fc14579c6fd593f54307";
   };
 
   buildInputs = [ qt4 qmake4Hook poppler_qt4 zlib pkgconfig ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
-	Fork of TeXMaker, this editor is a full fledged IDE for 
+	Fork of TeXMaker, this editor is a full fledged IDE for
 	LaTeX editing with completion, structure viewer, preview,
 	spell checking and support of any compilation chain.
 	'';
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix
index a8f12bd4ece..f412a9bada2 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/default.nix
@@ -1,69 +1,158 @@
-{stdenv, fetchhg, fetchurl, fetchzip, gtk, glib, pkgconfig, unzip, ncurses, zip}:
+{ stdenv, fetchhg, fetchurl, fetchzip, gtk, glib, pkgconfig, unzip, ncurses, zip }:
 let
-  buildInputs = [
-    gtk glib pkgconfig unzip ncurses zip
-  ];
+  # Textadept requires a whole bunch of external dependencies.
+  # The build system expects to be able to download them with wget.
+  # This expression gets Nix to fetch them instead.
+
+
   cached_url = url: sha256: fetchurl {
     inherit sha256 url;
   };
-  get_url = url: sha256: ''
-    cp ${(cached_url url sha256)} $(basename ${(cached_url url sha256)} | sed -e 's@^[0-9a-z]\+-@@')
-    touch $(basename ${(cached_url url sha256)} | sed -e 's@^[0-9a-z]\+-@@')
+
+  get_url = url: sha256: let
+    store_path = cached_url url sha256;
+  in ''
+    local_path=$(basename ${store_path} | sed -e 's@^[0-9a-z]\+-@@')
+
+    # Copy the file from the Nix store and remove the hash part.
+    cp ${store_path} $local_path
+
+    # Update its access and modified times.
+    touch $local_path
   '';
+
   cached_url_zip = url: sha256: fetchzip {
     inherit sha256 url;
   };
-  get_url_zip = url: sha256: let zipdir = (cached_url_zip url sha256); in ''
-    ( d=$PWD; cd $TMPDIR; name=$(basename ${zipdir} .zip | sed -e 's/^[a-z0-9]*-//'); 
-      cp -r ${zipdir} $name; chmod u+rwX -R $name; zip -r $d/$name.zip $name )
-    touch $name
+
+  get_url_zip = url: sha256: let
+    store_path = cached_url_zip url sha256;
+  in ''
+    (
+      build_dir=$PWD
+      cd $TMPDIR
+
+      local_path=$(basename ${store_path} .zip | sed -e 's/^[a-z0-9]*-//')
+
+      cp -r ${store_path} $local_path
+      chmod u+rwX -R $local_path
+      zip -r $build_dir/$local_path.zip $local_path
+      touch $local_path
+    )
   '';
+
+
+  # These lists are taken from the Makefile.
+  scintilla_tgz  = "scintilla365.tgz";
+  scinterm_zip   = "scinterm_1.8.zip";
+  scintillua_zip = "scintillua_3.6.5-1.zip";
+  lua_tgz        = "lua-5.3.2.tar.gz";
+  lpeg_tgz       = "lpeg-1.0.0.tar.gz";
+  lfs_zip        = "v_1_6_3.zip";
+  luautf8_zip    = "0.1.1.zip";
+  lspawn_zip     = "lspawn_1.5.zip";
+  luajit_tgz     = "LuaJIT-2.0.3.tar.gz";
+  libluajit_tgz  = "libluajit_2.0.3.x86_64.tgz";
+  gtdialog_zip   = "gtdialog_1.2.zip";
+  cdk_tgz        = "cdk-5.0-20150928.tgz";
+  termkey_tgz    = "libtermkey-0.17.tar.gz";
+  bombay_zip     = "bombay.zip";
+
+  scinterm_url   = "http://foicica.com/scinterm/download/" + scinterm_zip;
+  scintillua_url = "http://foicica.com/scintillua/download/" + scintillua_zip;
+  gtdialog_url   = "http://foicica.com/gtdialog/download/" + gtdialog_zip;
+  lspawn_url     = "http://foicica.com/lspawn/download/" + lspawn_zip;
+
+  scintilla_url  = "http://prdownloads.sourceforge.net/scintilla/" + scintilla_tgz;
+  lua_url        = "http://www.lua.org/ftp/" + lua_tgz;
+  lpeg_url       = "http://www.inf.puc-rio.br/~roberto/lpeg/" + lpeg_tgz;
+  lfs_url        = "https://github.com/keplerproject/luafilesystem/archive/" + lfs_zip;
+  luautf8_url    = "https://github.com/starwing/luautf8/archive/" + luautf8_zip;
+  luajit_url     = "http://luajit.org/download/" + luajit_tgz;
+  libluajit_url  = "http://foicica.com/textadept/download/" + libluajit_tgz;
+  cdk_url        = "http://invisible-mirror.net/archives/cdk/" + cdk_tgz;
+  bombay_url     = "http://foicica.com/hg/bombay/archive/tip.zip";
+  termkey_url    = "http://www.leonerd.org.uk/code/libtermkey/" + termkey_tgz;
+
+
+  get_scintilla   = get_url scintilla_url   "1s5zbkn5f3vs8gbnjlkfzw4b137y12m3c89lyc4pmvqvrvxgyalj";
+  get_scinterm    = get_url scinterm_url    "02ax6cjpxylfz7iqp1cjmsl323in066a38yklmsyzdl3w7761nxi";
+  get_scintillua  = get_url scintillua_url  "0s4q7a9mgvxh0msi18llkczhcgafaiizw9qm1p9w18r2a7wjq9wc";
+  get_lua         = get_url lua_url         "13x6knpv5xsli0n2bib7g1nrga2iacy7qfy63i798dm94fxwfh67";
+  get_lpeg        = get_url lpeg_url        "13mz18s359wlkwm9d9iqlyyrrwjc6iqfpa99ai0icam2b3khl68h";
+  get_lfs         = get_url_zip lfs_url     "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri";
+  get_luautf8_zip = get_url_zip luautf8_url "1dgmxdk88njpic4d4sn2wzlni4b6sfqcsmh2hrraxivpqf9ps7f7";
+  get_lspawn      = get_url lspawn_url      "09c6v9irblay2kv1n7i59pyj9g4xb43c6rfa7ba5m353lymcwwqi";
+  get_luajit      = get_url luajit_url      "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm";
+  get_libluajit   = get_url libluajit_url   "1nhvcdjpqrhd5qbihdm3bxpw84irfvnw2vmfqnsy253ay3dxzrgy";
+  get_gtdialog    = get_url gtdialog_url    "0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0";
+  get_cdk         = get_url cdk_url         "0j74l874y33i26y5kjg3pf1vswyjif8k93pqhi0iqykpbxfsg382";
+  get_bombay      = get_url_zip bombay_url  "05fnh1imxdb4sb076fzqywqszp31whdbkzmpkqxc8q2r1m5vj3hg"
+    + "mv tip.zip bombay.zip\n";
+  get_termkey     = get_url termkey_url     "12gkrv1ldwk945qbpprnyawh0jz7rmqh18fyndbxiajyxmj97538";
+
+
+  get_deps = get_scintilla
+    + get_scinterm
+    + get_scintillua
+    + get_lua
+    + get_lpeg
+    + get_lfs
+    + get_luautf8_zip
+    + get_lspawn
+    + get_luajit
+    + get_libluajit
+    + get_gtdialog
+    + get_cdk
+    + get_bombay
+    + get_termkey;
 in
-stdenv.mkDerivation rec{
-  version = "8.2";
-  scintillua_version = "3.6.0-1";
+stdenv.mkDerivation rec {
+  version = "8.7";
   name = "textadept-${version}";
-  inherit buildInputs;
+
+  buildInputs = [
+    gtk glib pkgconfig unzip ncurses zip
+  ];
+
   src = fetchhg {
     url = http://foicica.com/hg/textadept;
     rev = "textadept_${version}";
-    sha256 = "1vb6a15fyk7ixcv5fy0g400lxbj6dp5ndbmyx53d28idbdkz9ap1";
+    sha256 = "1gi73wk11w3rbkxqqdp8z9g83qiyhx6gxry221vxjxpqsl9pvhlf";
   };
+
   preConfigure = ''
     cd src
+
+    # Make a dummy wget.
     mkdir wget
     echo '#! ${stdenv.shell}' > wget/wget
     chmod a+x wget/wget
     export PATH="$PATH:$PWD/wget"
-    ${get_url http://prdownloads.sourceforge.net/scintilla/scintilla360.tgz "07ib4w3n9kqfaia2yngj2q7ab5r55zn0hccfzph6vas9hl8vk9zf"}
-    ${get_url http://foicica.com/scinterm/download/scinterm_1.6.zip "0ixwj9il6ri1xl4nvb6f108z4qhrahysza6frbbaqmbdz21hnmcl"}
-    ${get_url http://foicica.com/scintillua/download/scintillua_3.6.0-1.zip "0zk1ciyyi0d3dz4dzzq5fa74505pvqf0w5yszl7l29c1l4hkk561"}
-    ${get_url http://www.lua.org/ftp/lua-5.3.1.tar.gz "05xczy5ws6d7ic3f9h9djwg983bpa4pmds3698264bncssm6f9q7"}
-    ${get_url http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-0.12.2.tar.gz "01002avq90yc8rgxa5z9a1768jm054iid3pnfpywdcfij45jgbba"}
-    ${get_url_zip http://github.com/keplerproject/luafilesystem/archive/v_1_6_3.zip "1hxcnqj53540ysyw8fzax7f09pl98b8f55s712gsglcdxp2g2pri"}
-    ${get_url http://foicica.com/lspawn/download/lspawn_1.2.zip "1fhfi274bxlsdvva5q5j0wv8hx68cmf3vnv9spllzad4jdvz82xv"}
-    ${get_url http://luajit.org/download/LuaJIT-2.0.3.tar.gz "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"}
-    ${get_url http://foicica.com/gtdialog/download/gtdialog_1.2.zip "0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0"}
-    ${get_url ftp://invisible-island.net/cdk/cdk-5.0-20150928.tgz "028da75d5f777a1c4184f88e34918bd273bd83bbe3c959bc11710c4f0ea2e448"}
-    mv cdk-*.tgz cdk.tar.gz
-    ${get_url_zip http://foicica.com/hg/bombay/archive/d704272c3629.zip "19dg3ky87rfy0a3319vmv18hgn9spplpznvlqnk3djh239ddpplw"}
-    mv d704*.zip bombay.zip
-    ${get_url http://www.leonerd.org.uk/code/libtermkey/libtermkey-0.17.tar.gz "12gkrv1ldwk945qbpprnyawh0jz7rmqh18fyndbxiajyxmj97538"}
+
+    ${get_deps}
+
+    # Let the build system do whatever setup it needs to do with these files.
     make deps
   '';
+
   postBuild = ''
     make curses
   '';
+
   postInstall = ''
     make curses install PREFIX=$out MAKECMDGOALS=curses
   '';
-  makeFlags = ["PREFIX=$(out)"];
-  meta = {
-    inherit version;
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
     description = "An extensible text editor based on Scintilla with Lua scripting";
-    license = stdenv.lib.licenses.mit ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    homepage = "http://foicica.com/textadept";
+    homepage = http://foicica.com/textadept;
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin mirrexagon ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/netsurf/browser/default.nix b/pkgs/applications/misc/netsurf/browser/default.nix
new file mode 100644
index 00000000000..2b9b254f20b
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/browser/default.nix
@@ -0,0 +1,78 @@
+{ stdenv, fetchurl, pkgconfig, libpng, openssl, curl, gtk2, check
+, libxml2, libidn, perl, nettools, perlPackages
+, libXcursor, libXrandr, makeWrapper
+, buildsystem
+, nsgenbind
+, libnsfb
+, libwapcaplet
+, libparserutils
+, libcss
+, libhubbub
+, libdom
+, libnsbmp
+, libnsgif
+, libnsutils
+, libutf8proc
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${version}";
+  version = "3.5";
+
+  # UIS incldue Framebuffer, and gtk, but
+  # Framebuffer is buggy. To enable, make sure
+  # to also build netsurf-libnsfb with ui=framebuffer
+  # and switch the ui here to framebuffer
+  ui = "gtk";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/netsurf/releases/source/netsurf-${version}-src.tar.gz";
+    sha256 = "1k0x8mzgavfy7q9kywl6kzsc084g1xlymcnsxi5v6jp279nsdwwq";
+  };
+
+  buildInputs = [ pkgconfig libpng openssl curl gtk2 check libxml2 libidn perl
+    nettools perlPackages.HTMLParser libXcursor libXrandr makeWrapper
+    buildsystem
+    nsgenbind
+    libnsfb
+    libwapcaplet
+    libparserutils
+    libcss
+    libhubbub
+    libdom
+    libnsbmp
+    libnsgif
+    libnsutils
+    libutf8proc
+ ];
+
+  preConfigure = ''
+    cat <<EOF > Makefile.conf
+    override NETSURF_GTK_RESOURCES := $out/share/Netsurf/${ui}/res
+    override NETSURF_USE_GRESOURCE := YES
+    EOF
+  '';
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+    "TARGET=${ui}"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/Netsurf/${ui}
+    cmd=$(case "${ui}" in framebuffer) echo nsfb;; gtk) echo nsgtk;; esac)
+    cp $cmd $out/bin/netsurf
+    wrapProgram $out/bin/netsurf --set NETSURFRES $out/share/Netsurf/${ui}/res
+    tar -hcf - ${ui}/res | (cd $out/share/Netsurf/ && tar -xvpf -)
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Free opensource web browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/buildsystem/default.nix b/pkgs/applications/misc/netsurf/buildsystem/default.nix
new file mode 100644
index 00000000000..f64fbe8528b
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/buildsystem/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-buildsystem-${version}";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz";
+    sha256 = "0wdgvasrjik1dgvvpqbppbpyfzkqd1v45x3g9rq7p67n773azinv";
+  };
+
+  makeFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Build system for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libcss/default.nix b/pkgs/applications/misc/netsurf/libcss/default.nix
new file mode 100644
index 00000000000..9db681bf5c1
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libcss/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, perl
+, buildsystem
+, libwapcaplet
+, libparserutils
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libcss";
+  version = "0.6.0";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "0qp4p1q1dwgdra4pkrzd081zjzisxkgwx650ijx323j8bj725daf";
+  };
+
+  buildInputs = [ pkgconfig perl
+    buildsystem
+    libwapcaplet
+    libparserutils
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Cascading Style Sheets library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libdom/default.nix b/pkgs/applications/misc/netsurf/libdom/default.nix
new file mode 100644
index 00000000000..9287ee9a084
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libdom/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, expat
+, buildsystem
+, libparserutils
+, libwapcaplet
+, libhubbub
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libdom";
+  version = "0.3.0";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "1kk6qbqagx5ypiy9kf0059iqdzyz8fqaw336vzhb5gnrzjw3wv4a";
+  };
+
+  buildInputs = [ pkgconfig expat
+    buildsystem
+    libparserutils
+    libwapcaplet
+    libhubbub
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Document Object Model library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libhubbub/default.nix b/pkgs/applications/misc/netsurf/libhubbub/default.nix
new file mode 100644
index 00000000000..ef319e95089
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libhubbub/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, perl
+, buildsystem
+, libparserutils
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libhubbub";
+  version = "0.3.3";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "101781iw32p47386fxqr01nrkywi12w17ajh02k2vlga4z8zyv86";
+  };
+
+  buildInputs = [ pkgconfig perl
+    buildsystem
+    libparserutils
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "HTML5 parser library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsbmp/default.nix b/pkgs/applications/misc/netsurf/libnsbmp/default.nix
new file mode 100644
index 00000000000..44f644e162b
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libnsbmp/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libnsbmp";
+  version = "0.1.3";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "0gmvzw1whh7553d6s98vr4ri2whjwrgggcq1z5b160gwjw20mzyy";
+  };
+
+  buildInputs = [ pkgconfig
+    buildsystem
+  ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "BMP Decoder for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsfb/default.nix b/pkgs/applications/misc/netsurf/libnsfb/default.nix
new file mode 100644
index 00000000000..3e2346597fa
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libnsfb/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, ui? "gtk"
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libnsfb";
+  version = "0.1.4";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "176f8why9gzbaca9nnxjqasl02qzc6g507z5w3dzkcjifnkz4mzl";
+  };
+
+  buildInputs = [ pkgconfig buildsystem ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+    "TARGET=${ui}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "CSS parser and selection library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsgif/default.nix b/pkgs/applications/misc/netsurf/libnsgif/default.nix
new file mode 100644
index 00000000000..09ec6c6ecc3
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libnsgif/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libnsgif";
+  version = "0.1.3";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "1a4z45gh0fw4iybf34fig725av25h31ffk0azi0snzh4130cklnk";
+  };
+
+  buildInputs = [ buildsystem pkgconfig];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "GIF Decoder for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libnsutils/default.nix b/pkgs/applications/misc/netsurf/libnsutils/default.nix
new file mode 100644
index 00000000000..9d931d6bea2
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libnsutils/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libnsutils";
+  version = "0.0.2";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "03p4xmd08yhj70nyj7acjccmmshs59lv4n4zsqpsn5lgkwa23lzy";
+  };
+
+  buildInputs = [ buildsystem pkgconfig];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Generalised utility library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libparserutils/default.nix b/pkgs/applications/misc/netsurf/libparserutils/default.nix
new file mode 100644
index 00000000000..275c2cccaef
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libparserutils/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, perl
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libparserutils";
+  version = "0.2.3";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "01gzlsabgl6x0icd8758d9jqs8rrf9574bdkjainn04w3fs3znf5";
+  };
+
+  buildInputs = [ buildsystem perl ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Parser building library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libutf8proc/default.nix b/pkgs/applications/misc/netsurf/libutf8proc/default.nix
new file mode 100644
index 00000000000..b2057e1889f
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libutf8proc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, pkgconfig
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libutf8proc";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "0xf659y3c6ikjnip47r30wv796a34d71p6qhc4xjs64iqszm1sbq";
+  };
+
+  buildInputs = [ buildsystem pkgconfig];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "UTF8 Processing library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/libwapcaplet/default.nix b/pkgs/applications/misc/netsurf/libwapcaplet/default.nix
new file mode 100644
index 00000000000..edcc45ca0fa
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/libwapcaplet/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-${libname}-${version}";
+  libname = "libwapcaplet";
+  version = "0.3.0";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
+    sha256 = "0cs1dd2afjgc3wf5gqg434hv6jdabrp9qvlpl4dp53nhkyfywna3";
+  };
+
+  buildInputs = [ buildsystem ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "String internment library for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/netsurf/nsgenbind/default.nix b/pkgs/applications/misc/netsurf/nsgenbind/default.nix
new file mode 100644
index 00000000000..0985a182520
--- /dev/null
+++ b/pkgs/applications/misc/netsurf/nsgenbind/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl
+, flex, bison
+, buildsystem
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "netsurf-nsgenbind-${version}";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "http://download.netsurf-browser.org/libs/releases/nsgenbind-${version}-src.tar.gz";
+    sha256 = "16xsazly7gxwywmlkf2xix9b924sj3skhgdak7218l0nc62a08gg";
+  };
+
+  buildInputs = [ buildsystem flex bison ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "NSSHARED=${buildsystem}/share/netsurf-buildsystem"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.netsurf-browser.org/";
+    description = "Generator for JavaScript bindings for netsurf browser";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.vrthra ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/nix-tour/default.nix b/pkgs/applications/misc/nix-tour/default.nix
new file mode 100644
index 00000000000..a6bcff06626
--- /dev/null
+++ b/pkgs/applications/misc/nix-tour/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchgit, electron } :
+
+stdenv.mkDerivation rec {
+  name = "nix-tour";
+
+  buildInputs = [ electron ];
+
+  version = "v0.0.1";
+
+  src = fetchgit {
+    url = "https://github.com/nixcloud/tour_of_nix";
+    rev = "refs/tags/${version}";
+    sha256 = "09b1vxli4zv1nhqnj6c0vrrl51gaira94i8l7ww96fixqxjgdwvb";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share
+    cp -R * $out/share
+    chmod 0755 $out/share/ -R
+    echo "#!${stdenv.shell}" > $out/bin/nix-tour
+    echo "cd $out/share/" >> $out/bin/nix-tour
+    echo "${electron}/bin/electron $out/share/electron-main.js" >> $out/bin/nix-tour
+    chmod 0755 $out/bin/nix-tour
+  '';
+
+  meta = with stdenv.lib; {
+    description = "'the tour of nix' from nixcloud.io/tour as offline version";
+    homepage = "https://nixcloud.io/tour";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ qknight ];
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/applications/misc/sequelpro/default.nix b/pkgs/applications/misc/sequelpro/default.nix
new file mode 100644
index 00000000000..4908769bef6
--- /dev/null
+++ b/pkgs/applications/misc/sequelpro/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, undmg }:
+
+stdenv.mkDerivation rec {
+  name = "sequel-pro-${version}";
+  version = "1.1.2";
+
+  src = fetchurl {
+    url = "https://github.com/sequelpro/sequelpro/releases/download/release-1.1.2/sequel-pro-1.1.2.dmg";
+    sha256 = "1il7yc3f0yzxkra27bslnmka5ycxzx0q4m3xz2j9r7iyq5izsd3v";
+  };
+
+  buildInputs = [ undmg ];
+  installPhase = ''
+    mkdir -p "$out/Applications/Sequel Pro.app"
+    cp -R . "$out/Applications/Sequel Pro.app"
+    chmod +x "$out/Applications/Sequel Pro.app/Contents/MacOS/Sequel Pro"
+  '';
+
+  meta = {
+    description = "MySQL database management for Mac OS X";
+    homepage = http://www.sequelpro.com/;
+    license = stdenv.lib.licenses.mit;
+    platforms = stdenv.lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix
index abe3a071138..4da4c74d1c3 100644
--- a/pkgs/applications/networking/browsers/conkeror/default.nix
+++ b/pkgs/applications/networking/browsers/conkeror/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pkgname = "conkeror";
-  version = "1.0pre-20160130";
+  version = "1.0.3";
   name = "${pkgname}-${version}";
  
   src = fetchgit {
     url = git://repo.or.cz/conkeror.git;
-    rev = "3e4732cd0d15aa70121fe0a0403103b777c964bf";
-    sha256 = "1299b1kdfd2vip3w02jzvj2i8scjpsvpx19d2c8ms2pizz7xxmp4";
+    rev = "refs/tags/${version}";
+    sha256 = "06fhfk8km3gd1lc19543zn0c71zfbn8wsalinvm1dbgi724f52pd";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index 2777cb15fca..163eb8cf589 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -48,8 +48,8 @@ stdenv.mkDerivation {
       --prefix GIO_EXTRA_MODULES : "${glib_networking.out}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/usr/share/:$out/share/:$GSETTINGS_SCHEMAS_PATH"     \
       --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"                         \
-      --set LUA_PATH '"${luaKitPath};${luaPath};"'                      \
-      --set LUA_CPATH '"${luaCPath};"'
+      --set LUA_PATH '${luaKitPath};${luaPath};'                      \
+      --set LUA_CPATH '${luaCPath};'
   '';
 
 }
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 7fa944d86c0..4b7b56c69ea 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.17.0.1"; in
+let version = "3.18.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "0ai3a0nys3yjmlvlv57nli77x6x0a2r409b4f5w4kr9mi6f4z4a7";
+    sha256 = "1qnpbx2684r529ldih6fi5anjlcgqn2xfcls0q38iadrk1qnqr1p";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/tkabber/default.nix b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
index 9c84e60601b..b4403a780ed 100644
--- a/pkgs/applications/networking/instant-messengers/tkabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tkabber/default.nix
@@ -51,7 +51,7 @@ in mkTkabber (main // {
     for prog in $out/bin/*; do
       wrapProgram "$prog" \
         --prefix PATH : "${tk}/bin" \
-        --set TCLLIBPATH '"${tclLibPaths}"' \
+        --set TCLLIBPATH '${tclLibPaths}' \
         ${optionalString withSitePlugins ''
         --set TKABBER_SITE_PLUGINS '${mkTkabber plugins}/share/tkabber-plugins'
         ''}
diff --git a/pkgs/applications/networking/mailreaders/trojita/default.nix b/pkgs/applications/networking/mailreaders/trojita/default.nix
new file mode 100644
index 00000000000..892d9d8fa57
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/trojita/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, lib
+, fetchgit
+, cmake
+, qtbase
+, qtwebkit
+, makeQtWrapper
+}:
+
+stdenv.mkDerivation rec {
+  name = "trojita-${version}";
+  version = "0.7";
+
+  src = fetchgit {
+    url = "https://anongit.kde.org/trojita.git";
+    rev = "065d527c63e8e4a3ca0df73994f848b52e14ed58";
+    sha256 = "1zlwhir33hha2p3l08wnb4njnfdg69j88ycf1fa4q3x86qm3r7hw";
+  };
+
+  buildInputs = [
+    cmake
+    qtbase
+    qtwebkit
+  ];
+
+  nativeBuildInputs = [
+    makeQtWrapper
+  ];
+
+  postInstall = ''
+    wrapQtProgram "$out/bin/trojita"
+  '';
+
+
+  meta = {
+    description = "A Qt IMAP e-mail client";
+    homepage = http://trojita.flaska.net/;
+    license = with lib.licenses; [ gpl2 gpl3 ];
+  };
+
+}
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
new file mode 100644
index 00000000000..5207245b0ba
--- /dev/null
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, zlib, boost, glucose }:
+stdenv.mkDerivation rec {
+  name = "aspino-2016-01-31";
+
+  src = fetchFromGitHub {
+    owner = "alviano";
+    repo = "aspino";
+    rev = "d28579b5967988b88bce6d9964a8f0a926286e9c";
+    sha256 = "0r9dnkq3rldv5hhnmycmzqyg23hv5w3g3i5a00a8zalnzfiyirnq";
+  };
+
+  buildInputs = [ zlib boost ];
+
+  preBuild = ''
+    cp ${glucose.src} patches/glucose-syrup.tgz
+    ./bootstrap.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    install -m0755 build/release/{aspino,fairino-{bs,ls,ps},maxino-2015-{k16,kdyn}} $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "SAT/PseudoBoolean/MaxSat/ASP solver using glucose";
+    maintainers = with maintainers; [ gebner ];
+    platforms = platforms.unix;
+    license = licenses.asl20;
+    homepage = http://alviano.net/software/maxino/;
+  };
+}
diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix
new file mode 100644
index 00000000000..5b318be1664
--- /dev/null
+++ b/pkgs/applications/science/logic/glucose/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, zlib }:
+stdenv.mkDerivation rec {
+  name = "glucose-${version}";
+  version = "4.0";
+
+  src = fetchurl {
+    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
+    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
+  };
+
+  buildInputs = [ zlib ];
+
+  sourceRoot = "glucose-syrup/simp";
+  makeFlags = [ "r" ];
+  installPhase = ''
+    install -Dm0755 glucose_release $out/bin/glucose
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Modern, parallel SAT solver (sequential version)";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/applications/science/logic/glucose/syrup.nix b/pkgs/applications/science/logic/glucose/syrup.nix
new file mode 100644
index 00000000000..7604ebc1a3d
--- /dev/null
+++ b/pkgs/applications/science/logic/glucose/syrup.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, zlib }:
+stdenv.mkDerivation rec {
+  name = "glucose-syrup-${version}";
+  version = "4.0";
+
+  src = fetchurl {
+    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
+    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
+  };
+
+  buildInputs = [ zlib ];
+
+  sourceRoot = "glucose-syrup/parallel";
+  makeFlags = [ "r" ];
+  installPhase = ''
+    install -Dm0755 glucose-syrup_release $out/bin/glucose-syrup
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Modern, parallel SAT solver (parallel version)";
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/applications/science/logic/spass/default.nix b/pkgs/applications/science/logic/spass/default.nix
index 24da52b9d07..2bb2b911d49 100644
--- a/pkgs/applications/science/logic/spass/default.nix
+++ b/pkgs/applications/science/logic/spass/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, bison, flex }:
 
 let
   baseVersion="3";
-  minorVersion="7";
+  minorVersion="9";
+
+  extraTools = "FLOTTER prolog2dfg dfg2otter dfg2dimacs dfg2tptp"
+    + " dfg2ascii dfg2dfg tptp2dfg dimacs2dfg pgen rescmp";
 in
 
 stdenv.mkDerivation rec {
@@ -11,16 +14,28 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.spass-prover.org/download/sources/spass${baseVersion}${minorVersion}.tgz";
-    sha256 = "1k5a98kr3vzga54zs7slwwaaf6v6agk1yfcayd8bl55q15g7xihk";
+    sha256 = "11cyn3kcff4r79rsw2s0xm6rdb8bi0kpkazv2b48jhcms7xw75qp";
   };
 
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ bison flex ];
+
+  buildPhase = ''
+    make RM="rm -f" proparser.c ${extraTools} opt
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    install -m0755 SPASS ${extraTools} $out/bin/
+  '';
+
   meta = with stdenv.lib; {
-    description = "An automated theorem preover for FOL";
+    description = "Automated theorem prover for first-order logic";
     maintainers = with maintainers;
     [
       raskin
     ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.bsd2;
     downloadPage = "http://www.spass-prover.org/download/index.html";
   };
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index b8967323c98..15c38da28c9 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "clipgrab-${version}";
-  version = "3.5.6";
+  version = "3.6.0";
 
   src = fetchurl {
-    sha256 = "0wm6hqaq6ydbvvd0fqkfydxd5h7gf4di7lvq63xgxl4z40jqc25n";
+    sha256 = "1hvf4s6f2qc5z10p2q8mdyagx8dnwpsbrgg0is56hm1k80r58yj8";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
-    url = "http://download.clipgrab.de/${name}.tar.gz";
+    url = "https://download.clipgrab.org/${name}.tar.gz";
   };
 
   buildInputs = [ ffmpeg qt4 ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     exec = name;
     icon = name;
     desktopName = "ClipGrab";
-    comment = "A friendly downloader for YouTube and other sites";
+    comment = meta.description;
     genericName = "Web video downloader";
     categories = "Qt;AudioVideo;Audio;Video";
   };
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
       Dailymotion and many other online video sites. It converts downloaded
       videos to MPEG4, MP3 or other formats in just one easy step.
     '';
-    homepage = http://clipgrab.org/;
+    homepage = https://clipgrab.org/;
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index 4060b9887f7..6a5e4564122 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -35,9 +35,9 @@ buildPythonApplication rec {
 
   postInstall = ''
     wrapProgram $out/bin/qtile \
-      --set QTILE_WRAPPER '"$0"' \
-      --set QTILE_SAVED_PYTHONPATH '"$PYTHONPATH"' \
-      --set QTILE_SAVED_PATH '"$PATH"'
+      --set QTILE_WRAPPER '$0' \
+      --set QTILE_SAVED_PYTHONPATH '$PYTHONPATH' \
+      --set QTILE_SAVED_PATH '$PATH'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/window-managers/stumpwm/default.nix b/pkgs/applications/window-managers/stumpwm/default.nix
index bfbeb9739f1..91ee7dedb5d 100644
--- a/pkgs/applications/window-managers/stumpwm/default.nix
+++ b/pkgs/applications/window-managers/stumpwm/default.nix
@@ -1,24 +1,42 @@
 { stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
 , makeWrapper , rlwrap, gnused, gnugrep, coreutils, xprop
-, extraModulePaths ? [] }:
+, extraModulePaths ? []
+, version }:
 
 let
-  version = "0.9.9";
   contrib = (fetchgit {
     url = "https://github.com/stumpwm/stumpwm-contrib.git";
     rev = "9bebe3622b2b6c31a6bada9055ef3862fa79b86f";
     sha256 = "1ml6mjk2fsfv4sf65fdbji3q5x0qiq99g1k8w7a99gsl2i8h60gc";
   });
+  versionSpec = {
+    "latest" = {
+      name = "0.9.9";
+      rev = "refs/tags/0.9.9";
+      sha256 = "0hmvbdk2yr5wrkiwn9dfzf65s4xc2qifj0sn6w2mghzp96cph79k";
+      patches = [ ./fix-module-path.patch ];
+    };
+    "git" = {
+        name = "git-20160617";
+        rev = "7d5b5eb76aa656baf5a8713f514937765f66b10a";
+	sha256 = "1jpj978r54086hypjxqxi0r3zacqpkr61dp6dbi0lykgx7m5bjfb";
+	patches = [];
+    };
+  }.${version};
 in
 stdenv.mkDerivation rec {
-  name = "stumpwm-${version}";
+  name = "stumpwm-${versionSpec.name}";
 
   src = fetchgit {
     url = "https://github.com/stumpwm/stumpwm";
-    rev = "refs/tags/${version}";
-    sha256 = "0hmvbdk2yr5wrkiwn9dfzf65s4xc2qifj0sn6w2mghzp96cph79k";
+    rev = "${versionSpec.rev}";
+    sha256 = "${versionSpec.sha256}";
   };
 
+  # NOTE: The patch needs an update for the next release.
+  # `(stumpwm:set-module-dir "@MODULE_DIR@")' needs to be in it.
+  patches = versionSpec.patches;
+
   buildInputs = [
     texinfo4 makeWrapper autoconf
     sbcl
@@ -27,9 +45,6 @@ stdenv.mkDerivation rec {
     xdpyinfo
   ];
 
-  # NOTE: The patch needs an update for the next release.
-  # `(stumpwm:set-module-dir "@MODULE_DIR@")' needs to be in it.
-  patches = [ ./fix-module-path.patch ];
 
   # Stripping destroys the generated SBCL image
   dontStrip = true;
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index e60319d0971..ed0d5b0043d 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -137,3 +137,10 @@ int posix_spawn(pid_t * pid, const char * path,
     char buf[PATH_MAX];
     return posix_spawn_real(pid, rewrite(path, buf), file_actions, attrp, argv, envp);
 }
+
+int execv(const char *path, char *const argv[])
+{
+    int (*execv_real) (const char *path, char *const argv[]) = dlsym(RTLD_NEXT, "execv");
+    char buf[PATH_MAX];
+    return execv_real(rewrite(path, buf), argv);
+}
diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix
new file mode 100644
index 00000000000..3e74ca9270a
--- /dev/null
+++ b/pkgs/data/fonts/emojione/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, inkscape, imagemagick, potrace, svgo, scfbuild }:
+
+stdenv.mkDerivation rec {
+  name = "emojione-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "eosrei";
+    repo = "emojione-color-font";
+    rev = "v${version}";
+    sha256 = "001c2bph4jcdg9arfmyxrscf1i09gvg44kqy28chjmhxzq99hpcg";
+  };
+
+  preBuild = ''
+    sed -i 's,SCFBUILD :=.*,SCFBUILD := scfbuild,' Makefile
+    # Shut up inkscape's warnings
+    export HOME="$NIX_BUILD_ROOT"
+  '';
+
+  nativeBuildInputs = [ inkscape imagemagick potrace svgo scfbuild ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    install -Dm755 build/EmojiOneColor-SVGinOT.ttf $out/share/fonts/truetype/EmojiOneColor-SVGinOT.ttf
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source emoji set";
+    homepage = "http://emojione.com/";
+    licenses = licenses.cc-by-40;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/data/fonts/font-awesome-ttf/default.nix b/pkgs/data/fonts/font-awesome-ttf/default.nix
index 284416ad629..9cbf7059d92 100644
--- a/pkgs/data/fonts/font-awesome-ttf/default.nix
+++ b/pkgs/data/fonts/font-awesome-ttf/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "font-awesome-4.5.0";
+  name = "font-awesome-4.6.3";
 
   src = fetchurl {
     url = "http://fortawesome.github.io/Font-Awesome/assets/${name}.zip";
-    sha256 = "1lvxs4isrk80cczq6nrxksvqxs04k13i23i6c2l5vmfs2ndjsdm2";
+    sha256 = "06d6p3rydy86hg82igra4vqglyx7bii19jj5kdyhva0d2gqv7zfn";
   };
 
   buildCommand = ''
diff --git a/pkgs/desktops/gnome-3/3.18/core/epiphany/libxml_depend.patch b/pkgs/desktops/gnome-3/3.18/core/epiphany/libxml_depend.patch
deleted file mode 100644
index 89e3694a02d..00000000000
--- a/pkgs/desktops/gnome-3/3.18/core/epiphany/libxml_depend.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig	2015-04-08 18:53:52.284580835 +0200
-+++ configure.ac	2015-04-08 18:55:55.697225280 +0200
-@@ -113,6 +113,7 @@
- PKG_CHECK_MODULES(WEB_EXTENSION, [
-                   webkit2gtk-web-extension-4.0 >= $WEBKIT_GTK_REQUIRED
-                   libsecret-1 >= $LIBSECRET_REQUIRED
-+                  libxml-2.0 >= $LIBXML_REQUIRED
-                   ])
- AC_SUBST(WEB_EXTENSION_CFLAGS)
- AC_SUBST(WEB_EXTENSION_LIBS)
diff --git a/pkgs/desktops/gnome-3/3.20/core/epiphany/libxml_depend.patch b/pkgs/desktops/gnome-3/3.20/core/epiphany/libxml_depend.patch
deleted file mode 100644
index 89e3694a02d..00000000000
--- a/pkgs/desktops/gnome-3/3.20/core/epiphany/libxml_depend.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.ac.orig	2015-04-08 18:53:52.284580835 +0200
-+++ configure.ac	2015-04-08 18:55:55.697225280 +0200
-@@ -113,6 +113,7 @@
- PKG_CHECK_MODULES(WEB_EXTENSION, [
-                   webkit2gtk-web-extension-4.0 >= $WEBKIT_GTK_REQUIRED
-                   libsecret-1 >= $LIBSECRET_REQUIRED
-+                  libxml-2.0 >= $LIBXML_REQUIRED
-                   ])
- AC_SUBST(WEB_EXTENSION_CFLAGS)
- AC_SUBST(WEB_EXTENSION_LIBS)
diff --git a/pkgs/desktops/gnome-3/3.20/misc/geary/disable_valadoc.patch b/pkgs/desktops/gnome-3/3.20/misc/geary/disable_valadoc.patch
deleted file mode 100644
index e65c0dea747..00000000000
--- a/pkgs/desktops/gnome-3/3.20/misc/geary/disable_valadoc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- src/CMakeLists.txt.orig	2014-05-23 14:41:20.809160364 +0200
-+++ src/CMakeLists.txt	2014-05-23 14:41:29.240261581 +0200
-@@ -696,21 +696,6 @@
-         ${CMAKE_COMMAND} -E copy geary-mailer ${CMAKE_BINARY_DIR}/
- )
- 
--# Valadoc
--#################################################
--foreach(pkg ${ENGINE_PACKAGES})
--    list(APPEND valadoc_pkg_opts "--pkg=${pkg}")
--endforeach(pkg ${ENGINE_PACKAGES})
--
--include(FindValadoc)
--add_custom_target(
--    valadoc
--    WORKING_DIRECTORY
--        ${CMAKE_SOURCE_DIR}/src
--    COMMAND
--        ${VALADOC_EXECUTABLE} --force --no-protected -b ${CMAKE_CURRENT_SOURCE_DIR} -o ${CMAKE_SOURCE_DIR}/valadoc --package-name=geary --package-version=${VERSION} ${ENGINE_SRC} ${valadoc_pkg_opts} --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi
--)
--
- ## Make clean: remove copied files
- ##################################################
- set_property(
diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch b/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch
deleted file mode 100644
index 340155256f2..00000000000
--- a/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
-index e859ec7..9a8ab18 100644
---- a/KF5AuthConfig.cmake.in
-+++ b/KF5AuthConfig.cmake.in
-@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
- 
- set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
- set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
--set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
-+set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
- set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
- 
- find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch b/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch
deleted file mode 100644
index eea0ae4c199..00000000000
--- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/startkde.patch
+++ /dev/null
@@ -1,372 +0,0 @@
-Index: plasma-workspace-5.5.5/startkde/startkde.cmake
-===================================================================
---- plasma-workspace-5.5.5.orig/startkde/startkde.cmake
-+++ plasma-workspace-5.5.5/startkde/startkde.cmake
-@@ -1,8 +1,36 @@
--#!/bin/sh
-+#!@bash@
- #
- #  DEFAULT KDE STARTUP SCRIPT ( @PROJECT_VERSION@ )
- #
- 
-+set -x
-+
-+# The KDE icon cache is supposed to update itself
-+# automatically, but it uses the timestamp on the icon
-+# theme directory as a trigger.  Since in Nix the
-+# timestamp is always the same, this doesn't work.  So as
-+# a workaround, nuke the icon cache on login.  This isn't
-+# perfect, since it may require logging out after
-+# installing new applications to update the cache.
-+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
-+rm -fv $HOME/.cache/icon-cache.kcache
-+
-+# Qt writes a weird ‘libraryPath’ line to
-+# ~/.config/Trolltech.conf that causes the KDE plugin
-+# paths of previous KDE invocations to be searched.
-+# Obviously using mismatching KDE libraries is potentially
-+# disastrous, so here we nuke references to the Nix store
-+# in Trolltech.conf.  A better solution would be to stop
-+# Qt from doing this wackiness in the first place.
-+if [ -e $HOME/.config/Trolltech.conf ]; then
-+    @sed@ -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
-+fi
-+
-+# (NixOS) We run kbuildsycoca5 before starting the user session because things
-+# may be missing or moved if they have run nixos-rebuild and it may not be
-+# possible for them to start Konsole to run it manually!
-+@kbuildsycoca5@
-+
- if test "x$1" = x--failsafe; then
-     KDE_FAILSAFE=1 # General failsafe flag
-     KWIN_COMPOSE=N # Disable KWin's compositing
-@@ -17,29 +45,16 @@ trap 'echo GOT SIGHUP' HUP
- # we have to unset this for Darwin since it will screw up KDE's dynamic-loading
- unset DYLD_FORCE_FLAT_NAMESPACE
- 
--# in case we have been started with full pathname spec without being in PATH
--bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
--if [ -n "$bindir" ]; then
--  qbindir=`qtpaths --binaries-dir`
--  qdbus=$qbindir/qdbus
--  case $PATH in
--    $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;;
--    *) PATH=$bindir:$PATH; export PATH;;
--  esac
--else
--  qdbus=qdbus
--fi
--
- # Check if a KDE session already is running and whether it's possible to connect to X
--kcheckrunning
-+@kcheckrunning@
- kcheckrunning_result=$?
- if test $kcheckrunning_result -eq 0 ; then
--	echo "KDE seems to be already running on this display."
--	xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null
-+  echo "KDE seems to be already running on this display."
-+  @xmessage@ -geometry 500x100 "KDE seems to be already running on this display."
- 	exit 1
- elif test $kcheckrunning_result -eq 2 ; then
- 	echo "\$DISPLAY is not set or cannot connect to the X server."
--        exit 1
-+  exit 1
- fi
- 
- # Boot sequence:
-@@ -57,13 +72,8 @@ fi
- # * Then ksmserver is started which takes control of the rest of the startup sequence
- 
- # We need to create config folder so we can write startupconfigkeys
--if [  ${XDG_CONFIG_HOME} ]; then
--  configDir=$XDG_CONFIG_HOME;
--else
--  configDir=${HOME}/.config; #this is the default, http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
--fi
--
--mkdir -p $configDir
-+configDir=$(@qtpaths@ --writable-path GenericConfigLocation)
-+mkdir -p "$configDir"
- 
- #This is basically setting defaults so we can use them with kstartupconfig5
- cat >$configDir/startupconfigkeys <<EOF
-@@ -102,42 +112,10 @@ XftSubPixel=none
- EOF
- }
- 
--# Make sure the Oxygen font is installed
--# This is necessary for setups where CMAKE_INSTALL_PREFIX
--# is not in /usr. fontconfig looks in /usr, ~/.fonts and
--# $XDG_DATA_HOME for fonts. In this case, we symlink the
--# Oxygen font under ${XDG_DATA_HOME} and make it known to
--# fontconfig
--
--usr_share="/usr/share"
--install_share="@KDE_INSTALL_FULL_DATADIR@"
--
--if [ ! $install_share = $usr_share ]; then
--
--    if [ ${XDG_DATA_HOME} ]; then
--        fontsDir="${XDG_DATA_HOME}/fonts"
--    else
--        fontsDir="${HOME}/.fonts"
--    fi
--
--    test -d $fontsDir || {
--        mkdir -p $fontsDir
--    }
--
--    oxygenDir=$fontsDir/oxygen
--    prefixDir="@KDE_INSTALL_FULL_DATADIR@/fonts/oxygen"
--
--    # if the oxygen dir doesn't exist, create a symlink to be sure that the
--    # Oxygen font is available to the user
--    test -d $oxygenDir || test -d $prefixDir && {
--        test -h $oxygenDir || ln -s $prefixDir $oxygenDir && fc-cache $oxygenDir
--    }
--fi
--
--kstartupconfig5
-+@out@/bin/kstartupconfig5
- returncode=$?
- if test $returncode -ne 0; then
--    xmessage -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
-+    @xmessage@ -geometry 500x100 "kstartupconfig5 does not exist or fails. The error code is $returncode. Check your installation."
-     exit 1
- fi
- [ -r $configDir/startupconfig ] && . $configDir/startupconfig
-@@ -146,9 +124,11 @@ if test "$kdeglobals_kscreen_scalefactor
-     export QT_DEVICE_PIXEL_RATIO=$kdeglobals_kscreen_scalefactor
- fi
- 
-+XCURSOR_PATH=~/.icons:$(echo "$XDG_DATA_DIRS" | @tr@ ":" "\n" | @sed@ 's,$,/icons,g' | @tr@ "\n" ":")
-+export XCURSOR_PATH
-+
- # XCursor mouse theme needs to be applied here to work even for kded or ksmserver
- if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then
--    @EXPORT_XCURSOR_PATH@
- 
-     kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize"
-     if test $? -eq 10; then
-@@ -164,21 +144,39 @@ if test -n "$kcminputrc_mouse_cursorthem
-     fi
- fi
- 
--if test "$kcmfonts_general_forcefontdpi" -ne 0; then
--    xrdb -quiet -merge -nocpp <<EOF
--Xft.dpi: $kcmfonts_general_forcefontdpi
--EOF
--fi
-+# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
-+# from some users that they're confused and don't know what to do. This is
-+# especially necessary on slow machines, where starting KDE takes one or two
-+# minutes until anything appears on the screen.
-+#
-+# If the user has overwritten fonts, the cursor font may be different now
-+# so don't move this up.
-+#
-+@xsetroot@ -cursor_name left_ptr
- 
- dl=$DESKTOP_LOCKED
- unset DESKTOP_LOCKED # Don't want it in the environment
- 
-+# Make sure that D-Bus is running
-+# D-Bus autolaunch is broken
-+if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
-+    eval `@dbus-launch@ --sh-syntax --exit-with-session`
-+fi
-+if @qdbus@ >/dev/null 2>/dev/null; then
-+    : # ok
-+else
-+    echo 'startkde: Could not start D-Bus. Can you call qdbus?'  1>&2
-+    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
-+    @xmessage@ -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
-+    exit 1
-+fi
-+
- ksplash_pid=
- if test -z "$dl"; then
-   # the splashscreen and progress indicator
-   case "$ksplashrc_ksplash_engine" in
-     KSplashQML)
--      ksplash_pid=`ksplashqml "${ksplashrc_ksplash_theme}" --pid`
-+      ksplash_pid=`@out@/bin/ksplashqml "${ksplashrc_ksplash_theme}" --pid`
-       ;;
-     None)
-       ;;
-@@ -201,8 +199,7 @@ fi
- # For anything else (that doesn't set env vars, or that needs a window manager),
- # better use the Autostart folder.
- 
--# TODO: Use GenericConfigLocation once we depend on Qt 5.4
--scriptpath=`qtpaths --paths ConfigLocation | tr ':' '\n' | sed 's,$,/plasma-workspace,g'`
-+scriptpath=$(@qtpaths@ --paths GenericConfigLocation | tr ':' '\n' | @sed@ 's,$,/plasma-workspace,g')
- 
- # Add /env/ to the directory to locate the scripts to be sourced
- for prefix in `echo $scriptpath`; do
-@@ -232,7 +229,7 @@ usr_odir=$HOME/.fonts/kde-override
- usr_fdir=$HOME/.fonts
- 
- if test -n "$KDEDIRS"; then
--  kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
-+  kdedirs_first=`echo "$KDEDIRS" | @sed@ -e 's/:.*//'`
-   sys_odir=$kdedirs_first/share/fonts/override
-   sys_fdir=$kdedirs_first/share/fonts
- else
-@@ -245,23 +242,13 @@ fi
- # add the user's dirs to the font path, as they might simply have been made
- # read-only by the administrator, for whatever reason.
- 
--test -d "$sys_odir" && xset +fp "$sys_odir"
--test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
--test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
--test -d "$sys_fdir" && xset fp+ "$sys_fdir"
-+test -d "$sys_odir" && @xset@ +fp "$sys_odir"
-+test -d "$usr_odir" && ( @mkfontdir@ "$usr_odir" ; @xset@ +fp "$usr_odir" )
-+test -d "$usr_fdir" && ( @mkfontdir@ "$usr_fdir" ; @xset@ fp+ "$usr_fdir" )
-+test -d "$sys_fdir" && @xset@ fp+ "$sys_fdir"
- 
- # Ask X11 to rebuild its font list.
--xset fp rehash
--
--# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
--# from some users that they're confused and don't know what to do. This is
--# especially necessary on slow machines, where starting KDE takes one or two
--# minutes until anything appears on the screen.
--#
--# If the user has overwritten fonts, the cursor font may be different now
--# so don't move this up.
--#
--xsetroot -cursor_name left_ptr
-+@xset@ fp rehash
- 
- # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
- if test -n "$GS_LIB" ; then
-@@ -274,26 +261,6 @@ fi
- 
- echo 'startkde: Starting up...'  1>&2
- 
--# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all.
--# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend
--# to set it to a list of paths *not* including the KDE prefix if it's not /usr or
--# /usr/local.
--if test -z "$XDG_DATA_DIRS"; then
--    XDG_DATA_DIRS="@CMAKE_INSTALL_PREFIX@/@SHARE_INSTALL_PREFIX@:/usr/share:/usr/local/share"
--fi
--export XDG_DATA_DIRS
--
--# Make sure that D-Bus is running
--if $qdbus >/dev/null 2>/dev/null; then
--    : # ok
--else
--    echo 'startkde: Could not start D-Bus. Can you call qdbus?'  1>&2
--    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--    xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
--    exit 1
--fi
--
--
- # Mark that full KDE session is running (e.g. Konqueror preloading works only
- # with full KDE running). The KDE_FULL_SESSION property can be detected by
- # any X client connected to the same X session, even if not launched
-@@ -318,11 +285,11 @@ fi
- #
- KDE_FULL_SESSION=true
- export KDE_FULL_SESSION
--xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
-+@xprop@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
- 
- KDE_SESSION_VERSION=5
- export KDE_SESSION_VERSION
--xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
-+@xprop@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
- 
- KDE_SESSION_UID=`id -ru`
- export KDE_SESSION_UID
-@@ -332,11 +299,11 @@ export XDG_CURRENT_DESKTOP
- 
- # At this point all the environment is ready, let's send it to kwalletd if running
- if test -n "$PAM_KWALLET_LOGIN" ; then
--    env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
-+    env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
- fi
- # ...and also to kwalletd5
- if test -n "$PAM_KWALLET5_LOGIN" ; then
--    env | socat STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
-+    env | @socat@ STDIN UNIX-CONNECT:$PAM_KWALLET5_LOGIN
- fi
- 
- # At this point all environment variables are set, let's send it to the DBus session server to update the activation environment
-@@ -349,18 +316,18 @@ if test $? -ne 0; then
-   # Startup error
-   echo 'startkde: Could not sync environment to dbus.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  xmessage -geometry 500x100 "Could not sync environment to dbus."
-+  @xmessage@ -geometry 500x100 "Could not sync environment to dbus."
-   exit 1
- fi
- 
- # We set LD_BIND_NOW to increase the efficiency of kdeinit.
- # kdeinit unsets this variable before loading applications.
--LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
-+LD_BIND_NOW=true @start_kdeinit_wrapper@ --kded +kcminit_startup
- if test $? -ne 0; then
-   # Startup error
-   echo 'startkde: Could not start kdeinit5. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
-+  @xmessage@ -geometry 500x100 "Could not start kdeinit5. Check your installation."
-   exit 1
- fi
- 
-@@ -379,27 +346,27 @@ test -n "$KDEWM" && KDEWM="--windowmanag
- # lock now and do the rest of the KDE startup underneath the locker.
- KSMSERVEROPTIONS=""
- test -n "$dl" && KSMSERVEROPTIONS=" --lockscreen"
--kwrapper5 @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
-+@kwrapper5@ @CMAKE_INSTALL_FULL_BINDIR@/ksmserver $KDEWM $KSMSERVEROPTIONS
- if test $? -eq 255; then
-   # Startup error
-   echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
-+  @xmessage@ -geometry 500x100 "Could not start ksmserver. Check your installation."
- fi
- 
--wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
-+wait_drkonqi=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true`
- 
- if test x"$wait_drkonqi"x = x"true"x ; then
-     # wait for remaining drkonqi instances with timeout (in seconds)
--    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
-+    wait_drkonqi_timeout=`@kreadconfig5@ --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
-     wait_drkonqi_counter=0
--    while $qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
-+    while @qdbus@ | @grep@ "^[^w]*org.kde.drkonqi" > /dev/null ; do
-         sleep 5
-         wait_drkonqi_counter=$((wait_drkonqi_counter+5))
-         if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
-             # ask remaining drkonqis to die in a graceful way
--            $qdbus | grep 'org.kde.drkonqi-' | while read address ; do
--                $qdbus "$address" "/MainApplication" "quit"
-+            @qdbus@ | @grep@ 'org.kde.drkonqi-' | while read address ; do
-+                @qdbus@ "$address" "/MainApplication" "quit"
-             done
-             break
-         fi
-@@ -411,12 +378,12 @@ echo 'startkde: Shutting down...'  1>&2
- test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
- 
- # Clean up
--kdeinit5_shutdown
-+@kdeinit5_shutdown@
- 
- unset KDE_FULL_SESSION
--xprop -root -remove KDE_FULL_SESSION
-+@xprop@ -root -remove KDE_FULL_SESSION
- unset KDE_SESSION_VERSION
--xprop -root -remove KDE_SESSION_VERSION
-+@xprop@ -root -remove KDE_SESSION_VERSION
- unset KDE_SESSION_UID
- 
- echo 'startkde: Done.'  1>&2
diff --git a/pkgs/development/compilers/colm/default.nix b/pkgs/development/compilers/colm/default.nix
index 3a3670279c6..f9dc99ee2f8 100644
--- a/pkgs/development/compilers/colm/default.nix
+++ b/pkgs/development/compilers/colm/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = "A programming language for the analysis and transformation of computer languages";
     homepage = http://www.colm.net/open-source/colm;
     license = licenses.gpl2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix
deleted file mode 100644
index 9909c49e143..00000000000
--- a/pkgs/development/compilers/ghc/with-packages.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ stdenv, ghc, packages, buildEnv, makeWrapper, ignoreCollisions ? false }:
-
-# This wrapper works only with GHC 6.12 or later.
-assert stdenv.lib.versionOlder "6.12" ghc.version;
-
-# It's probably a good idea to include the library "ghc-paths" in the
-# compiler environment, because we have a specially patched version of
-# that package in Nix that honors these environment variables
-#
-#   NIX_GHC
-#   NIX_GHCPKG
-#   NIX_GHC_DOCDIR
-#   NIX_GHC_LIBDIR
-#
-# instead of hard-coding the paths. The wrapper sets these variables
-# appropriately to configure ghc-paths to point back to the wrapper
-# instead of to the pristine GHC package, which doesn't know any of the
-# additional libraries.
-#
-# A good way to import the environment set by the wrapper below into
-# your shell is to add the following snippet to your ~/.bashrc:
-#
-#   if [ -e ~/.nix-profile/bin/ghc ]; then
-#     eval $(grep export ~/.nix-profile/bin/ghc)
-#   fi
-
-let
-  ghc761OrLater = stdenv.lib.versionOlder "7.6.1" ghc.version;
-  packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
-  libDir        = "$out/lib/ghc-${ghc.version}";
-  docDir        = "$out/share/doc/ghc/html";
-  packageCfgDir = "${libDir}/package.conf.d";
-  isHaskellPkg  = x: (x ? pname) && (x ? version);
-in
-if packages == [] then ghc else
-buildEnv {
-  name = "haskell-env-${ghc.name}";
-  paths = stdenv.lib.filter isHaskellPkg (stdenv.lib.closePropagation packages) ++ [ghc];
-  inherit ignoreCollisions;
-  postBuild = ''
-    . ${makeWrapper}/nix-support/setup-hook
-
-    for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg         \
-        --add-flags '"-B$NIX_GHC_LIBDIR"'               \
-        --set "NIX_GHC"        "$out/bin/ghc"           \
-        --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
-        --set "NIX_GHC_DOCDIR" "${docDir}"              \
-        --set "NIX_GHC_LIBDIR" "${libDir}"
-    done
-
-    for prg in runghc runhaskell; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg         \
-        --add-flags "-f $out/bin/ghc"                   \
-        --set "NIX_GHC"        "$out/bin/ghc"           \
-        --set "NIX_GHCPKG"     "$out/bin/ghc-pkg"       \
-        --set "NIX_GHC_DOCDIR" "${docDir}"              \
-        --set "NIX_GHC_LIBDIR" "${libDir}"
-    done
-
-    for prg in ghc-pkg ghc-pkg-${ghc.version}; do
-      rm -f $out/bin/$prg
-      makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
-    done
-
-    $out/bin/ghc-pkg recache
-  '';
-}
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix
index 4bee8ee4f35..7cb3dddd5eb 100644
--- a/pkgs/development/compilers/terra/default.nix
+++ b/pkgs/development/compilers/terra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl, which, llvmPackages, ncurses, lua }:
+{ stdenv, fetchFromGitHub, fetchurl, llvmPackages, ncurses, lua }:
 
 let
   luajitArchive = "LuaJIT-2.0.4.tar.gz";
@@ -27,6 +27,11 @@ stdenv.mkDerivation rec {
   '';
 
   preBuild = ''
+    cat >Makefile.inc<<EOF
+    CLANG = ${stdenv.lib.getBin llvmPackages.clang-unwrapped}/bin/clang
+    LLVM_CONFIG = ${stdenv.lib.getBin llvmPackages.llvm}/bin/llvm-config
+    EOF
+
     mkdir -p build
     cp ${luajitSrc} build/${luajitArchive}
   '';
@@ -46,7 +51,11 @@ stdenv.mkDerivation rec {
   ''
   ;
 
-  buildInputs = with llvmPackages; [ which lua llvm clang-unwrapped ncurses ];
+  postFixup = ''
+    paxmark m $bin/bin/terra
+  '';
+
+  buildInputs = with llvmPackages; [ lua llvm clang-unwrapped ncurses ];
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix
index 65aaaf4dbca..3cb1efbce73 100644
--- a/pkgs/development/haskell-modules/hoogle.nix
+++ b/pkgs/development/haskell-modules/hoogle.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation {
     }
 
     echo importing builtin packages
-    for docdir in ${ghc}/${docLibGlob}/*; do
+    for docdir in ${ghc.doc}/${docLibGlob}/*; do
       name="$(basename $docdir)"
       ${opts isGhcjs ''docdir="$docdir/html"''}
       if [[ -d $docdir ]]; then
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 5dfd1b85567..2ca17b588aa 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -283,8 +283,9 @@ let
       meta = with stdenv.lib; {
         description = "An HTML-embedded scripting language";
         homepage = http://www.php.net/;
-        license = stdenv.lib.licenses.php301;
+        license = licenses.php301;
         maintainers = with maintainers; [ globin ];
+        platforms = platforms.all;
       };
 
       patches = if !php7 then [ ./fix-paths.patch ] else [ ./fix-paths-php7.patch ];
diff --git a/pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch b/pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch
deleted file mode 100644
index 1f25aa1f898..00000000000
--- a/pkgs/development/libraries/gobject-introspection/separate-rpath-arg.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ur gobject-introspection-1.46.0-orig/giscanner/ccompiler.py gobject-introspection-1.46.0/giscanner/ccompiler.py
---- gobject-introspection-1.46.0-orig/giscanner/ccompiler.py	2016-02-01 12:25:41.000000000 -0500
-+++ gobject-introspection-1.46.0/giscanner/ccompiler.py	2016-02-01 12:26:52.000000000 -0500
-@@ -128,7 +128,7 @@
-                     self.compiler.add_runtime_library_dir('.')
- 
-                 # https://bugzilla.gnome.org/show_bug.cgi?id=625195
--                args.append('-Wl,-rpath=.')
-+                args.append('-Wl,-rpath,.')
- 
-                 # Ensure libraries are always linked as we are going to use ldd to work
-                 # out their names later
-@@ -140,7 +140,7 @@
-                 for library_path in libpaths:
-                     args.append('-L' + library_path)
-                     if os.path.isabs(library_path):
--                        args.append('-Wl,-rpath=' + library_path)
-+                        args.append('-Wl,-rpath,' + library_path)
- 
-         else:
-             # libtool case: assemble linker command arguments, like we did before
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index acb6eb2c729..e3aec98a8db 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -17,7 +17,7 @@
 
 assert faacSupport -> enableUnfree;
 
-with { inherit (stdenv.lib) optional optionals; };
+with { inherit (stdenv.lib) optional optionals hasPrefix; };
 
 /* ToDo:
     - more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools
@@ -39,8 +39,8 @@ let
     };
 
     patches = []
-      ++ optionals (vpxSupport && version == "0.8.17" ) [ ./vpxenc-0.8.17-libvpx-1.5.patch ]
-      ++ optionals (vpxSupport && version == "11.6") [ ./vpxenc-11.6-libvpx-1.5.patch ];
+      ++ optional (vpxSupport && hasPrefix "0.8." version) ./vpxenc-0.8.17-libvpx-1.5.patch
+      ++ optional (vpxSupport && hasPrefix "11."  version) ./vpxenc-11.6-libvpx-1.5.patch;
 
     preConfigure = "patchShebangs doc/texi2pod.pl";
 
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 3e0310736dd..7a039a813d8 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/libfilezilla/${version}/${name}.tar.bz2";
-    sha256 = "1ydpk6i5vjd78i0531cxlkjvlmvvrsfyc7hv7wx81ws3rkp5hnsq";
+    sha256 = "05z9d2pi8n8yl3dbwg2nw6bcvi0zzc9hkammm1mayfh7h4akqc0i";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index c56eef31961..7b43845d23f 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
     moveToOutput bin/pcre-config "$dev"
   ''
     + optionalString (variant != null) ''
-    ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.so.*.*.*
+    ln -sf -t "$out/lib/" '${pcre.out}'/lib/libpcre{,posix}.{so.*.*.*,*dylib}
   '';
 
   crossAttrs = optionalAttrs (stdenv.cross.libc == "msvcrt") {
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch
deleted file mode 100644
index ad1719c46e2..00000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtk2painter.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
-@@ -96,7 +96,7 @@ static void initGtk()
-     static bool initialized = false;
-     if (!initialized) {
-         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
-         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix b/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix
new file mode 100644
index 00000000000..920b77b223f
--- /dev/null
+++ b/pkgs/development/libraries/science/math/cudnn/7.5-5.0/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, requireFile
+, cudatoolkit
+}:
+
+stdenv.mkDerivation rec {
+  version = "5.0";
+  cudatoolkit_version = "7.5";
+
+  name = "cudatoolkit-${cudatoolkit_version}-cudnn-${version}";
+
+  src = requireFile rec {
+    name = "cudnn-${cudatoolkit_version}-linux-x64-v${version}-ga.tgz";
+    message = ''
+      This nix expression requires that ${name} is already part of the store.
+      Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the cuDNN library
+      at https://developer.nvidia.com/cudnn, and run the following command in the download directory:
+      nix-prefetch-url file://${name}
+    '';
+    sha256 = "c4739a00608c3b66a004a74fc8e721848f9112c5cb15f730c1be4964b3a23b3a";
+  };
+
+  phases = "unpackPhase installPhase fixupPhase";
+
+  installPhase = ''
+    function fixRunPath {
+      p=$(patchelf --print-rpath $1)
+      patchelf --set-rpath "$p:${stdenv.lib.makeLibraryPath [ stdenv.cc.cc ]}" $1
+    }
+    fixRunPath lib64/libcudnn.so
+
+    mkdir -p $out
+    cp -a include $out/include
+    cp -a lib64 $out/lib64
+  '';
+
+  propagatedBuildInputs = [
+    cudatoolkit
+  ];
+
+  meta = {
+    description = "NVIDIA CUDA Deep Neural Network library (cuDNN)";
+    homepage = "https://developer.nvidia.com/cudnn";
+    license = stdenv.lib.licenses.unfree;
+  };
+}
diff --git a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch b/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
deleted file mode 100644
index 3bc0fff4d50..00000000000
--- a/pkgs/development/libraries/v8/fix-GetLocalizedMessage-usage.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From dbe142c4eda0f15fad9fa85743dd11b81292fa8f Mon Sep 17 00:00:00 2001
-From: Timothy J Fontaine <tjfontaine@gmail.com>
-Date: Thu, 23 May 2013 13:57:59 -0700
-Subject: [PATCH] v8: fix GetLocalizedMessage usage
-
-As is the backport of the abort on uncaught exception wouldn't compile
-because we it was passing in `this` when it was unnecessary.
----
- deps/v8/src/isolate.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/isolate.cc b/src/isolate.cc
-index 04a438b..5a5293e 100644
---- a/src/isolate.cc
-+++ b/src/isolate.cc
-@@ -1161,7 +1161,7 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) {
-           (report_exception || can_be_caught_externally)) {
-         fatal_exception_depth++;
-         fprintf(stderr, "%s\n\nFROM\n",
--          *MessageHandler::GetLocalizedMessage(this, message_obj));
-+          *MessageHandler::GetLocalizedMessage(message_obj));
-         PrintCurrentStackTrace(stderr);
-         OS::Abort();
-       }
--- 
-1.8.1.6
-
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 3e534a8b955..b3145302d30 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,17 +2,27 @@
 
 stdenv.mkDerivation rec {
   name = "wolfssl-${version}";
-  version = "3.9.0";
+  version = "3.9.6";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}";
-    sha256 = "0j4la9936jcy2fam1x5wplbslqa4zjnrk4wyipkbwz9m8cxg0n6v";
+    sha256 = "19k3pqd567jfxyps4i6mk7sblwzaj1rixmsdwscw63pdgcgf260g";
   };
 
+  outputs = [ "dev" "out" "doc" "lib" ];
+
   nativeBuildInputs = [ autoreconfHook ];
 
+  postInstall = ''
+     # fix recursive cycle:
+     # wolfssl-config points to dev, dev propagates bin
+     moveToOutput bin/wolfssl-config "$dev"
+     # moveToOutput also removes "$out" so recreate it
+     mkdir -p "$out"
+  '';
+
   meta = with stdenv.lib; {
     description = "A small, fast, portable implementation of TLS/SSL for embedded devices";
     homepage    = "https://www.wolfssl.com/";
diff --git a/pkgs/development/libraries/zeromq/sodium_warning.patch b/pkgs/development/libraries/zeromq/sodium_warning.patch
deleted file mode 100644
index 4b84fd7edf4..00000000000
--- a/pkgs/development/libraries/zeromq/sodium_warning.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 479db2113643e459c11db392e0fefd6400657c9e Mon Sep 17 00:00:00 2001
-From: Constantin Rack <constantin@rack.li>
-Date: Sat, 8 Nov 2014 10:50:17 +0100
-Subject: [PATCH] Problem: return code of sodium_init() is not checked.
-
-There are two todo comments in curve_client.cpp and curve_server.cpp that suggest
-checking the return code of sodium_init() call. sodium_init() returns -1 on error,
-0 on success and 1 if it has been called before and is already initalized:
-https://github.com/jedisct1/libsodium/blob/master/src/libsodium/sodium/core.c
----
- src/curve_client.cpp | 7 ++++---
- src/curve_server.cpp | 7 ++++---
- 2 files changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/src/curve_client.cpp b/src/curve_client.cpp
-index 6019c54..77fc420 100644
---- a/src/curve_client.cpp
-+++ b/src/curve_client.cpp
-@@ -38,6 +38,7 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
-     cn_peer_nonce(1),
-     sync()
- {
-+    int rc;
-     memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES);
-     memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
-     memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES);
-@@ -47,12 +48,12 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
-     unsigned char tmpbytes[4];
-     randombytes(tmpbytes, 4);
- #else
--    // todo check return code
--    sodium_init();
-+    rc = sodium_init ();
-+    zmq_assert (rc != -1);
- #endif
- 
-     //  Generate short-term key pair
--    const int rc = crypto_box_keypair (cn_public, cn_secret);
-+    rc = crypto_box_keypair (cn_public, cn_secret);
-     zmq_assert (rc == 0);
- }
- 
-diff --git a/src/curve_server.cpp b/src/curve_server.cpp
-index a3c4243..22c32d6 100644
---- a/src/curve_server.cpp
-+++ b/src/curve_server.cpp
-@@ -42,6 +42,7 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
-     cn_peer_nonce(1),
-     sync()
- {
-+    int rc;
-     //  Fetch our secret key from socket options
-     memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
-     scoped_lock_t lock (sync);
-@@ -50,12 +51,12 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
-     unsigned char tmpbytes[4];
-     randombytes(tmpbytes, 4);
- #else
--    // todo check return code
--    sodium_init();
-+    rc = sodium_init ();
-+    zmq_assert (rc != -1);
- #endif
- 
-     //  Generate short-term key pair
--    const int rc = crypto_box_keypair (cn_public, cn_secret);
-+    rc = crypto_box_keypair (cn_public, cn_secret);
-     zmq_assert (rc == 0);
- }
- 
diff --git a/pkgs/development/python-modules/scipy-0.16.1-decorator-fix.patch b/pkgs/development/python-modules/scipy-0.16.1-decorator-fix.patch
deleted file mode 100644
index 0a7f92d9d2e..00000000000
--- a/pkgs/development/python-modules/scipy-0.16.1-decorator-fix.patch
+++ /dev/null
@@ -1,487 +0,0 @@
-From 8d3cd578f9c0a36d29411c96fa70402a7a56d502 Mon Sep 17 00:00:00 2001
-From: Evgeni Burovski <evgeni@burovski.me>
-Date: Sun, 8 Nov 2015 15:27:22 +0000
-Subject: [PATCH] MAINT: update decorators.py module to version 4.0.5
-
-This is commit d6abda0 at
-https://github.com/micheles/decorator/tree/4.0.5
----
- scipy/_lib/decorator.py | 380 +++++++++++++++++++++++++++++++++++++-----------
- 1 file changed, 293 insertions(+), 87 deletions(-)
-
-diff --git a/scipy/_lib/decorator.py b/scipy/_lib/decorator.py
-index 07d9d21..05f7056 100644
---- a/scipy/_lib/decorator.py
-+++ b/scipy/_lib/decorator.py
-@@ -1,48 +1,52 @@
--##########################     LICENCE     ###############################
--##
--##   Copyright (c) 2005-2011, Michele Simionato
--##   All rights reserved.
--##
--##   Redistributions of source code must retain the above copyright
--##   notice, this list of conditions and the following disclaimer.
--##   Redistributions in bytecode form must reproduce the above copyright
--##   notice, this list of conditions and the following disclaimer in
--##   the documentation and/or other materials provided with the
--##   distribution.
--
--##   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
--##   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
--##   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
--##   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
--##   HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
--##   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
--##   BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
--##   OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
--##   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
--##   TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
--##   USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
--##   DAMAGE.
-+# #########################     LICENSE     ############################ #
-+
-+# Copyright (c) 2005-2015, Michele Simionato
-+# All rights reserved.
-+
-+# Redistribution and use in source and binary forms, with or without
-+# modification, are permitted provided that the following conditions are
-+# met:
-+
-+#   Redistributions of source code must retain the above copyright
-+#   notice, this list of conditions and the following disclaimer.
-+#   Redistributions in bytecode form must reproduce the above copyright
-+#   notice, this list of conditions and the following disclaimer in
-+#   the documentation and/or other materials provided with the
-+#   distribution.
-+
-+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
-+# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
-+# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-+# DAMAGE.
- 
- """
- Decorator module, see http://pypi.python.org/pypi/decorator
- for the documentation.
- """
-+from __future__ import print_function
- 
--from __future__ import division, print_function, absolute_import
--
--__version__ = '3.3.2'
--
--__all__ = ["decorator", "FunctionMaker"]
--
--import sys
- import re
-+import sys
- import inspect
--from functools import partial
-+import operator
-+import itertools
-+import collections
- 
--from scipy._lib.six import exec_
-+__version__ = '4.0.5'
- 
- if sys.version >= '3':
-     from inspect import getfullargspec
-+
-+    def get_init(cls):
-+        return cls.__init__
- else:
-     class getfullargspec(object):
-         "A quick and dirty replacement for getfullargspec for Python 2.X"
-@@ -51,7 +55,6 @@ else:
-                 inspect.getargspec(f)
-             self.kwonlyargs = []
-             self.kwonlydefaults = None
--            self.annotations = getattr(f, '__annotations__', {})
- 
-         def __iter__(self):
-             yield self.args
-@@ -59,17 +62,35 @@ else:
-             yield self.varkw
-             yield self.defaults
- 
--DEF = re.compile('\s*def\s*([_\w][_\w\d]*)\s*\(')
-+        getargspec = inspect.getargspec
-+
-+    def get_init(cls):
-+        return cls.__init__.__func__
-+
-+# getargspec has been deprecated in Python 3.5
-+ArgSpec = collections.namedtuple(
-+    'ArgSpec', 'args varargs varkw defaults')
- 
--# basic functionality
- 
-+def getargspec(f):
-+    """A replacement for inspect.getargspec"""
-+    spec = getfullargspec(f)
-+    return ArgSpec(spec.args, spec.varargs, spec.varkw, spec.defaults)
- 
-+DEF = re.compile('\s*def\s*([_\w][_\w\d]*)\s*\(')
-+
-+
-+# basic functionality
- class FunctionMaker(object):
-     """
-     An object with the ability to create functions with a given signature.
-     It has attributes name, doc, module, signature, defaults, dict and
-     methods update and make.
-     """
-+
-+    # Atomic get-and-increment provided by the GIL
-+    _compile_count = itertools.count()
-+
-     def __init__(self, func=None, name=None, signature=None,
-                  defaults=None, doc=None, module=None, funcdict=None):
-         self.shortsignature = signature
-@@ -82,22 +103,32 @@ class FunctionMaker(object):
-             self.module = func.__module__
-             if inspect.isfunction(func):
-                 argspec = getfullargspec(func)
-+                self.annotations = getattr(func, '__annotations__', {})
-                 for a in ('args', 'varargs', 'varkw', 'defaults', 'kwonlyargs',
--                          'kwonlydefaults', 'annotations'):
-+                          'kwonlydefaults'):
-                     setattr(self, a, getattr(argspec, a))
-                 for i, arg in enumerate(self.args):
-                     setattr(self, 'arg%d' % i, arg)
--                self.signature = inspect.formatargspec(
--                    formatvalue=lambda val: "", *argspec)[1:-1]
--                allargs = list(self.args)
--                if self.varargs:
--                    allargs.append('*' + self.varargs)
--                if self.varkw:
--                    allargs.append('**' + self.varkw)
--                try:
--                    self.shortsignature = ', '.join(allargs)
--                except TypeError:  # exotic signature, valid only in Python 2.X
--                    self.shortsignature = self.signature
-+                if sys.version < '3':  # easy way
-+                    self.shortsignature = self.signature = (
-+                        inspect.formatargspec(
-+                            formatvalue=lambda val: "", *argspec)[1:-1])
-+                else:  # Python 3 way
-+                    allargs = list(self.args)
-+                    allshortargs = list(self.args)
-+                    if self.varargs:
-+                        allargs.append('*' + self.varargs)
-+                        allshortargs.append('*' + self.varargs)
-+                    elif self.kwonlyargs:
-+                        allargs.append('*')  # single star syntax
-+                    for a in self.kwonlyargs:
-+                        allargs.append('%s=None' % a)
-+                        allshortargs.append('%s=%s' % (a, a))
-+                    if self.varkw:
-+                        allargs.append('**' + self.varkw)
-+                        allshortargs.append('**' + self.varkw)
-+                    self.signature = ', '.join(allargs)
-+                    self.shortsignature = ', '.join(allshortargs)
-                 self.dict = func.__dict__.copy()
-         # func=None happens when decorating a caller
-         if name:
-@@ -122,12 +153,15 @@ class FunctionMaker(object):
-         func.__name__ = self.name
-         func.__doc__ = getattr(self, 'doc', None)
-         func.__dict__ = getattr(self, 'dict', {})
--        if sys.version_info[0] >= 3:
--            func.__defaults__ = getattr(self, 'defaults', ())
--        else:
--            func.func_defaults = getattr(self, 'defaults', ())
-+        func.__defaults__ = getattr(self, 'defaults', ())
-         func.__kwdefaults__ = getattr(self, 'kwonlydefaults', None)
--        callermodule = sys._getframe(3).f_globals.get('__name__', '?')
-+        func.__annotations__ = getattr(self, 'annotations', None)
-+        try:
-+            frame = sys._getframe(3)
-+        except AttributeError:  # for IronPython and similar implementations
-+            callermodule = '?'
-+        else:
-+            callermodule = frame.f_globals.get('__name__', '?')
-         func.__module__ = getattr(self, 'module', callermodule)
-         func.__dict__.update(kw)
- 
-@@ -140,16 +174,20 @@ class FunctionMaker(object):
-             raise SyntaxError('not a valid function template\n%s' % src)
-         name = mo.group(1)  # extract the function name
-         names = set([name] + [arg.strip(' *') for arg in
--                             self.shortsignature.split(',')])
-+                              self.shortsignature.split(',')])
-         for n in names:
-             if n in ('_func_', '_call_'):
-                 raise NameError('%s is overridden in\n%s' % (n, src))
-         if not src.endswith('\n'):  # add a newline just for safety
-             src += '\n'  # this is needed in old versions of Python
-+
-+        # Ensure each generated function has a unique filename for profilers
-+        # (such as cProfile) that depend on the tuple of (<filename>,
-+        # <definition line>, <function name>) being unique.
-+        filename = '<decorator-gen-%d>' % (next(self._compile_count),)
-         try:
--            code = compile(src, '<string>', 'single')
--            # print >> sys.stderr, 'Compiling %s' % src
--            exec_(code, evaldict)
-+            code = compile(src, filename, 'single')
-+            exec(code, evaldict)
-         except:
-             print('Error in generated code:', file=sys.stderr)
-             print(src, file=sys.stderr)
-@@ -165,9 +203,9 @@ class FunctionMaker(object):
-                doc=None, module=None, addsource=True, **attrs):
-         """
-         Create a function from the strings name, signature and body.
--        evaldict is the evaluation dictionary. If addsource is true an attribute
--        __source__ is added to the result. The attributes attrs are added,
--        if any.
-+        evaldict is the evaluation dictionary. If addsource is true an
-+        attribute __source__ is added to the result. The attributes attrs
-+        are added, if any.
-         """
-         if isinstance(obj, str):  # "name(signature)"
-             name, rest = obj.strip().split('(', 1)
-@@ -180,37 +218,205 @@ class FunctionMaker(object):
-         self = cls(func, name, signature, defaults, doc, module)
-         ibody = '\n'.join('    ' + line for line in body.splitlines())
-         return self.make('def %(name)s(%(signature)s):\n' + ibody,
--                        evaldict, addsource, **attrs)
-+                         evaldict, addsource, **attrs)
- 
- 
--def decorator(caller, func=None):
-+def decorate(func, caller):
-     """
--    decorator(caller) converts a caller function into a decorator;
--    decorator(caller, func) decorates a function using a caller.
-+    decorate(func, caller) decorates a function using a caller.
-     """
--    if func is not None:  # returns a decorated function
--        if sys.version_info[0] >= 3:
--            evaldict = func.__globals__.copy()
-+    evaldict = func.__globals__.copy()
-+    evaldict['_call_'] = caller
-+    evaldict['_func_'] = func
-+    fun = FunctionMaker.create(
-+        func, "return _call_(_func_, %(shortsignature)s)",
-+        evaldict, __wrapped__=func)
-+    if hasattr(func, '__qualname__'):
-+        fun.__qualname__ = func.__qualname__
-+    return fun
-+
-+
-+def decorator(caller, _func=None):
-+    """decorator(caller) converts a caller function into a decorator"""
-+    if _func is not None:  # return a decorated function
-+        # this is obsolete behavior; you should use decorate instead
-+        return decorate(_func, caller)
-+    # else return a decorator function
-+    if inspect.isclass(caller):
-+        name = caller.__name__.lower()
-+        callerfunc = get_init(caller)
-+        doc = 'decorator(%s) converts functions/generators into ' \
-+            'factories of %s objects' % (caller.__name__, caller.__name__)
-+    elif inspect.isfunction(caller):
-+        if caller.__name__ == '<lambda>':
-+            name = '_lambda_'
-         else:
--            evaldict = func.func_globals.copy()
--        evaldict['_call_'] = caller
--        evaldict['_func_'] = func
-+            name = caller.__name__
-+        callerfunc = caller
-+        doc = caller.__doc__
-+    else:  # assume caller is an object with a __call__ method
-+        name = caller.__class__.__name__.lower()
-+        callerfunc = caller.__call__.__func__
-+        doc = caller.__call__.__doc__
-+    evaldict = callerfunc.__globals__.copy()
-+    evaldict['_call_'] = caller
-+    evaldict['_decorate_'] = decorate
-+    return FunctionMaker.create(
-+        '%s(func)' % name, 'return _decorate_(func, _call_)',
-+        evaldict, doc=doc, module=caller.__module__,
-+        __wrapped__=caller)
-+
-+
-+# ####################### contextmanager ####################### #
-+
-+try:  # Python >= 3.2
-+    from contextlib import _GeneratorContextManager
-+except ImportError:  # Python >= 2.5
-+    from contextlib import GeneratorContextManager as _GeneratorContextManager
-+
-+
-+class ContextManager(_GeneratorContextManager):
-+    def __call__(self, func):
-+        """Context manager decorator"""
-         return FunctionMaker.create(
--            func, "return _call_(_func_, %(shortsignature)s)",
--            evaldict, undecorated=func, __wrapped__=func)
--    else:  # returns a decorator
--        if isinstance(caller, partial):
--            return partial(decorator, caller)
--        # otherwise assume caller is a function
--        first = inspect.getargspec(caller)[0][0]  # first arg
--        if sys.version_info[0] >= 3:
--            evaldict = caller.__globals__.copy()
--        else:
--            evaldict = caller.func_globals.copy()
--        evaldict['_call_'] = caller
--        evaldict['decorator'] = decorator
-+            func, "with _self_: return _func_(%(shortsignature)s)",
-+            dict(_self_=self, _func_=func), __wrapped__=func)
-+
-+init = getfullargspec(_GeneratorContextManager.__init__)
-+n_args = len(init.args)
-+if n_args == 2 and not init.varargs:  # (self, genobj) Python 2.7
-+    def __init__(self, g, *a, **k):
-+        return _GeneratorContextManager.__init__(self, g(*a, **k))
-+    ContextManager.__init__ = __init__
-+elif n_args == 2 and init.varargs:  # (self, gen, *a, **k) Python 3.4
-+    pass
-+elif n_args == 4:  # (self, gen, args, kwds) Python 3.5
-+    def __init__(self, g, *a, **k):
-+        return _GeneratorContextManager.__init__(self, g, a, k)
-+    ContextManager.__init__ = __init__
-+
-+contextmanager = decorator(ContextManager)
-+
-+
-+# ############################ dispatch_on ############################ #
-+
-+def append(a, vancestors):
-+    """
-+    Append ``a`` to the list of the virtual ancestors, unless it is already
-+    included.
-+    """
-+    add = True
-+    for j, va in enumerate(vancestors):
-+        if issubclass(va, a):
-+            add = False
-+            break
-+        if issubclass(a, va):
-+            vancestors[j] = a
-+            add = False
-+    if add:
-+        vancestors.append(a)
-+
-+
-+# inspired from simplegeneric by P.J. Eby and functools.singledispatch
-+def dispatch_on(*dispatch_args):
-+    """
-+    Factory of decorators turning a function into a generic function
-+    dispatching on the given arguments.
-+    """
-+    assert dispatch_args, 'No dispatch args passed'
-+    dispatch_str = '(%s,)' % ', '.join(dispatch_args)
-+
-+    def check(arguments, wrong=operator.ne, msg=''):
-+        """Make sure one passes the expected number of arguments"""
-+        if wrong(len(arguments), len(dispatch_args)):
-+            raise TypeError('Expected %d arguments, got %d%s' %
-+                            (len(dispatch_args), len(arguments), msg))
-+
-+    def gen_func_dec(func):
-+        """Decorator turning a function into a generic function"""
-+
-+        # first check the dispatch arguments
-+        argset = set(getfullargspec(func).args)
-+        if not set(dispatch_args) <= argset:
-+            raise NameError('Unknown dispatch arguments %s' % dispatch_str)
-+
-+        typemap = {}
-+
-+        def vancestors(*types):
-+            """
-+            Get a list of sets of virtual ancestors for the given types
-+            """
-+            check(types)
-+            ras = [[] for _ in range(len(dispatch_args))]
-+            for types_ in typemap:
-+                for t, type_, ra in zip(types, types_, ras):
-+                    if issubclass(t, type_) and type_ not in t.__mro__:
-+                        append(type_, ra)
-+            return [set(ra) for ra in ras]
-+
-+        def ancestors(*types):
-+            """
-+            Get a list of virtual MROs, one for each type
-+            """
-+            check(types)
-+            lists = []
-+            for t, vas in zip(types, vancestors(*types)):
-+                n_vas = len(vas)
-+                if n_vas > 1:
-+                    raise RuntimeError(
-+                        'Ambiguous dispatch for %s: %s' % (t, vas))
-+                elif n_vas == 1:
-+                    va, = vas
-+                    mro = type('t', (t, va), {}).__mro__[1:]
-+                else:
-+                    mro = t.__mro__
-+                lists.append(mro[:-1])  # discard t and object
-+            return lists
-+
-+        def register(*types):
-+            """
-+            Decorator to register an implementation for the given types
-+            """
-+            check(types)
-+            def dec(f):
-+                check(getfullargspec(f).args, operator.lt, ' in ' + f.__name__)
-+                typemap[types] = f
-+                return f
-+            return dec
-+
-+        def dispatch_info(*types):
-+            """
-+            An utility to introspect the dispatch algorithm
-+            """
-+            check(types)
-+            lst = []
-+            for anc in itertools.product(*ancestors(*types)):
-+                lst.append(tuple(a.__name__ for a in anc))
-+            return lst
-+
-+        def _dispatch(dispatch_args, *args, **kw):
-+            types = tuple(type(arg) for arg in dispatch_args)
-+            try:  # fast path
-+                f = typemap[types]
-+            except KeyError:
-+                pass
-+            else:
-+                return f(*args, **kw)
-+            combinations = itertools.product(*ancestors(*types))
-+            next(combinations)  # the first one has been already tried
-+            for types_ in combinations:
-+                f = typemap.get(types_)
-+                if f is not None:
-+                    return f(*args, **kw)
-+
-+            # else call the default implementation
-+            return func(*args, **kw)
-+
-         return FunctionMaker.create(
--            '%s(%s)' % (caller.__name__, first),
--            'return decorator(_call_, %s)' % first,
--            evaldict, undecorated=caller, __wrapped__=caller,
--            doc=caller.__doc__, module=caller.__module__)
-+            func, 'return _f_(%s, %%(shortsignature)s)' % dispatch_str,
-+            dict(_f_=_dispatch), register=register, default=func,
-+            typemap=typemap, vancestors=vancestors, ancestors=ancestors,
-+            dispatch_info=dispatch_info, __wrapped__=func)
-+
-+    gen_func_dec.__name__ = 'dispatch_on' + dispatch_str
-+    return gen_func_dec
--- 
-2.6.3
-
diff --git a/pkgs/development/python-modules/theano/cuda/default.nix b/pkgs/development/python-modules/theano/cuda/default.nix
new file mode 100644
index 00000000000..bf49d391861
--- /dev/null
+++ b/pkgs/development/python-modules/theano/cuda/default.nix
@@ -0,0 +1,62 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, blas
+, numpy
+, six
+, scipy
+, nose
+, nose-parameterized
+, pydot_ng
+, sphinx
+, pygments
+, libgpuarray
+, python
+, pycuda
+, cudatoolkit
+, cudnn
+, stdenv
+}:
+
+buildPythonPackage rec {
+  name = "Theano-cuda-${version}";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "Theano";
+    repo = "Theano";
+    rev = "46fbfeb628220b5e42bf8277a5955c52d153e874";
+    sha256 = "1sl91gli3jaw5gpjqqab4fiq4x6282spqciaid1s65pjsf3k55sc";
+  };
+
+  doCheck = false;
+
+  patchPhase = ''
+    pushd theano/sandbox/gpuarray
+    sed -i -re '2s/^/from builtins import bytes\n/g' subtensor.py
+    sed -i -re "s/(b'2')/int(bytes(\1))/g" subtensor.py
+    sed -i -re "s/(ctx.bin_id\[\-2\])/int(\1)/g" subtensor.py
+
+    sed -i -re '2s/^/from builtins import bytes\n/g' dnn.py
+    sed -i -re "s/(b'30')/int(bytes(\1))/g" dnn.py
+    sed -i -re "s/(ctx.bin_id\[\-2:\])/int(\1)/g" dnn.py
+    popd
+  '';
+
+  dontStrip = true;
+
+  propagatedBuildInputs = [
+    blas
+    numpy
+    six
+    scipy
+    nose
+    nose-parameterized
+    pydot_ng
+    sphinx
+    pygments
+    pycuda
+    cudatoolkit
+    libgpuarray
+  ] ++ (stdenv.lib.optional (cudnn != null) [ cudnn ]);
+
+}
diff --git a/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch b/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch
deleted file mode 100644
index bb0785fe192..00000000000
--- a/pkgs/development/tools/misc/binutils/pt-pax-flags-20121023.patch
+++ /dev/null
@@ -1,1786 +0,0 @@
---- binutils-2.23/bfd/elf-bfd.h
-+++ binutils-2.23/bfd/elf-bfd.h
-@@ -1577,6 +1577,9 @@ struct elf_obj_tdata
-   /* Segment flags for the PT_GNU_STACK segment.  */
-   unsigned int stack_flags;
- 
-+  /* Segment flags for the PT_PAX_FLAGS segment.  */
-+  unsigned int pax_flags;
-+
-   /* Symbol version definitions in external objects.  */
-   Elf_Internal_Verdef *verdef;
- 
---- binutils-2.23/bfd/elf.c
-+++ binutils-2.23/bfd/elf.c
-@@ -1158,6 +1158,7 @@ get_segment_type (unsigned int p_type)
-     case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break;
-     case PT_GNU_STACK: pt = "STACK"; break;
-     case PT_GNU_RELRO: pt = "RELRO"; break;
-+    case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break;
-     default: pt = NULL; break;
-     }
-   return pt;
-@@ -2477,6 +2478,9 @@ bfd_section_from_phdr (bfd *abfd, Elf_Internal_Phdr *hdr, int hdr_index)
-     case PT_GNU_RELRO:
-       return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "relro");
- 
-+    case PT_PAX_FLAGS:
-+      return _bfd_elf_make_section_from_phdr (abfd, hdr, hdr_index, "pax_flags");
-+
-     default:
-       /* Check for any processor-specific program segment types.  */
-       bed = get_elf_backend_data (abfd);
-@@ -3551,6 +3555,11 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
-       ++segs;
-     }
- 
-+    {
-+      /* We need a PT_PAX_FLAGS segment.  */
-+      ++segs;
-+    }
-+
-   for (s = abfd->sections; s != NULL; s = s->next)
-     {
-       if ((s->flags & SEC_LOAD) != 0
-@@ -4153,6 +4162,20 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
- 	    }
- 	}
- 
-+    {
-+      amt = sizeof (struct elf_segment_map);
-+      m = bfd_zalloc (abfd, amt);
-+      if (m == NULL)
-+	goto error_return;
-+      m->next = NULL;
-+      m->p_type = PT_PAX_FLAGS;
-+      m->p_flags = elf_tdata (abfd)->pax_flags;
-+      m->p_flags_valid = 1;
-+
-+      *pm = m;
-+      pm = &m->next;
-+    }
-+
-       free (sections);
-       elf_tdata (abfd)->segment_map = mfirst;
-     }
-@@ -5417,7 +5440,8 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
-        6. PT_TLS segment includes only SHF_TLS sections.
-        7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
-        8. PT_DYNAMIC should not contain empty sections at the beginning
--	  (with the possible exception of .dynamic).  */
-+	  (with the possible exception of .dynamic).
-+       9. PT_PAX_FLAGS segments do not include any sections.  */
- #define IS_SECTION_IN_INPUT_SEGMENT(section, segment, bed)		\
-   ((((segment->p_paddr							\
-       ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr)	\
-@@ -5425,6 +5449,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
-      && (section->flags & SEC_ALLOC) != 0)				\
-     || IS_NOTE (segment, section))					\
-    && segment->p_type != PT_GNU_STACK					\
-+   && segment->p_type != PT_PAX_FLAGS					\
-    && (segment->p_type != PT_TLS					\
-        || (section->flags & SEC_THREAD_LOCAL))				\
-    && (segment->p_type == PT_LOAD					\
---- binutils-2.23/bfd/elflink.c
-+++ binutils-2.23/bfd/elflink.c
-@@ -5545,16 +5545,30 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
-     return TRUE;
- 
-   bed = get_elf_backend_data (output_bfd);
-+
-+  elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC;
-+  if (info->execheap)
-+    elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT;
-+  else if (info->noexecheap)
-+    elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT;
-+
-   if (info->execstack)
--    elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
-+    {
-+      elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X;
-+      elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+    }
-   else if (info->noexecstack)
--    elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
-+    {
-+      elf_tdata (output_bfd)->stack_flags = PF_R | PF_W;
-+      elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
-+    }
-   else
-     {
-       bfd *inputobj;
-       asection *notesec = NULL;
-       int exec = 0;
- 
-+      elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP;
-       for (inputobj = info->input_bfds;
- 	   inputobj;
- 	   inputobj = inputobj->link_next)
-@@ -5567,7 +5581,11 @@ bfd_elf_size_dynamic_sections (bfd *output_bfd,
- 	  if (s)
- 	    {
- 	      if (s->flags & SEC_CODE)
--		exec = PF_X;
-+		{
-+		  elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP;
-+		  elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP;
-+		  exec = PF_X;
-+		}
- 	      notesec = s;
- 	    }
- 	  else if (bed->default_execstack)
---- binutils-2.23/binutils/readelf.c
-+++ binutils-2.23/binutils/readelf.c
-@@ -2740,6 +2740,7 @@ get_segment_type (unsigned long p_type)
- 			return "GNU_EH_FRAME";
-     case PT_GNU_STACK:	return "GNU_STACK";
-     case PT_GNU_RELRO:  return "GNU_RELRO";
-+    case PT_PAX_FLAGS:  return "PAX_FLAGS";
- 
-     default:
-       if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC))
---- binutils-2.23/include/bfdlink.h
-+++ binutils-2.23/include/bfdlink.h
-@@ -322,6 +322,14 @@ struct bfd_link_info
-   /* TRUE if PT_GNU_RELRO segment should be created.  */
-   unsigned int relro: 1;
- 
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT
-+     flags.  */
-+  unsigned int execheap: 1;
-+
-+  /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT
-+     flags.  */
-+  unsigned int noexecheap: 1;
-+
-   /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
-      should be created.  */
-   unsigned int eh_frame_hdr: 1;
---- binutils-2.23/include/elf/common.h
-+++ binutils-2.23/include/elf/common.h
-@@ -429,6 +429,7 @@
- #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME      /* Solaris uses the same value */
- #define PT_GNU_STACK	(PT_LOOS + 0x474e551) /* Stack flags */
- #define PT_GNU_RELRO	(PT_LOOS + 0x474e552) /* Read-only after relocation */
-+#define PT_PAX_FLAGS	(PT_LOOS + 0x5041580) /* PaX flags */
- 
- /* Program segment permissions, in program header p_flags field.  */
- 
-@@ -439,6 +440,21 @@
- #define PF_MASKOS	0x0FF00000	/* New value, Oct 4, 1999 Draft */
- #define PF_MASKPROC	0xF0000000	/* Processor-specific reserved bits */
- 
-+/* Flags to control PaX behavior.  */
-+
-+#define PF_PAGEEXEC	(1 << 4)	/* Enable  PAGEEXEC */
-+#define PF_NOPAGEEXEC	(1 << 5)	/* Disable PAGEEXEC */
-+#define PF_SEGMEXEC	(1 << 6)	/* Enable  SEGMEXEC */
-+#define PF_NOSEGMEXEC	(1 << 7)	/* Disable SEGMEXEC */
-+#define PF_MPROTECT	(1 << 8)	/* Enable  MPROTECT */
-+#define PF_NOMPROTECT	(1 << 9)	/* Disable MPROTECT */
-+#define PF_RANDEXEC	(1 << 10)	/* Enable  RANDEXEC */
-+#define PF_NORANDEXEC	(1 << 11)	/* Disable RANDEXEC */
-+#define PF_EMUTRAMP	(1 << 12)	/* Enable  EMUTRAMP */
-+#define PF_NOEMUTRAMP	(1 << 13)	/* Disable EMUTRAMP */
-+#define PF_RANDMMAP	(1 << 14)	/* Enable  RANDMMAP */
-+#define PF_NORANDMMAP	(1 << 15)	/* Disable RANDMMAP */
-+
- /* Values for section header, sh_type field.  */
- 
- #define SHT_NULL	0		/* Section header table entry unused */
---- binutils-2.23/ld/emultempl/elf32.em
-+++ binutils-2.23/ld/emultempl/elf32.em
-@@ -2285,6 +2285,16 @@ fragment <<EOF
- 	  link_info.noexecstack = TRUE;
- 	  link_info.execstack = FALSE;
- 	}
-+      else if (strcmp (optarg, "execheap") == 0)
-+	{
-+	  link_info.execheap = TRUE;
-+	  link_info.noexecheap = FALSE;
-+	}
-+      else if (strcmp (optarg, "noexecheap") == 0)
-+	{
-+	  link_info.noexecheap = TRUE;
-+	  link_info.execheap = FALSE;
-+	}
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
-@@ -2368,6 +2378,8 @@ fragment <<EOF
-   -z defs                     Report unresolved symbols in object files.\n"));
-   fprintf (file, _("\
-   -z execstack                Mark executable as requiring executable stack\n"));
-+  fprintf (file, _("\
-+  -z execheap                 Mark executable as requiring executable heap\n"));
- EOF
- 
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
-@@ -2391,6 +2403,8 @@ fragment <<EOF
- fragment <<EOF
-   fprintf (file, _("\
-   -z noexecstack              Mark executable as not requiring executable stack\n"));
-+  fprintf (file, _("\
-+  -z noexecheap               Mark executable as not requiring executable heap\n"));
- EOF
- if test x"$GENERATE_SHLIB_SCRIPT" = xyes; then
- fragment <<EOF
---- binutils-2.23/ld/ldgram.y
-+++ binutils-2.23/ld/ldgram.y
-@@ -1119,6 +1119,8 @@ phdr_type:
- 			    $$ = exp_intop (0x6474e550);
- 			  else if (strcmp (s, "PT_GNU_STACK") == 0)
- 			    $$ = exp_intop (0x6474e551);
-+			  else if (strcmp (s, "PT_PAX_FLAGS") == 0)
-+			    $$ = exp_intop (0x65041580);
- 			  else
- 			    {
- 			      einfo (_("\
---- binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
-+++ binutils-2.23/ld/testsuite/ld-alpha/tlsbin.rd
-@@ -35,13 +35,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- 
- Program Headers:
-   Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
--  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+150 R E 0x8
-+  PHDR +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+188 R E 0x8
-   INTERP +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
-   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000
-   LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-   DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-   TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
---- binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
-+++ binutils-2.23/ld/testsuite/ld-alpha/tlsbinr.rd
-@@ -42,6 +42,7 @@ Program Headers:
-  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries:
---- binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
-+++ binutils-2.23/ld/testsuite/ld-alpha/tlspic.rd
-@@ -38,6 +38,7 @@ Program Headers:
-  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x10000
-  +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8
-  +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
---- binutils-2.23/ld/testsuite/ld-elf/eh1.d
-+++ binutils-2.23/ld/testsuite/ld-elf/eh1.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
- 
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
--  DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 00400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 
- 00000038 ZERO terminator
---- binutils-2.23/ld/testsuite/ld-elf/eh2.d
-+++ binutils-2.23/ld/testsuite/ld-elf/eh2.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
- 
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
--  DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 00400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 
- 00000038 ZERO terminator
---- binutils-2.23/ld/testsuite/ld-elf/eh3.d
-+++ binutils-2.23/ld/testsuite/ld-elf/eh3.d
-@@ -22,11 +22,11 @@ Contents of the .eh_frame section:
-   DW_CFA_nop
-   DW_CFA_nop
- 
--00000018 0000001c 0000001c FDE cie=00000000 pc=00400078..00400078
--  DW_CFA_advance_loc: 0 to 00400078
-+00000018 0000001c 0000001c FDE cie=00000000 pc=([0-9a-f]+)..\1
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_offset: 16
-   DW_CFA_offset: r6 \(rbp\) at cfa-16
--  DW_CFA_advance_loc: 0 to 00400078
-+  DW_CFA_advance_loc: 0 to [0-9a-f]+
-   DW_CFA_def_cfa_register: r6 \(rbp\)
- 
- 00000038 ZERO terminator
---- binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
-+++ binutils-2.23/ld/testsuite/ld-elf/orphan-region.d
-@@ -15,7 +15,9 @@
- Program Headers:
-   Type.*
-   LOAD[ \t]+0x[0-9a-f]+ 0x0*40000000 0x0*40000000 0x[0-9a-f]+ 0x[0-9a-f]+ RWE 0x[0-9a-f]+
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-   Segment Sections...
-    00     .text .rodata .moredata *
-+   01 +
---- binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlsbin.rd
-@@ -44,6 +44,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -53,6 +54,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got .got.plt *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlsbindesc.rd
-@@ -42,6 +42,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -51,6 +52,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got .got.plt *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlsdesc.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
-  +LOAD.*
-  +LOAD.*
-  +DYNAMIC.*
-+ +PAX_FLAGS.*
- 
-  Section to Segment mapping:
-  +Segment Sections...
-  +00 +.hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text *
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-+ +03 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlsnopic.rd
-@@ -37,6 +37,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -44,6 +45,7 @@ Program Headers:
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tbss *
-+ +04 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
-+++ binutils-2.23/ld/testsuite/ld-i386/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- 
- Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name
---- binutils-2.23/ld/testsuite/ld-ia64/merge1.d
-+++ binutils-2.23/ld/testsuite/ld-ia64/merge1.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- 
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
- [ 	]*[a-f0-9]+:	c0 c0 04 00 48 00 	            addl r12=24,r1
- [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
---- binutils-2.23/ld/testsuite/ld-ia64/merge2.d
-+++ binutils-2.23/ld/testsuite/ld-ia64/merge2.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- 
- #...
--0+1e0 <.text>:
-+[a-f0-9]+ <.text>:
- [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
- [ 	]*[a-f0-9]+:	c0 c0 04 00 48 00 	            addl r12=24,r1
- [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
---- binutils-2.23/ld/testsuite/ld-ia64/merge3.d
-+++ binutils-2.23/ld/testsuite/ld-ia64/merge3.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- 
- #...
--0+210 <.text>:
-+[a-f0-9]+ <.text>:
- [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
- [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
- [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
---- binutils-2.23/ld/testsuite/ld-ia64/merge4.d
-+++ binutils-2.23/ld/testsuite/ld-ia64/merge4.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- 
- #...
--0+240 <.text>:
-+[a-f0-9]+ <.text>:
- [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
- [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
- [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
---- binutils-2.23/ld/testsuite/ld-ia64/merge5.d
-+++ binutils-2.23/ld/testsuite/ld-ia64/merge5.d
-@@ -4,7 +4,7 @@
- #objdump: -d
- 
- #...
--0+270 <.text>:
-+[a-f0-9]+ <.text>:
- [ 	]*[a-f0-9]+:	0b 60 80 02 00 24 	\[MMI\]       addl r12=32,r1;;
- [ 	]*[a-f0-9]+:	c0 40 05 00 48 00 	            addl r12=40,r1
- [ 	]*[a-f0-9]+:	00 00 04 00       	            nop.i 0x0;;
---- binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
-+++ binutils-2.23/ld/testsuite/ld-ia64/tlsbin.rd
-@@ -36,13 +36,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- 
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x40+40 0x40+40 0x0+188 0x0+188 R E 0x8
-- +INTERP +0x0+1c8 0x40+1c8 0x40+1c8 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
-+ +PHDR +0x0+40 0x40+40 0x40+40 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x40+\1) \2 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x1
- .*Requesting program interpreter.*
-  +LOAD +0x0+ 0x40+ 0x40+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ R E 0x10000
-  +LOAD +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
-  +DYNAMIC +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+150 0x0+150 RW +0x8
-  +TLS +0x0+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x60+1[0-9a-f]+ 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  +IA_64_UNWIND .* R +0x8
- #...
- 
---- binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
-+++ binutils-2.23/ld/testsuite/ld-ia64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+0[0-9a-f]+ 0x0+0[0-9a-f]+ RW +0x10000
-  +DYNAMIC +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+140 0x0+140 RW +0x8
-  +TLS +0x0+1[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+11[0-9a-f]+ 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  +IA_64_UNWIND +0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+1[0-9a-f]+ 0x0+18 0x0+18 R +0x8
- #...
- 
---- binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/multi-got-no-shared.d
-@@ -8,9 +8,9 @@
- .*: +file format.*
- 
- Disassembly of section \.text:
--004000b0 <[^>]*> 3c1c0043 	lui	gp,0x43
--004000b4 <[^>]*> 279c9ff0 	addiu	gp,gp,-24592
--004000b8 <[^>]*> afbc0008 	sw	gp,8\(sp\)
-+004000d0 <[^>]*> 3c1c0043 	lui	gp,0x43
-+004000d4 <[^>]*> 279c9ff0 	addiu	gp,gp,-24592
-+004000d8 <[^>]*> afbc0008 	sw	gp,8\(sp\)
- #...
- 00408d60 <[^>]*> 3c1c0043 	lui	gp,0x43
- 00408d64 <[^>]*> 279c2c98 	addiu	gp,gp,11416
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3a.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is DYN \(Shared object file\)
- Entry point .*
--There are 5 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -9,6 +9,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+00000 * 0x0+00000 [^ ]+ * [^ ]+ * R E * 0x.*
-  * LOAD * [^ ]+ * 0x0+10000 * 0x0+10000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+00400 * 0x0+00400 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -18,3 +19,4 @@ Program Headers:
-  *0*2 * \.data \.got *
-  *0*3 * \.dynamic *
-  *0*4 *
-+ *0*5 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 *\.got \.data *
-  *0*6 *\.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 7 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -12,6 +12,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -23,3 +24,4 @@ Program Headers:
-  *0*4 * \.got \.data \.bss *
-  *0*5 * \.dynamic *
-  *0*6 *
-+ *0*7 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.sd
-@@ -1,7 +1,7 @@
- 
- Elf file type is EXEC \(Executable file\)
- Entry point 0x44000
--There are 8 program headers, starting at offset .*
-+There are [0-9] program headers, starting at offset .*
- 
- Program Headers:
-  * Type * Offset * VirtAddr * PhysAddr * FileSiz * MemSiz * Flg * Align
-@@ -13,6 +13,7 @@ Program Headers:
-  * LOAD * [^ ]+ * 0x0+80000 * 0x0+80000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * LOAD * [^ ]+ * 0x0+a0000 * 0x0+a0000 [^ ]+ * [^ ]+ * RW  * 0x.*
-  * DYNAMIC * [^ ]+ * 0x0+42000 * 0x0+42000 .*
-+ * PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
-  * NULL * .*
- 
-  *Section to Segment mapping:
-@@ -25,3 +26,4 @@ Program Headers:
-  *0*5 * \.got \.data \.bss *
-  *0*6 * \.dynamic *
-  *0*7 *
-+ *0*8 *
---- binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
-+++ binutils-2.23/ld/testsuite/ld-mips-elf/tlsbin-o32.d
-@@ -2,42 +2,42 @@
- 
- Disassembly of section .text:
- 
--004000d0 <__start>:
--  4000d0:	3c1c0fc0 	lui	gp,0xfc0
--  4000d4:	279c7f30 	addiu	gp,gp,32560
--  4000d8:	0399e021 	addu	gp,gp,t9
--  4000dc:	27bdfff0 	addiu	sp,sp,-16
--  4000e0:	afbe0008 	sw	s8,8\(sp\)
--  4000e4:	03a0f021 	move	s8,sp
--  4000e8:	afbc0000 	sw	gp,0\(sp\)
--  4000ec:	8f998018 	lw	t9,-32744\(gp\)
--  4000f0:	27848028 	addiu	a0,gp,-32728
--  4000f4:	0320f809 	jalr	t9
--  4000f8:	00000000 	nop
--  4000fc:	8fdc0000 	lw	gp,0\(s8\)
--  400100:	00000000 	nop
--  400104:	8f998018 	lw	t9,-32744\(gp\)
--  400108:	27848020 	addiu	a0,gp,-32736
--  40010c:	0320f809 	jalr	t9
--  400110:	00000000 	nop
--  400114:	8fdc0000 	lw	gp,0\(s8\)
--  400118:	00401021 	move	v0,v0
--  40011c:	3c030000 	lui	v1,0x0
--  400120:	24638000 	addiu	v1,v1,-32768
--  400124:	00621821 	addu	v1,v1,v0
--  400128:	7c02283b 	rdhwr	v0,\$5
--  40012c:	8f83801c 	lw	v1,-32740\(gp\)
--  400130:	00000000 	nop
--  400134:	00621821 	addu	v1,v1,v0
--  400138:	7c02283b 	rdhwr	v0,\$5
--  40013c:	3c030000 	lui	v1,0x0
--  400140:	24639004 	addiu	v1,v1,-28668
--  400144:	00621821 	addu	v1,v1,v0
--  400148:	03c0e821 	move	sp,s8
--  40014c:	8fbe0008 	lw	s8,8\(sp\)
--  400150:	03e00008 	jr	ra
--  400154:	27bd0010 	addiu	sp,sp,16
-+00400[0-9a-f]{3} <__start>:
-+  400[0-9a-f]{3}:	3c1c0fc0 	lui	gp,0xfc0
-+  400[0-9a-f]{3}:	279c7f30 	addiu	gp,gp,32560
-+  400[0-9a-f]{3}:	0399e021 	addu	gp,gp,t9
-+  400[0-9a-f]{3}:	27bdfff0 	addiu	sp,sp,-16
-+  400[0-9a-f]{3}:	afbe0008 	sw	s8,8\(sp\)
-+  400[0-9a-f]{3}:	03a0f021 	move	s8,sp
-+  400[0-9a-f]{3}:	afbc0000 	sw	gp,0\(sp\)
-+  400[0-9a-f]{3}:	8f998018 	lw	t9,-32744\(gp\)
-+  400[0-9a-f]{3}:	27848028 	addiu	a0,gp,-32728
-+  400[0-9a-f]{3}:	0320f809 	jalr	t9
-+  400[0-9a-f]{3}:	00000000 	nop
-+  400[0-9a-f]{3}:	8fdc0000 	lw	gp,0\(s8\)
-+  400[0-9a-f]{3}:	00000000 	nop
-+  400[0-9a-f]{3}:	8f998018 	lw	t9,-32744\(gp\)
-+  400[0-9a-f]{3}:	27848020 	addiu	a0,gp,-32736
-+  400[0-9a-f]{3}:	0320f809 	jalr	t9
-+  400[0-9a-f]{3}:	00000000 	nop
-+  400[0-9a-f]{3}:	8fdc0000 	lw	gp,0\(s8\)
-+  400[0-9a-f]{3}:	00401021 	move	v0,v0
-+  400[0-9a-f]{3}:	3c030000 	lui	v1,0x0
-+  400[0-9a-f]{3}:	24638000 	addiu	v1,v1,-32768
-+  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
-+  400[0-9a-f]{3}:	7c02283b 	rdhwr	v0,\$5
-+  400[0-9a-f]{3}:	8f83801c 	lw	v1,-32740\(gp\)
-+  400[0-9a-f]{3}:	00000000 	nop
-+  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
-+  400[0-9a-f]{3}:	7c02283b 	rdhwr	v0,\$5
-+  400[0-9a-f]{3}:	3c030000 	lui	v1,0x0
-+  400[0-9a-f]{3}:	24639004 	addiu	v1,v1,-28668
-+  400[0-9a-f]{3}:	00621821 	addu	v1,v1,v0
-+  400[0-9a-f]{3}:	03c0e821 	move	sp,s8
-+  400[0-9a-f]{3}:	8fbe0008 	lw	s8,8\(sp\)
-+  400[0-9a-f]{3}:	03e00008 	jr	ra
-+  400[0-9a-f]{3}:	27bd0010 	addiu	sp,sp,16
- 
--00400158 <__tls_get_addr>:
--  400158:	03e00008 	jr	ra
--  40015c:	00000000 	nop
-+00400[0-9a-f]{3} <__tls_get_addr>:
-+  400[0-9a-f]{3}:	03e00008 	jr	ra
-+  400[0-9a-f]{3}:	00000000 	nop
---- binutils-2.23/ld/testsuite/ld-powerpc/tls.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tls.d
-@@ -9,45 +9,45 @@
- 
- Disassembly of section \.text:
- 
--0+100000e8 <_start>:
--    100000e8:	3c 6d 00 00 	addis   r3,r13,0
--    100000ec:	60 00 00 00 	nop
--    100000f0:	38 63 90 78 	addi    r3,r3,-28552
--    100000f4:	3c 6d 00 00 	addis   r3,r13,0
--    100000f8:	60 00 00 00 	nop
--    100000fc:	38 63 10 00 	addi    r3,r3,4096
--    10000100:	3c 6d 00 00 	addis   r3,r13,0
--    10000104:	60 00 00 00 	nop
--    10000108:	38 63 90 40 	addi    r3,r3,-28608
--    1000010c:	3c 6d 00 00 	addis   r3,r13,0
--    10000110:	60 00 00 00 	nop
--    10000114:	38 63 10 00 	addi    r3,r3,4096
--    10000118:	39 23 80 48 	addi    r9,r3,-32696
--    1000011c:	3d 23 00 00 	addis   r9,r3,0
--    10000120:	81 49 80 50 	lwz     r10,-32688\(r9\)
--    10000124:	e9 22 80 10 	ld      r9,-32752\(r2\)
--    10000128:	7d 49 18 2a 	ldx     r10,r9,r3
--    1000012c:	3d 2d 00 00 	addis   r9,r13,0
--    10000130:	a1 49 90 60 	lhz     r10,-28576\(r9\)
--    10000134:	89 4d 90 68 	lbz     r10,-28568\(r13\)
--    10000138:	3d 2d 00 00 	addis   r9,r13,0
--    1000013c:	99 49 90 70 	stb     r10,-28560\(r9\)
--    10000140:	3c 6d 00 00 	addis   r3,r13,0
--    10000144:	60 00 00 00 	nop
--    10000148:	38 63 90 00 	addi    r3,r3,-28672
--    1000014c:	3c 6d 00 00 	addis   r3,r13,0
--    10000150:	60 00 00 00 	nop
--    10000154:	38 63 10 00 	addi    r3,r3,4096
--    10000158:	f9 43 80 08 	std     r10,-32760\(r3\)
--    1000015c:	3d 23 00 00 	addis   r9,r3,0
--    10000160:	91 49 80 10 	stw     r10,-32752\(r9\)
--    10000164:	e9 22 80 08 	ld      r9,-32760\(r2\)
--    10000168:	7d 49 19 2a 	stdx    r10,r9,r3
--    1000016c:	3d 2d 00 00 	addis   r9,r13,0
--    10000170:	b1 49 90 60 	sth     r10,-28576\(r9\)
--    10000174:	e9 4d 90 2a 	lwa     r10,-28632\(r13\)
--    10000178:	3d 2d 00 00 	addis   r9,r13,0
--    1000017c:	a9 49 90 30 	lha     r10,-28624\(r9\)
-+0+10000[0-9a-f]{3} <_start>:
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 78 	addi    r3,r3,-28552
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 40 	addi    r3,r3,-28608
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+    10000[0-9a-f]{3}:	39 23 80 48 	addi    r9,r3,-32696
-+    10000[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
-+    10000[0-9a-f]{3}:	81 49 80 50 	lwz     r10,-32688\(r9\)
-+    10000[0-9a-f]{3}:	e9 22 80 10 	ld      r9,-32752\(r2\)
-+    10000[0-9a-f]{3}:	7d 49 18 2a 	ldx     r10,r9,r3
-+    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
-+    10000[0-9a-f]{3}:	a1 49 90 60 	lhz     r10,-28576\(r9\)
-+    10000[0-9a-f]{3}:	89 4d 90 68 	lbz     r10,-28568\(r13\)
-+    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
-+    10000[0-9a-f]{3}:	99 49 90 70 	stb     r10,-28560\(r9\)
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+    10000[0-9a-f]{3}:	f9 43 80 08 	std     r10,-32760\(r3\)
-+    10000[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
-+    10000[0-9a-f]{3}:	91 49 80 10 	stw     r10,-32752\(r9\)
-+    10000[0-9a-f]{3}:	e9 22 80 08 	ld      r9,-32760\(r2\)
-+    10000[0-9a-f]{3}:	7d 49 19 2a 	stdx    r10,r9,r3
-+    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
-+    10000[0-9a-f]{3}:	b1 49 90 60 	sth     r10,-28576\(r9\)
-+    10000[0-9a-f]{3}:	e9 4d 90 2a 	lwa     r10,-28632\(r13\)
-+    10000[0-9a-f]{3}:	3d 2d 00 00 	addis   r9,r13,0
-+    10000[0-9a-f]{3}:	a9 49 90 30 	lha     r10,-28624\(r9\)
- 
--0+10000180 <\.__tls_get_addr>:
--    10000180:	4e 80 00 20 	blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
---- binutils-2.23/ld/testsuite/ld-powerpc/tls.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tls.g
-@@ -8,5 +8,5 @@
- .*: +file format elf64-powerpc
- 
- Contents of section \.got:
-- 100101e0 00000000 100181e0 ffffffff ffff8018  .*
-- 100101f0 ffffffff ffff8058                    .*
-+ 10010([0-9a-f]{3}) 00000000 10018\1 ffffffff ffff8018  .*
-+ 10010[0-9a-f]{3} ffffffff ffff8058                    .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tls32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.d
-@@ -9,42 +9,42 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <_start>:
-- 1800094:	3c 62 00 00 	addis   r3,r2,0
-- 1800098:	38 63 90 3c 	addi    r3,r3,-28612
-- 180009c:	3c 62 00 00 	addis   r3,r2,0
-- 18000a0:	38 63 10 00 	addi    r3,r3,4096
-- 18000a4:	3c 62 00 00 	addis   r3,r2,0
-- 18000a8:	38 63 90 20 	addi    r3,r3,-28640
-- 18000ac:	3c 62 00 00 	addis   r3,r2,0
-- 18000b0:	38 63 10 00 	addi    r3,r3,4096
-- 18000b4:	39 23 80 24 	addi    r9,r3,-32732
-- 18000b8:	3d 23 00 00 	addis   r9,r3,0
-- 18000bc:	81 49 80 28 	lwz     r10,-32728\(r9\)
-- 18000c0:	3d 22 00 00 	addis   r9,r2,0
-- 18000c4:	a1 49 90 30 	lhz     r10,-28624\(r9\)
-- 18000c8:	89 42 90 34 	lbz     r10,-28620\(r2\)
-- 18000cc:	3d 22 00 00 	addis   r9,r2,0
-- 18000d0:	99 49 90 38 	stb     r10,-28616\(r9\)
-- 18000d4:	3c 62 00 00 	addis   r3,r2,0
-- 18000d8:	38 63 90 00 	addi    r3,r3,-28672
-- 18000dc:	3c 62 00 00 	addis   r3,r2,0
-- 18000e0:	38 63 10 00 	addi    r3,r3,4096
-- 18000e4:	91 43 80 04 	stw     r10,-32764\(r3\)
-- 18000e8:	3d 23 00 00 	addis   r9,r3,0
-- 18000ec:	91 49 80 08 	stw     r10,-32760\(r9\)
-- 18000f0:	3d 22 00 00 	addis   r9,r2,0
-- 18000f4:	b1 49 90 30 	sth     r10,-28624\(r9\)
-- 18000f8:	a1 42 90 14 	lhz     r10,-28652\(r2\)
-- 18000fc:	3d 22 00 00 	addis   r9,r2,0
-- 1800100:	a9 49 90 18 	lha     r10,-28648\(r9\)
-+0+1800[0-9a-f]{3} <_start>:
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 90 3c 	addi    r3,r3,-28612
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 90 20 	addi    r3,r3,-28640
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+ 1800[0-9a-f]{3}:	39 23 80 24 	addi    r9,r3,-32732
-+ 1800[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
-+ 1800[0-9a-f]{3}:	81 49 80 28 	lwz     r10,-32728\(r9\)
-+ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
-+ 1800[0-9a-f]{3}:	a1 49 90 30 	lhz     r10,-28624\(r9\)
-+ 1800[0-9a-f]{3}:	89 42 90 34 	lbz     r10,-28620\(r2\)
-+ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
-+ 1800[0-9a-f]{3}:	99 49 90 38 	stb     r10,-28616\(r9\)
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
-+ 1800[0-9a-f]{3}:	3c 62 00 00 	addis   r3,r2,0
-+ 1800[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+ 1800[0-9a-f]{3}:	91 43 80 04 	stw     r10,-32764\(r3\)
-+ 1800[0-9a-f]{3}:	3d 23 00 00 	addis   r9,r3,0
-+ 1800[0-9a-f]{3}:	91 49 80 08 	stw     r10,-32760\(r9\)
-+ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
-+ 1800[0-9a-f]{3}:	b1 49 90 30 	sth     r10,-28624\(r9\)
-+ 1800[0-9a-f]{3}:	a1 42 90 14 	lhz     r10,-28652\(r2\)
-+ 1800[0-9a-f]{3}:	3d 22 00 00 	addis   r9,r2,0
-+ 1800[0-9a-f]{3}:	a9 49 90 18 	lha     r10,-28648\(r9\)
- 
--0+1800104 <__tls_get_addr>:
-- 1800104:	4e 80 00 20 	blr
-+0+1800[0-9a-f]{3} <__tls_get_addr>:
-+ 1800[0-9a-f]{3}:	4e 80 00 20 	blr
- Disassembly of section \.got:
- 
--0+1810128 <_GLOBAL_OFFSET_TABLE_-0x4>:
-- 1810128:	4e 80 00 21 	blrl
-+0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_-0x4>:
-+ 1810[0-9a-f]{3}:	4e 80 00 21 	blrl
- 
--0+181012c <_GLOBAL_OFFSET_TABLE_>:
-+0+1810[0-9a-f]{3} <_GLOBAL_OFFSET_TABLE_>:
- 	\.\.\.
---- binutils-2.23/ld/testsuite/ld-powerpc/tls32.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.g
-@@ -8,4 +8,4 @@
- .*: +file format elf32-powerpc
- 
- Contents of section \.got:
-- 1810128 4e800021 00000000 00000000 00000000  .*
-+ 18101[0-9a-f]{2} 4e800021 00000000 00000000 00000000  .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tls32.t
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tls32.t
-@@ -8,5 +8,5 @@
- .*: +file format elf32-powerpc
- 
- Contents of section \.tdata:
-- 1810108 12345678 23456789 3456789a 456789ab  .*
-- 1810118 56789abc 6789abcd 789abcde 00c0ffee  .*
-+ 18101[0-9a-f]{2} 12345678 23456789 3456789a 456789ab  .*
-+ 18101[0-9a-f]{2} 56789abc 6789abcd 789abcde 00c0ffee  .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.d
-@@ -44,4 +44,4 @@ Disassembly of section \.got:
- .*:	4e 80 00 21 	blrl
- 
- .* <_GLOBAL_OFFSET_TABLE_>:
--.*:	01 81 02 b8 00 00 00 00 00 00 00 00  .*
-+.*:	01 81 02 [bd]8 00 00 00 00 00 00 00 00  .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.g
-@@ -8,4 +8,4 @@
- 
- Contents of section \.got:
- .* 00000000 00000000 00000000 4e800021  .*
--.* 018102b8 00000000 00000000           .*
-+.* 018102[bd]8 00000000 00000000           .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsexe32.r
-@@ -33,13 +33,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- 
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x000034 0x01800034 0x01800034 0x000c0 0x000c0 R E 0x4
-- +INTERP +0x0000f4 0x018000f4 0x018000f4 0x00011 0x00011 R +0x1
-+ +PHDR +0x000034 0x01800034 0x01800034 (0x000[0-9a-f]{2}) \1 R E 0x4
-+ +INTERP +0x000([0-9a-f]{3}) 0x01800\1 0x01800\1 0x00011 0x00011 R +0x1
-  +\[Requesting program interpreter: .*\]
-  +LOAD .* R E 0x10000
-  +LOAD .* RWE 0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0001c 0x00038 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -49,6 +50,7 @@ Program Headers:
-  +03 +\.tdata \.dynamic \.got \.plt 
-  +04 +\.dynamic 
-  +05 +\.tdata \.tbss 
-+ +06 +
- 
- Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
-  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark.d
-@@ -9,29 +9,29 @@
- 
- Disassembly of section \.text:
- 
--0+100000e8 <_start>:
--    100000e8:	48 00 00 18 	b       10000100 <_start\+0x18>
--    100000ec:	60 00 00 00 	nop
--    100000f0:	38 63 90 00 	addi    r3,r3,-28672
--    100000f4:	e8 83 00 00 	ld      r4,0\(r3\)
--    100000f8:	3c 6d 00 00 	addis   r3,r13,0
--    100000fc:	48 00 00 0c 	b       10000108 <_start\+0x20>
--    10000100:	3c 6d 00 00 	addis   r3,r13,0
--    10000104:	4b ff ff e8 	b       100000ec <_start\+0x4>
--    10000108:	60 00 00 00 	nop
--    1000010c:	38 63 10 00 	addi    r3,r3,4096
--    10000110:	e8 83 80 00 	ld      r4,-32768\(r3\)
--    10000114:	3c 6d 00 00 	addis   r3,r13,0
--    10000118:	48 00 00 0c 	b       10000124 <_start\+0x3c>
--    1000011c:	3c 6d 00 00 	addis   r3,r13,0
--    10000120:	48 00 00 14 	b       10000134 <_start\+0x4c>
--    10000124:	60 00 00 00 	nop
--    10000128:	38 63 90 04 	addi    r3,r3,-28668
--    1000012c:	e8 a3 00 00 	ld      r5,0\(r3\)
--    10000130:	4b ff ff ec 	b       1000011c <_start\+0x34>
--    10000134:	60 00 00 00 	nop
--    10000138:	38 63 10 00 	addi    r3,r3,4096
--    1000013c:	e8 a3 80 04 	ld      r5,-32764\(r3\)
-+0+10000[0-9a-f]{3} <_start>:
-+    10000[0-9a-f]{3}:	48 00 00 18 	b       10000[0-9a-f]{3} <_start\+0x18>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 00 	addi    r3,r3,-28672
-+    10000[0-9a-f]{3}:	e8 83 00 00 	ld      r4,0\(r3\)
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       10000[0-9a-f]{3} <_start\+0x20>
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	4b ff ff e8 	b       10000[0-9a-f]{3} <_start\+0x4>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+    10000[0-9a-f]{3}:	e8 83 80 00 	ld      r4,-32768\(r3\)
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       10000[0-9a-f]{3} <_start\+0x3c>
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	48 00 00 14 	b       10000[0-9a-f]{3} <_start\+0x4c>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 04 	addi    r3,r3,-28668
-+    10000[0-9a-f]{3}:	e8 a3 00 00 	ld      r5,0\(r3\)
-+    10000[0-9a-f]{3}:	4b ff ff ec 	b       10000[0-9a-f]{3} <_start\+0x34>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 10 00 	addi    r3,r3,4096
-+    10000[0-9a-f]{3}:	e8 a3 80 04 	ld      r5,-32764\(r3\)
- 
--0+10000140 <\.__tls_get_addr>:
--    10000140:	4e 80 00 20 	blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsmark32.d
-@@ -9,17 +9,17 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <_start>:
-- 1800094:	48 00 00 14 	b       18000a8 <_start\+0x14>
-- 1800098:	38 63 90 00 	addi    r3,r3,-28672
-- 180009c:	80 83 00 00 	lwz     r4,0\(r3\)
-- 18000a0:	3c 62 00 00 	addis   r3,r2,0
-- 18000a4:	48 00 00 0c 	b       18000b0 <_start\+0x1c>
-- 18000a8:	3c 62 00 00 	addis   r3,r2,0
-- 18000ac:	4b ff ff ec 	b       1800098 <_start\+0x4>
-- 18000b0:	38 63 10 00 	addi    r3,r3,4096
-- 18000b4:	80 83 80 00 	lwz     r4,-32768\(r3\)
-+0+18000[0-9a-f]{2} <_start>:
-+ 18000[0-9a-f]{2}:	48 00 00 14 	b       18000[0-9a-f]{2} <_start\+0x14>
-+ 18000[0-9a-f]{2}:	38 63 90 00 	addi    r3,r3,-28672
-+ 18000[0-9a-f]{2}:	80 83 00 00 	lwz     r4,0\(r3\)
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	48 00 00 0c 	b       18000[0-9a-f]{2} <_start\+0x1c>
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	4b ff ff ec 	b       18000[0-9a-f]{2} <_start\+0x4>
-+ 18000[0-9a-f]{2}:	38 63 10 00 	addi    r3,r3,4096
-+ 18000[0-9a-f]{2}:	80 83 80 00 	lwz     r4,-32768\(r3\)
- 
--0+18000b8 <__tls_get_addr>:
-- 18000b8:	4e 80 00 20 	blr
--#pass
-\ No newline at end of file
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
-+#pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1.d
-@@ -9,17 +9,17 @@
- 
- Disassembly of section \.text:
- 
--0+100000e8 <\.__tls_get_addr>:
--    100000e8:	4e 80 00 20 	blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt1:
- 
--0+100000ec <\.no_opt1>:
--    100000ec:	38 62 80 08 	addi    r3,r2,-32760
--    100000f0:	2c 24 00 00 	cmpdi   r4,0
--    100000f4:	41 82 00 10 	beq-    .*
--    100000f8:	4b ff ff f1 	bl      100000e8 <\.__tls_get_addr>
--    100000fc:	60 00 00 00 	nop
--    10000100:	48 00 00 0c 	b       .*
--    10000104:	4b ff ff e5 	bl      100000e8 <\.__tls_get_addr>
--    10000108:	60 00 00 00 	nop
-+0+10000[0-9a-f]{3} <\.no_opt1>:
-+    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
-+    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
-+    10000[0-9a-f]{3}:	41 82 00 10 	beq-    .*
-+    10000[0-9a-f]{3}:	4b ff ff f1 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	4b ff ff e5 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt1_32.d
-@@ -9,16 +9,16 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <__tls_get_addr>:
-- 1800094:	4e 80 00 20 	blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt1:
- 
--0+1800098 <\.no_opt1>:
-- 1800098:	38 6d ff f4 	addi    r3,r13,-12
-- 180009c:	2c 04 00 00 	cmpwi   r4,0
-- 18000a0:	41 82 00 0c 	beq-    .*
-- 18000a4:	4b ff ff f1 	bl      1800094 <__tls_get_addr>
-- 18000a8:	48 00 00 08 	b       .*
-- 18000ac:	4b ff ff e9 	bl      1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt1>:
-+ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
-+ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
-+ 18000[0-9a-f]{2}:	41 82 00 0c 	beq-    .*
-+ 18000[0-9a-f]{2}:	4b ff ff f1 	bl      18000[0-9a-f]{2} <__tls_get_addr>
-+ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
-+ 18000[0-9a-f]{2}:	4b ff ff e9 	bl      18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2.d
-@@ -9,15 +9,15 @@
- 
- Disassembly of section \.text:
- 
--0+100000e8 <\.__tls_get_addr>:
--    100000e8:	4e 80 00 20 	blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt2:
- 
--0+100000ec <\.no_opt2>:
--    100000ec:	38 62 80 08 	addi    r3,r2,-32760
--    100000f0:	2c 24 00 00 	cmpdi   r4,0
--    100000f4:	41 82 00 08 	beq-    .*
--    100000f8:	38 62 80 08 	addi    r3,r2,-32760
--    100000fc:	4b ff ff ed 	bl      100000e8 <\.__tls_get_addr>
--    10000100:	60 00 00 00 	nop
-+0+10000[0-9a-f]{3} <\.no_opt2>:
-+    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
-+    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
-+    10000[0-9a-f]{3}:	41 82 00 08 	beq-    .*
-+    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
-+    10000[0-9a-f]{3}:	4b ff ff ed 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt2_32.d
-@@ -9,15 +9,15 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <__tls_get_addr>:
-- 1800094:	4e 80 00 20 	blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt2:
- 
--0+1800098 <\.no_opt2>:
-- 1800098:	38 6d ff f4 	addi    r3,r13,-12
-- 180009c:	2c 04 00 00 	cmpwi   r4,0
-- 18000a0:	41 82 00 08 	beq-    .*
-- 18000a4:	38 6d ff f4 	addi    r3,r13,-12
-- 18000a8:	4b ff ff ed 	bl      1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt2>:
-+ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
-+ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
-+ 18000[0-9a-f]{2}:	41 82 00 08 	beq-    .*
-+ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
-+ 18000[0-9a-f]{2}:	4b ff ff ed 	bl      18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3.d
-@@ -9,18 +9,18 @@
- 
- Disassembly of section \.text:
- 
--00000000100000e8 <\.__tls_get_addr>:
--    100000e8:	4e 80 00 20 	blr
-+0000000010000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt3:
- 
--00000000100000ec <\.no_opt3>:
--    100000ec:	38 62 80 08 	addi    r3,r2,-32760
--    100000f0:	48 00 00 0c 	b       .*
--    100000f4:	38 62 80 18 	addi    r3,r2,-32744
--    100000f8:	48 00 00 10 	b       .*
--    100000fc:	4b ff ff ed 	bl      100000e8 <\.__tls_get_addr>
--    10000100:	60 00 00 00 	nop
--    10000104:	48 00 00 0c 	b       .*
--    10000108:	4b ff ff e1 	bl      100000e8 <\.__tls_get_addr>
--    1000010c:	60 00 00 00 	nop
-+0000000010000[0-9a-f]{3} <\.no_opt3>:
-+    10000[0-9a-f]{3}:	38 62 80 08 	addi    r3,r2,-32760
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	38 62 80 18 	addi    r3,r2,-32744
-+    10000[0-9a-f]{3}:	48 00 00 10 	b       .*
-+    10000[0-9a-f]{3}:	4b ff ff ed 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	4b ff ff e1 	bl      10000[0-9a-f]{3} <\.__tls_get_addr>
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt3_32.d
-@@ -9,17 +9,17 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <__tls_get_addr>:
-- 1800094:	4e 80 00 20 	blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
- 
- Disassembly of section \.no_opt3:
- 
--0+1800098 <\.no_opt3>:
-- 1800098:	38 6d ff ec 	addi    r3,r13,-20
-- 180009c:	48 00 00 0c 	b       .*
-- 18000a0:	38 6d ff f4 	addi    r3,r13,-12
-- 18000a4:	48 00 00 0c 	b       .*
-- 18000a8:	4b ff ff ed 	bl      1800094 <__tls_get_addr>
-- 18000ac:	48 00 00 08 	b       .*
-- 18000b0:	4b ff ff e5 	bl      1800094 <__tls_get_addr>
-+0+18000[0-9a-f]{2} <\.no_opt3>:
-+ 18000[0-9a-f]{2}:	38 6d ff ec 	addi    r3,r13,-20
-+ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
-+ 18000[0-9a-f]{2}:	38 6d ff f4 	addi    r3,r13,-12
-+ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
-+ 18000[0-9a-f]{2}:	4b ff ff ed 	bl      18000[0-9a-f]{2} <__tls_get_addr>
-+ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
-+ 18000[0-9a-f]{2}:	4b ff ff e5 	bl      18000[0-9a-f]{2} <__tls_get_addr>
- #pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4.d
-@@ -9,40 +9,40 @@
- 
- Disassembly of section \.text:
- 
--0+100000e8 <\.__tls_get_addr>:
--    100000e8:	4e 80 00 20 	blr
-+0+10000[0-9a-f]{3} <\.__tls_get_addr>:
-+    10000[0-9a-f]{3}:	4e 80 00 20 	blr
- 
- Disassembly of section \.opt1:
- 
--0+100000ec <\.opt1>:
--    100000ec:	3c 6d 00 00 	addis   r3,r13,0
--    100000f0:	2c 24 00 00 	cmpdi   r4,0
--    100000f4:	41 82 00 10 	beq-    .*
--    100000f8:	60 00 00 00 	nop
--    100000fc:	38 63 90 10 	addi    r3,r3,-28656
--    10000100:	48 00 00 0c 	b       .*
--    10000104:	60 00 00 00 	nop
--    10000108:	38 63 90 10 	addi    r3,r3,-28656
-+0+10000[0-9a-f]{3} <\.opt1>:
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
-+    10000[0-9a-f]{3}:	41 82 00 10 	beq-    .*
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
- 
- Disassembly of section \.opt2:
- 
--0+1000010c <\.opt2>:
--    1000010c:	3c 6d 00 00 	addis   r3,r13,0
--    10000110:	2c 24 00 00 	cmpdi   r4,0
--    10000114:	41 82 00 08 	beq-    .*
--    10000118:	3c 6d 00 00 	addis   r3,r13,0
--    1000011c:	60 00 00 00 	nop
--    10000120:	38 63 90 10 	addi    r3,r3,-28656
-+0+10000[0-9a-f]{3} <\.opt2>:
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	2c 24 00 00 	cmpdi   r4,0
-+    10000[0-9a-f]{3}:	41 82 00 08 	beq-    .*
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
- 
- Disassembly of section \.opt3:
- 
--0+10000124 <\.opt3>:
--    10000124:	3c 6d 00 00 	addis   r3,r13,0
--    10000128:	48 00 00 0c 	b       .*
--    1000012c:	3c 6d 00 00 	addis   r3,r13,0
--    10000130:	48 00 00 10 	b       .*
--    10000134:	60 00 00 00 	nop
--    10000138:	38 63 90 10 	addi    r3,r3,-28656
--    1000013c:	48 00 00 0c 	b       .*
--    10000140:	60 00 00 00 	nop
--    10000144:	38 63 90 08 	addi    r3,r3,-28664
-+0+10000[0-9a-f]{3} <\.opt3>:
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	3c 6d 00 00 	addis   r3,r13,0
-+    10000[0-9a-f]{3}:	48 00 00 10 	b       .*
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 10 	addi    r3,r3,-28656
-+    10000[0-9a-f]{3}:	48 00 00 0c 	b       .*
-+    10000[0-9a-f]{3}:	60 00 00 00 	nop
-+    10000[0-9a-f]{3}:	38 63 90 08 	addi    r3,r3,-28664
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsopt4_32.d
-@@ -9,36 +9,36 @@
- 
- Disassembly of section \.text:
- 
--0+1800094 <__tls_get_addr>:
-- 1800094:	4e 80 00 20 	blr
-+0+18000[0-9a-f]{2} <__tls_get_addr>:
-+ 18000[0-9a-f]{2}:	4e 80 00 20 	blr
- 
- Disassembly of section \.opt1:
- 
--0+1800098 <\.opt1>:
-- 1800098:	3c 62 00 00 	addis   r3,r2,0
-- 180009c:	2c 04 00 00 	cmpwi   r4,0
-- 18000a0:	41 82 00 0c 	beq-    .*
-- 18000a4:	38 63 90 10 	addi    r3,r3,-28656
-- 18000a8:	48 00 00 08 	b       .*
-- 18000ac:	38 63 90 10 	addi    r3,r3,-28656
-+0+18000[0-9a-f]{2} <\.opt1>:
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
-+ 18000[0-9a-f]{2}:	41 82 00 0c 	beq-    .*
-+ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
-+ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
-+ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
- 
- Disassembly of section \.opt2:
- 
--0+18000b0 <\.opt2>:
-- 18000b0:	3c 62 00 00 	addis   r3,r2,0
-- 18000b4:	2c 04 00 00 	cmpwi   r4,0
-- 18000b8:	41 82 00 08 	beq-    .*
-- 18000bc:	3c 62 00 00 	addis   r3,r2,0
-- 18000c0:	38 63 90 10 	addi    r3,r3,-28656
-+0+18000[0-9a-f]{2} <\.opt2>:
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	2c 04 00 00 	cmpwi   r4,0
-+ 18000[0-9a-f]{2}:	41 82 00 08 	beq-    .*
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
- 
- Disassembly of section \.opt3:
- 
--0+18000c4 <\.opt3>:
-- 18000c4:	3c 62 00 00 	addis   r3,r2,0
-- 18000c8:	48 00 00 0c 	b       .*
-- 18000cc:	3c 62 00 00 	addis   r3,r2,0
-- 18000d0:	48 00 00 0c 	b       .*
-- 18000d4:	38 63 90 10 	addi    r3,r3,-28656
-- 18000d8:	48 00 00 08 	b       .*
-- 18000dc:	38 63 90 08 	addi    r3,r3,-28664
-+0+18000[0-9a-f]{2} <\.opt3>:
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
-+ 18000[0-9a-f]{2}:	3c 62 00 00 	addis   r3,r2,0
-+ 18000[0-9a-f]{2}:	48 00 00 0c 	b       .*
-+ 18000[0-9a-f]{2}:	38 63 90 10 	addi    r3,r3,-28656
-+ 18000[0-9a-f]{2}:	48 00 00 08 	b       .*
-+ 18000[0-9a-f]{2}:	38 63 90 08 	addi    r3,r3,-28664
- #pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.d
-@@ -42,5 +42,5 @@ Disassembly of section \.got:
- #...
- .*:	4e 80 00 21 	blrl
- .* <_GLOBAL_OFFSET_TABLE_>:
--.*:	00 01 03 ec .*
-+.*:	00 01 [0-9a-f]{2} [0-9a-f]{2} .*
- #pass
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.g
-@@ -9,5 +9,5 @@
- Contents of section \.got:
- .* 00000000 00000000 00000000 00000000  .*
- .* 00000000 00000000 00000000 00000000  .*
--.* 00000000 4e800021 000103ec 00000000  .*
-+.* 00000000 4e800021 00010[0-9a-f]{3} 00000000  .*
- .* 00000000                             .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlsso32.r
-@@ -35,6 +35,7 @@ Program Headers:
-  +LOAD .* RWE 0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+1c 0x0+38 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -42,6 +43,7 @@ Program Headers:
-  +01 +\.tdata \.dynamic \.got \.plt 
-  +02 +\.dynamic 
-  +03 +\.tdata \.tbss 
-+ +04 +
- 
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
-  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
-@@ -52,9 +54,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
- [0-9a-f ]+R_PPC_TPREL16 +0+30 +le0 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_HA +0+34 +le1 \+ 0
- [0-9a-f ]+R_PPC_TPREL16_LO +0+34 +le1 \+ 0
--[0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4
--[0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8
--[0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8
-+[0-9a-f ]+R_PPC_TPREL16 +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_HA +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
-+[0-9a-f ]+R_PPC_TPREL16_LO +0+103[df]0 +\.tdata \+ 10[0-9a-f]{3}
- [0-9a-f ]+R_PPC_DTPMOD32 +0
- [0-9a-f ]+R_PPC_DTPREL32 +0
- [0-9a-f ]+R_PPC_DTPMOD32 +0
---- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.g
-@@ -8,8 +8,8 @@
- .*: +file format elf64-powerpc
- 
- Contents of section \.got:
-- 100101a0 00000000 00000001 00000000 00000000  .*
-- 100101b0 00000000 00000001 00000000 00000000  .*
-- 100101c0 00000000 00000001 00000000 00000000  .*
-- 100101d0 00000000 00000001 00000000 00000000  .*
-- 100101e0 ffffffff ffff8060 00000000 00000000  .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
-+ 10010[0-9a-f]{3} 00000000 00000001 00000000 00000000  .*
-+ 10010[0-9a-f]{3} ffffffff ffff8060 00000000 00000000  .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlstoc.t
-@@ -8,7 +8,7 @@
- .*: +file format elf64-powerpc
- 
- Contents of section \.tdata:
-- 10010148 00c0ffee 00000000 12345678 9abcdef0  .*
-- 10010158 23456789 abcdef01 3456789a bcdef012  .*
-- 10010168 456789ab cdef0123 56789abc def01234  .*
-- 10010178 6789abcd ef012345 789abcde f0123456  .*
-+ 10010180 00c0ffee 00000000 12345678 9abcdef0  .*
-+ 10010190 23456789 abcdef01 3456789a bcdef012  .*
-+ 100101a0 456789ab cdef0123 56789abc def01234  .*
-+ 100101b0 6789abcd ef012345 789abcde f0123456  .*
---- binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g
-+++ binutils-2.23/ld/testsuite/ld-powerpc/tlstocso.g
-@@ -7,7 +7,7 @@
- .*: +file format elf64-powerpc
- 
- Contents of section \.got:
--.* 00000000 000186c0 00000000 00000000  .*
-+.* 00000000 000186f8 00000000 00000000  .*
- .* 00000000 00000000 00000000 00000000  .*
- .* 00000000 00000000 00000000 00000000  .*
- .* 00000000 00000000 00000000 00000000  .*
---- binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
-+++ binutils-2.23/ld/testsuite/ld-s390/tlsbin.rd
-@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- 
- Relocation section '.rela.dyn' at offset .* contains 4 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
-+++ binutils-2.23/ld/testsuite/ld-s390/tlsbin_64.rd
-@@ -36,6 +36,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+a0 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -52,6 +53,7 @@ Program Headers:
-  +03 +.tdata .dynamic .got *
-  +04 +.dynamic *
-  +05 +.tdata .tbss *
-+ +06 +
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
-+++ binutils-2.23/ld/testsuite/ld-s390/tlspic.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got 
-  +02 +.dynamic 
-  +03 +.tdata .tbss 
-+ +04 +
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
-+++ binutils-2.23/ld/testsuite/ld-s390/tlspic_64.rd
-@@ -39,6 +39,7 @@ Program Headers:
-  +LOAD .* RW +0x1000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+80 R +0x20
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -46,6 +47,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
-+++ binutils-2.23/ld/testsuite/ld-scripts/empty-aligned.d
-@@ -8,7 +8,9 @@
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg +Align
-  +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ [RWE ]+ +0x[0-9a-f]+
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-  +00 +.text 
-+ +01 +
---- binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
-+++ binutils-2.23/ld/testsuite/ld-sh/tlsbin-2.d
-@@ -44,6 +44,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+18 0x0+28 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -53,6 +54,7 @@ Program Headers:
-  +03 +\.tdata \.dynamic \.got *
-  +04 +\.dynamic *
-  +05 +\.tdata \.tbss *
-+ +06 +
- 
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
-  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
-+++ binutils-2.23/ld/testsuite/ld-sh/tlspic-2.d
-@@ -32,7 +32,7 @@ Key to Flags:
- 
- Elf file type is DYN \(Shared object file\)
- Entry point 0x[0-9a-f]+
--There are 4 program headers, starting at offset [0-9]+
-+There are [0-9] program headers, starting at offset [0-9]+
- 
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD.*
-  +DYNAMIC.*
-  +TLS .* 0x0+18 0x0+20 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections\.\.\.
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +\.tdata \.dynamic \.got *
-  +02 +\.dynamic *
-  +03 +\.tdata \.tbss *
-+ +04 +
- 
- Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
-  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/gotop32.rd
-@@ -31,6 +31,7 @@ Program Headers:
-  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x10000
-  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+2000 0x0+2000 RW +0x10000
-  +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/gotop64.rd
-@@ -31,6 +31,7 @@ Program Headers:
-  +LOAD +0x0+ 0x0+ 0x0+ 0x0+2000 0x0+2000 R E 0x100000
-  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+2000 0x0+2000 RW +0x100000
-  +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin32.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- 
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz MemSiz +Flg Align
-- +PHDR +0x0+34 0x0+10034 0x0+10034 0x0+c0 0x0+c0 R E 0x4
-- +INTERP +0x0+f4 0x0+100f4 0x0+100f4 0x0+11 0x0+11 R +0x1
-+ +PHDR +0x0+34 0x0+10034 0x0+10034 (0x[0-9a-f]+) \1 R E 0x4
-+ +INTERP +(0x[0-9a-f]+ ){3}0x0+11 0x0+11 R +0x1
- .*Requesting program interpreter.*
-  +LOAD .* R E 0x10000
-  +LOAD .* RW +0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+1060 0x0+10a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunbin64.rd
-@@ -30,13 +30,14 @@ There are [0-9]+ program headers, starting at offset [0-9]+
- 
- Program Headers:
-  +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align
-- +PHDR +0x0+40 0x0+100040 0x0+100040 0x0+150 0x0+150 R E 0x8
-- +INTERP +0x0+190 0x0+100190 0x0+100190 0x0+19 0x0+19 R +0x1
-+ +PHDR +0x0+40 0x0+100040 0x0+100040 (0x[0-9a-f]+) \1 R E 0x8
-+ +INTERP +0x0+([0-9a-f]+) (0x0+10+\1) \2 0x0+19 0x0+19 R +0x1
- .*Requesting program interpreter.*
-  +LOAD .* R E 0x100000
-  +LOAD .* RW +0x100000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+60 0x0+a0 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic32.rd
-@@ -32,6 +32,7 @@ Program Headers:
-  +LOAD .* RW +0x10000
-  +DYNAMIC .* RW +0x4
-  +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunnopic64.rd
-@@ -32,6 +32,7 @@ Program Headers:
-  +LOAD .* RW +0x100000
-  +DYNAMIC .* RW +0x8
-  +TLS .* 0x0+ 0x0+24 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic32.rd
-@@ -36,6 +36,7 @@ Program Headers:
-  +LOAD +0x0+2000 0x0+12000 0x0+12000 0x0+184 0x0+184 RWE 0x10000
-  +DYNAMIC +0x0+2060 0x0+12060 0x0+12060 0x0+98 0x0+98 RW +0x4
-  +TLS +0x0+2000 0x0+12000 0x0+12000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
-+++ binutils-2.23/ld/testsuite/ld-sparc/tlssunpic64.rd
-@@ -36,6 +36,7 @@ Program Headers:
-  +LOAD +0x0+2000 0x0+102000 0x0+102000 0x0+3a0 0x0+3a0 RWE 0x100000
-  +DYNAMIC +0x0+2060 0x0+102060 0x0+102060 0x0+130 0x0+130 RW +0x8
-  +TLS +0x0+2000 0x0+102000 0x0+102000 0x0+60 0x0+80 R +0x4
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- #...
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
---- binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
-+++ binutils-2.23/ld/testsuite/ld-x86-64/tlsgdesc.rd
-@@ -36,12 +36,14 @@ Program Headers:
-  +LOAD.*
-  +LOAD.*
-  +DYNAMIC.*
-+ +PAX_FLAGS.*
- 
-  Section to Segment mapping:
-  +Segment Sections...
-  +00 +.hash .dynsym .dynstr .rela.dyn .rela.plt .plt .text *
-  +01 +.dynamic .got .got.plt *
-  +02 +.dynamic *
-+ +03 +
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
---- binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
-+++ binutils-2.23/ld/testsuite/ld-x86-64/tlspic.rd
-@@ -40,6 +40,7 @@ Program Headers:
-  +LOAD +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+244 0x0+244 RW +0x200000
-  +DYNAMIC +0x0+1210 0x0+201210 0x0+201210 0x0+130 0x0+130 RW +0x8
-  +TLS +0x0+11ac 0x0+2011ac 0x0+2011ac 0x0+60 0x0+80 R +0x1
-+ +PAX_FLAGS +0x0+ 0x0+ 0x0+ 0x0+ 0x0+ +0x[48]
- 
-  Section to Segment mapping:
-  +Segment Sections...
-@@ -47,6 +48,7 @@ Program Headers:
-  +01 +.tdata .dynamic .got .got.plt *
-  +02 +.dynamic *
-  +03 +.tdata .tbss *
-+ +04 +
- 
- Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
-  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 594ec7de53a..753c91aa688 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.complang.org/ragel;
     description = "State machine compiler";
     license = licenses.gpl2;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
   };
 }
diff --git a/pkgs/development/tools/pypi2nix/deps.nix b/pkgs/development/tools/pypi2nix/deps.nix
index 39fc9329d5e..2243dd78185 100644
--- a/pkgs/development/tools/pypi2nix/deps.nix
+++ b/pkgs/development/tools/pypi2nix/deps.nix
@@ -1,7 +1,4 @@
-{ fetchurl
-#, pypi_url ? "https://files.pythonhosted.org/packages"
-, pypi_url ? "https://pypi.io/packages/source/packages"
-}:
+{ fetchurl }:
 
 rec {
 
@@ -36,32 +33,32 @@ rec {
   };
 
   pip = fetchurl {
-    url = "${pypi_url}/source/p/pip/pip-${pipVersion}.tar.gz";
+    url = "mirror://pypi/p/pip/pip-${pipVersion}.tar.gz";
     md5 = pipHash;
   };
 
   setuptools = fetchurl {
-    url = "${pypi_url}/source/s/setuptools/setuptools-${setuptoolsVersion}.tar.gz";
+    url = "mirror://pypi/s/setuptools/setuptools-${setuptoolsVersion}.tar.gz";
     md5 = setuptoolsHash;
   };
 
   zcbuildout = fetchurl {
-    url = "${pypi_url}/source/z/zc.buildout/zc.buildout-${zcbuildoutVersion}.tar.gz";
+    url = "mirror://pypi/z/zc.buildout/zc.buildout-${zcbuildoutVersion}.tar.gz";
     md5 = zcbuildoutHash;
   };
 
   zcrecipeegg = fetchurl {
-    url = "${pypi_url}/source/z/zc.recipe.egg/zc.recipe.egg-${zcrecipeeggVersion}.tar.gz";
+    url = "mirror://pypi/z/zc.recipe.egg/zc.recipe.egg-${zcrecipeeggVersion}.tar.gz";
     md5 = zcrecipeeggHash;
   };
 
   wheel = fetchurl {
-    url = "${pypi_url}/source/w/wheel/wheel-${wheelVersion}.tar.gz";
+    url = "mirror://pypi/w/wheel/wheel-${wheelVersion}.tar.gz";
     md5 = wheelHash;
   };
 
   click = fetchurl {
-    url = "${pypi_url}/source/c/click/click-${clickVersion}.tar.gz";
+    url = "mirror://pypi/c/click/click-${clickVersion}.tar.gz";
     md5 = clickHash;
   };
 
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index dbaef2c9ad7..e93006b89ce 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -4,23 +4,25 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.3.14";
+  version = "4.3.16";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
-      sha256 = "0j900dijhq8rpjaf2hgqvz5gy3dgal6l1f7q6353m2v14jbwb786";
+      sha256 = "0i4nvb1yd9qnbgbfc8wbl7ghpmba2jr98hj4y4j4sbjfk65by3xw";
     } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
-      sha256 = "0nkgd1pyh21p0yg1zs0nzki0w4wsl1yy964lbz6mf6nrsjzqg54k";
+      sha256 = "1w9b1584kh1n4fw0wxbyslxp6w09if53fv4p9zz7vn4smm79ndfz";
     } else {
       url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
-      sha256 = "1mcvxvqvfikkn19mjwws55x2abjp09jvjjg6b15x8w075bd9ql8g";
+      sha256 = "1vhz2j30p285blspg7prr9bsah6f922p0mv7mhmk6xzgf6fgn764";
     }
   );
 
   buildInputs = [ unzip ];
-  phases = "unpackPhase installPhase " + (if stdenv.system == "x86_64-darwin" then "" else "patchPhase");
+  phases = [ "unpackPhase" ]
+   ++ (lib.optionals (stdenv.system != "x86_64-darwin") [ "patchPhase" ])
+   ++ [ "installPhase " ];
 
   patchPhase = ''
     patchelf \
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index bf8dcb1ca63..1447fed2a82 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -8,7 +8,7 @@ assert releaseType == "alpha" || releaseType == "headless";
 
 with stdenv.lib;
 let
-  version = "0.12.33";
+  version = "0.12.35";
   isHeadless = releaseType == "headless";
 
   arch = if stdenv.system == "x86_64-linux" then {
@@ -25,12 +25,12 @@ let
     url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}";
     name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.gz"; # TODO take this from 302 redirection somehow? fetchurl doesn't help.
     x64 = {
-      headless = fetchurl        { inherit name url; sha256 = "073bwkpw2bwhbr3m8k3imlns89x5035xl4b7yq1c6npm4m7qcdnp"; };
-      alpha = authenticatedFetch { inherit      url; sha256 = "0dmq0kvzz885gcvj57h22icqhx0nvyfav4dvwsvpi15833208ca3"; };
+      headless = fetchurl        { inherit name url; sha256 = "1pdfd6qpzdzxsz1pvf1qasw5p6mzidi2q5d5m8x0gqyxaqdg175b"; };
+      alpha = authenticatedFetch { inherit      url; sha256 = "1r2q5hvx8248vfl7jg9jr0sk9kxhh5lg4qlv828j44dmgsxyhn1y"; };
     };
     i386 = {
       headless = abort "Factorio 32-bit headless binaries are not available for download.";
-      alpha = authenticatedFetch { inherit      url; sha256 = "1yxv6kr89iavpfsg21fx3q12m97ls0m9h3x33m4xnqp8px55851v"; };
+      alpha = authenticatedFetch { inherit      url; sha256 = "1f3hl6m59zvmjrph0kj7fh1axdahgan1v5v3y4rdc6idamvr7rrf"; };
     };
   };
 
@@ -38,6 +38,8 @@ let
     use-system-read-write-data-directories=false
     [path]
     read-data=$out/share/factorio/data/
+    [other]
+    check_updates=false
   '';
 
   updateConfigSh = ''
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 09280cd9063..40848ab4ca4 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -94,8 +94,8 @@ rec {
 
   grsecurity_testing = grsecPatch
     { kver   = "4.5.7";
-      grrev  = "201606142010";
-      sha256 = "00lg4zlxxcl9a27vxl4c4cv6adsdvl00kkbl6s97523vsvsvy1q0";
+      grrev  = "201606202152";
+      sha256 = "1xa9jx6ix8ycbfh9h30lwhhcsq0313q7yqdg8zfaba26lp49mp5n";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/nvidia-x11/nvidia-340.76-kernel-4.0.patch b/pkgs/os-specific/linux/nvidia-x11/nvidia-340.76-kernel-4.0.patch
deleted file mode 100644
index 5fdc1fed727..00000000000
--- a/pkgs/os-specific/linux/nvidia-x11/nvidia-340.76-kernel-4.0.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/kernel/nv-pat.c	2015-07-03 08:39:35.417031728 +0200
-+++ b/kernel/nv-pat.c	2015-07-03 08:42:15.631838988 +0200
-@@ -35,8 +35,13 @@
-     unsigned long cr0 = read_cr0();
-     write_cr0(((cr0 & (0xdfffffff)) | 0x40000000));
-     wbinvd();
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
-     *cr4 = read_cr4();
-     if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80);
-+#else
-+    *cr4 = __read_cr4();
-+    if (*cr4 & 0x80) __write_cr4(*cr4 & ~0x80);
-+#endif
-     __flush_tlb();
- }
-
-@@ -46,7 +51,11 @@
-     wbinvd();
-     __flush_tlb();
-     write_cr0((cr0 & 0x9fffffff));
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
-     if (cr4 & 0x80) write_cr4(cr4);
-+#else
-+    if (cr4 & 0x80) __write_cr4(cr4);
-+#endif
- }
-
- static int nv_determine_pat_mode(void)
diff --git a/pkgs/servers/certificate-transparency/default.nix b/pkgs/servers/certificate-transparency/default.nix
deleted file mode 100644
index 292ca6bc0e3..00000000000
--- a/pkgs/servers/certificate-transparency/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, pkgs, ...}:
-
-stdenv.mkDerivation rec {
-  name = "certificate-transparency-${version}";
-
-  version = "2016-01-14";
-  rev = "250672b5aef3666edbdfc9a75b95a09e7a57ed08";
-
-  meta = with stdenv.lib; {
-    homepage = https://www.certificate-transparency.org/;
-    description = "Auditing for TLS certificates";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ philandstuff ];
-  };
-
-  src = pkgs.fetchFromGitHub {
-    owner = "google";
-    repo  = "certificate-transparency";
-    rev   = rev;
-    sha256 = "1gn0bqzkf09jvc2aq3da8fwhl65y7q57msqsh6iczvd6fdmrpfdj";
-  };
-
-  # need to disable regex support in evhtp or building will fail
-  libevhtp_without_regex = stdenv.lib.overrideDerivation pkgs.libevhtp
-    (oldAttrs: {
-      cmakeFlags="-DEVHTP_DISABLE_REGEX:STRING=ON -DCMAKE_C_FLAGS:STRING=-fPIC";
-    });
-
-  buildInputs = with pkgs; [
-    autoconf automake clang_34 pkgconfig
-    glog gmock google-gflags gperftools gtest json_c leveldb
-    libevent libevhtp_without_regex openssl protobuf sqlite
-  ];
-
-  patches = [
-    ./protobuf-include-from-env.patch
-  ];
-
-  doCheck = false;
-
-  preConfigure = ''
-    ./autogen.sh
-    configureFlagsArray=(
-      CC=clang
-      CXX=clang++
-      GMOCK_DIR=${pkgs.gmock}
-      GTEST_DIR=${pkgs.gtest}
-    )
-  '';
-
-  # the default Makefile constructs BUILD_VERSION from `git describe`
-  # which isn't available in the nix build environment
-  makeFlags = "BUILD_VERSION=${version}-${rev}";
-
-  protocFlags = "-I ${pkgs.protobuf}/include";
-}
diff --git a/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch b/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch
deleted file mode 100644
index a1f9a1849b6..00000000000
--- a/pkgs/servers/certificate-transparency/protobuf-include-from-env.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Get protobuf include path from environment
-
---- a/python/Makefile
-+++ b/python/Makefile
-@@ -5,7 +5,7 @@ all: ct/proto/client_pb2.py ct/proto/ct_pb2.py ct/proto/tls_options_pb2.py \
- 	ct/proto/test_message_pb2.py ct/proto/certificate_pb2.py
- 
- ct/proto/%_pb2.py: ct/proto/%.proto
--	$(PROTOC) $^ -I/usr/include/ -I/usr/local/include -I$(INSTALL_DIR)/include -I. --python_out=.
-+	$(PROTOC) $^ $(protocFlags) -I. --python_out=.
- 
- ct/proto/ct_pb2.py: ../proto/ct.proto
- 	$(PROTOC) --python_out=ct/proto -I../proto ../proto/ct.proto
-
diff --git a/pkgs/servers/coturn/default.nix b/pkgs/servers/coturn/default.nix
new file mode 100644
index 00000000000..8dc062b7504
--- /dev/null
+++ b/pkgs/servers/coturn/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, openssl, libevent }:
+
+with { inherit (stdenv.lib) optional; };
+
+stdenv.mkDerivation rec {
+  name = "coturn-${version}";
+  version = "4.5.0.3";
+
+  src = fetchFromGitHub {
+    owner = "coturn";
+    repo = "coturn";
+    rev = "${version}";
+    sha256 = "1xr4dp3p16m4rq9mdsprs6s50rnif6hk38xx9siyykgfjnwr6i9g";
+  };
+
+  buildInputs = [ openssl libevent ];
+
+  patches = [ ./pure-configure.patch ];
+
+  meta = with stdenv.lib; {
+    homepage = http://coturn.net/;
+    license = with licenses; [ bsd3 ];
+    description = "A TURN server";
+    platforms = platforms.all;
+    maintainers = [ maintainers.ralith ];
+  };
+}
diff --git a/pkgs/servers/coturn/pure-configure.patch b/pkgs/servers/coturn/pure-configure.patch
new file mode 100644
index 00000000000..0315a71b184
--- /dev/null
+++ b/pkgs/servers/coturn/pure-configure.patch
@@ -0,0 +1,17 @@
+diff --git a/configure b/configure
+index 28a0625..ea25488 100755
+--- a/configure
++++ b/configure
+@@ -624,12 +624,6 @@ fi
+ 
+ TMPDIR="."
+ 
+-if [ -d /var/tmp ] ; then
+-  TMPDIR="/var/tmp"
+-elif [ -d /tmp ] ; then
+-  TMPDIR=/tmp
+-fi
+-
+ ${ECHO_CMD} Use TMP dir ${TMPDIR}
+ 
+ #########################
diff --git a/pkgs/servers/inginious/default.nix b/pkgs/servers/inginious/default.nix
new file mode 100644
index 00000000000..ba6a54fc973
--- /dev/null
+++ b/pkgs/servers/inginious/default.nix
@@ -0,0 +1,71 @@
+{ pkgs, lib, pythonPackages }:
+with lib;
+
+let
+  docker_1_7_2 = pythonPackages.docker.override rec {
+    name = "docker-py-1.7.2";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/d/docker-py/${name}.tar.gz";
+      sha256 = "0k6hm3vmqh1d3wr9rryyif5n4rzvcffdlb1k4jvzp7g4996d3ccm";
+    };
+  };
+
+  webpy-custom = pythonPackages.web.override {
+    name = "web.py-INGI";
+    src = pkgs.fetchFromGitHub {
+      owner = "UCL-INGI";
+      repo = "webpy-INGI";
+      # tip of branch "ingi"
+      rev = "f487e78d65d6569eb70003e588d5c6ace54c384f";
+      sha256 = "159vwmb8554xk98rw380p3ah170r6gm861r1nqf2l452vvdfxscd";
+    };
+  };
+
+in pythonPackages.buildPythonApplication rec {
+  version = "0.3a2.dev0";
+  name = "inginious-${version}";
+
+  disabled = pythonPackages.isPy3k;
+
+  patchPhase = ''
+    # transient failures
+    substituteInPlace inginious/backend/tests/TestRemoteAgent.py \
+      --replace "test_update_task_directory" "noop"
+  '';
+
+  propagatedBuildInputs = with pythonPackages; [
+    requests2
+    cgroup-utils docker_1_7_2 docutils lti mock pygments
+    pymongo pyyaml rpyc sh simpleldap sphinx_rtd_theme tidylib
+    websocket_client watchdog webpy-custom flup
+  ];
+
+  buildInputs = with pythonPackages; [ nose selenium virtual-display ];
+
+  /* Hydra fix exists only on github for now.
+  src = pkgs.fetchurl {
+    url = "mirror://pypi/I/INGInious/INGInious-${version}.tar.gz";
+  };
+  */
+  src = pkgs.fetchFromGitHub {
+    owner = "UCL-INGI";
+    repo = "INGInious";
+    rev = "07d111c0a3045c7cc4e464d4adb8aa28b75a6948";
+    sha256 = "0kldbkc9yw1mgg5w5q5v8k2hz089c5c4rvxb5xhbagkzgm2gn230";
+  };
+
+  # Only patch shebangs in /bin, other scripts are run within docker
+  # containers and will fail if patched.
+  dontPatchShebangs = true;
+  preFixup = ''
+    patchShebangs $prefix/bin
+  '';
+
+  meta = {
+    description = "An intelligent grader that allows secured and automated testing of code made by students";
+    homepage = "https://github.com/UCL-INGI/INGInious";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ layus ];
+  };
+}
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 7a558a03031..2881b2f3805 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, buildPythonApplication, pythonPackages, fetchurl, fetchFromGitHub }:
+{ lib, pkgs, stdenv, buildPythonApplication, pythonPackages, fetchurl, fetchFromGitHub }:
 let
   matrix-angular-sdk = buildPythonApplication rec {
     name = "matrix-angular-sdk-${version}";
@@ -12,13 +12,13 @@ let
 in
 buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.14.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
-    rev = "5fbdf2bcec40bf2f24fc0698440ee384595ff027";
-    sha256 = "1f9flb68l0bb5fkggxz1pghv72snsx6yia3s58f85z13f9vh84cb";
+    rev = "v${version}";
+    sha256 = "166y1f74wjkrpks88cp67w33rcs02b4dk815yj93lfla1k9ypg6b";
   };
 
   patches = [ ./matrix-synapse.patch ];
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2
     service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml
-    matrix-angular-sdk
+    matrix-angular-sdk bleach netaddr jinja2 psycopg2
   ];
 
   # Checks fail because of Tox.
@@ -37,9 +37,10 @@ buildPythonApplication rec {
     mock setuptoolsTrial
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://matrix.org;
     description = "Matrix reference homeserver";
-    license = stdenv.lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/servers/nosql/riak/riak-1.3.1.patch b/pkgs/servers/nosql/riak/riak-1.3.1.patch
deleted file mode 100644
index e36bd31ab88..00000000000
--- a/pkgs/servers/nosql/riak/riak-1.3.1.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/rel/files/riak	2013-05-22 20:45:55.613299952 +0200
-+++ b/rel/files/riak	2013-06-04 03:20:47.679943612 +0200
-@@ -13,33 +13,34 @@
- fi
- unset POSIX_SHELL # clear it so if we invoke other scripts, they run as ksh as well
- 
-+if [ -z "$RIAK_ETC_DIR" ]; then
-+    echo "Must set RIAK_ETC_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_LOG_DIR" ]; then
-+    echo "Must set RIAK_LOG_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_DATA_DIR" ]; then
-+    echo "Must set RIAK_DATA_DIR"
-+    exit 1
-+fi
-+
- RUNNER_SCRIPT_DIR={{runner_script_dir}}
- RUNNER_SCRIPT=${0##*/}
- 
- RUNNER_BASE_DIR={{runner_base_dir}}
--RUNNER_ETC_DIR={{runner_etc_dir}}
-+RUNNER_ETC_DIR=$RIAK_ETC_DIR
- RUNNER_LIB_DIR={{platform_lib_dir}}
--RUNNER_LOG_DIR={{runner_log_dir}}
-+RUNNER_LOG_DIR=$RIAK_LOG_DIR
- # Note the trailing slash on $PIPE_DIR/
- PIPE_DIR={{pipe_dir}}
--RUNNER_USER={{runner_user}}
--PLATFORM_DATA_DIR={{platform_data_dir}}
-+PLATFORM_DATA_DIR=$RIAK_DATA_DIR
- SSL_DIST_CONFIG=$PLATFORM_DATA_DIR/ssl_distribution.args_file
- RIAK_VERSION="git"
- 
--WHOAMI=$(whoami)
--
--# Make sure this script is running as the appropriate user
--if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
--    type sudo > /dev/null 2>&1
--    if [ $? -ne 0 ]; then
--        echo "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
--        exit 1
--    fi
--    echo "Attempting to restart script through sudo -H -u $RUNNER_USER" >&2
--    exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@
--fi
--
- # Warn the user if ulimit -n is less than 4096
- ULIMIT_F=`ulimit -n`
- if [ "$ULIMIT_F" -lt 4096 ]; then
-@@ -48,9 +49,6 @@
-     echo "!!!!"
- fi
- 
--# Make sure CWD is set to runner base dir
--cd $RUNNER_BASE_DIR
--
- # Make sure log directory exists
- mkdir -p $RUNNER_LOG_DIR
- 
diff --git a/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch b/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch
deleted file mode 100644
index 9c87a632994..00000000000
--- a/pkgs/servers/nosql/riak/riak-admin-1.3.1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/rel/files/riak-admin	2013-05-22 20:45:55.613299952 +0200
-+++ b/rel/files/riak-admin	2013-06-04 03:30:00.101604175 +0200
-@@ -11,31 +11,31 @@
- fi
- unset POSIX_SHELL # clear it so if we invoke other scripts, they run as ksh as well
- 
-+
-+if [ -z "$RIAK_ETC_DIR" ]; then
-+    echo "Must set RIAK_ETC_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_LOG_DIR" ]; then
-+    echo "Must set RIAK_LOG_DIR"
-+    exit 1
-+fi
-+
-+if [ -z "$RIAK_DATA_DIR" ]; then
-+    echo "Must set RIAK_DATA_DIR"
-+    exit 1
-+fi
-+
- RUNNER_SCRIPT_DIR={{runner_script_dir}}
- RUNNER_SCRIPT=${0##*/}
- 
- RUNNER_BASE_DIR={{runner_base_dir}}
--RUNNER_ETC_DIR={{runner_etc_dir}}
-+RUNNER_ETC_DIR=$RIAK_ETC_DIR
- RUNNER_LIB_DIR={{platform_lib_dir}}
--RUNNER_LOG_DIR={{runner_log_dir}}
-+RUNNER_LOG_DIR=$RIAK_LOG_DIR
- RUNNER_USER={{runner_user}}
- 
--WHOAMI=$(whoami)
--
--# Make sure this script is running as the appropriate user
--if ([ "$RUNNER_USER" ] && [ "x$WHOAMI" != "x$RUNNER_USER" ]); then
--    type sudo > /dev/null 2>&1
--    if [ $? -ne 0 ]; then
--        echo "sudo doesn't appear to be installed and your EUID isn't $RUNNER_USER" 1>&2
--        exit 1
--    fi
--    echo "Attempting to restart script through sudo -H -u $RUNNER_USER" >&2
--    exec sudo -H -u $RUNNER_USER -i $RUNNER_SCRIPT_DIR/$RUNNER_SCRIPT $@
--fi
--
--# Make sure CWD is set to runner base dir
--cd $RUNNER_BASE_DIR
--
- # Extract the target node name from node.args
- NAME_ARG=`egrep "^ *-s?name" $RUNNER_ETC_DIR/vm.args`
- if [ -z "$NAME_ARG" ]; then
diff --git a/pkgs/servers/uwsgi/default.nix b/pkgs/servers/uwsgi/default.nix
index de3689a8007..3bec62ebe03 100644
--- a/pkgs/servers/uwsgi/default.nix
+++ b/pkgs/servers/uwsgi/default.nix
@@ -4,6 +4,7 @@
 , pam, withPAM ? false
 , systemd, withSystemd ? false
 , python2, python3, ncurses
+, ruby
 }:
 
 let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else "3"}" {
@@ -20,6 +21,10 @@ let pythonPlugin = pkg : lib.nameValuePair "python${if pkg ? isPy2 then "2" else
     available = lib.listToAttrs [
                   (pythonPlugin python2)
                   (pythonPlugin python3)
+                  (lib.nameValuePair "rack" {
+                    path = "plugins/rack";
+                    inputs = [ ruby ];
+                  })
                 ];
 
     getPlugin = name:
@@ -65,12 +70,12 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     mkdir -p $pluginDir
     python3 uwsgiconfig.py --build nixos
-    ${lib.concatMapStringsSep ";" (x: "${x.interpreter} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
+    ${lib.concatMapStringsSep ";" (x: "${x.interpreter or "python3"} uwsgiconfig.py --plugin ${x.path} nixos ${x.name}") needed}
   '';
 
   installPhase = ''
     install -Dm755 uwsgi $out/bin/uwsgi
-    ${lib.concatMapStringsSep "\n" (x: x.install) needed}
+    ${lib.concatMapStringsSep "\n" (x: x.install or "") needed}
   '';
 
   NIX_CFLAGS_LINK = [ "-lsystemd" ];
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 45c42947c5a..f32e6d68452 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -46,12 +46,12 @@ stdenv.mkDerivation rec {
   postInstall = ''
       cp $communityModules/mod_websocket/mod_websocket.lua $out/lib/prosody/modules/
       wrapProgram $out/bin/prosody \
-        --set LUA_PATH '"${luaPath};"' \
-        --set LUA_CPATH '"${luaCPath};"'
+        --set LUA_PATH '${luaPath};' \
+        --set LUA_CPATH '${luaCPath};'
       wrapProgram $out/bin/prosodyctl \
         --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --set LUA_PATH '"${luaPath};"' \
-        --set LUA_CPATH '"${luaCPath};"'
+        --set LUA_PATH '${luaPath};' \
+        --set LUA_CPATH '${luaCPath};'
     '';
 
   meta = {
diff --git a/pkgs/shells/tcsh/avoid-gcc5-wrong-optimisation.patch b/pkgs/shells/tcsh/avoid-gcc5-wrong-optimisation.patch
new file mode 100644
index 00000000000..b35d29680af
--- /dev/null
+++ b/pkgs/shells/tcsh/avoid-gcc5-wrong-optimisation.patch
@@ -0,0 +1,28 @@
+From: christos <christos>
+Date: Thu, 28 May 2015 11:47:03 +0000
+Subject: [PATCH] avoid gcc-5 optimization malloc + memset = calloc (Fridolin
+Pokorny)
+
+---
+tc.alloc.c | 5 ++++-
+1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tc.alloc.c b/tc.alloc.c
+index b9aec63..c1cb330 100644
+--- a/tc.alloc.c
++++ b/tc.alloc.c
+@@ -348,10 +348,13 @@ calloc(size_t i, size_t j)
+ {
+ #ifndef lint
+     char *cp;
++    volatile size_t k;
+ 
+     i *= j;
+     cp = xmalloc(i);
+-    memset(cp, 0, i);
++    /* Stop gcc 5.x from optimizing malloc+memset = calloc */
++    k = i;
++    memset(cp, 0, k);
+ 
+     return ((memalign_t) cp);
+ #else
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 764ea64f3ce..419acd8d61d 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -1,23 +1,41 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchurl
+, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "tcsh-6.18.01";
+  name = "tcsh-${version}";
+  version = "6.19.00";
   
   src = fetchurl {
-    url = "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${name}.tar.gz";
-    sha256 = "1a4z9kwgx1iqqzvv64si34m60gj34p7lp6rrcrb59s7ka5wa476q";
+    urls = [ 
+             "http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${name}.tar.gz" 
+             "ftp://ftp.astron.com/pub/tcsh/${name}.tar.gz" 
+             "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${name}.tar.gz"
+             ];
+    sha256 = "0jaw51382pqyb6d1kgfg8ir0wd3p5qr2bmg8svcmjhlyp3h73qhj";
   };
+
+  patches = [ ./avoid-gcc5-wrong-optimisation.patch ];
   
-  buildInputs = [ncurses];
+  buildInputs = [ ncurses ];
 
-  postInstall =
-    ''
-      ln -s tcsh $out/bin/csh
+  meta = with stdenv.lib;{
+    description = "An enhanced version of the Berkeley UNIX C shell (csh)";
+    longDescription = ''
+      tcsh is an enhanced but completely compatible version of the
+      Berkeley UNIX C shell, csh. It is a command language interpreter
+      usable both as an interactive login shell and a shell script
+      command processor.
+      It includes:
+      - command-line editor
+      - programmable word completion
+      - spelling correction
+      - history mechanism
+      - job control
     '';
-
-  meta = {
     homepage = http://www.tcsh.org/;
-    description = "An enhanced version of the Berkeley UNIX C shell (csh)";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 
   passthru = {
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 0b6707bf8b1..11f9a43c035 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -70,7 +70,6 @@ rec {
             getCrossDrv = drv: drv.crossDrv or drv;
             nativeBuildInputsDrvs = map getNativeDrv nativeBuildInputs;
             buildInputsDrvs = map getCrossDrv buildInputs;
-            buildInputsDrvsAsBuildInputs = map getNativeDrv buildInputs;
             propagatedBuildInputsDrvs = map getCrossDrv propagatedBuildInputs;
             propagatedNativeBuildInputsDrvs = map getNativeDrv propagatedNativeBuildInputs;
 
@@ -239,11 +238,4 @@ rec {
         NIX_CFLAGS_LINK = toString (args.NIX_CFLAGS_LINK or "") + " -fuse-ld=gold";
       });
     };
-
-  dropCxx = drv: drv.override {
-    stdenv = if pkgs.stdenv.isDarwin
-      then pkgs.allStdenvs.stdenvDarwinNaked
-      else pkgs.stdenv;
-  };
-
 }
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index 3268135b57b..ff247f9e3f9 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -3,11 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="zpaqd";
-    version="707";
+    version="7.08";
     name="${baseName}-${version}";
-    hash="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688";
-    url="http://mattmahoney.net/dc/zpaqd707.zip";
-    sha256="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688";
+    url="http://mattmahoney.net/dc/zpaqd708.zip";
+    sha256="18mkfz7v73rp5l712107m3x5a3v6y0vjf47a6s3di8x416kbcp2a";
   };
   isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
   isx86 = stdenv.isi686 || stdenv.isx86_64;
@@ -44,7 +43,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit (s) version;
     description = "ZPAQ archive (de)compressor and algorithm development tool";
     license = licenses.gpl3Plus ;
     maintainers = with maintainers; [ raskin nckx ];
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 34f0d870e1f..04a1f2239c2 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
-    sha256 = "10n54lv33r90qbwvdvj4hx82g454pg1fhca3phkyh9mncbdvaqma";
+    sha256 = "0h922kw6q0nsbigv86k7xqpfh4rj7rjxp60pgjmp5vlb2bma03sm";
     rev = "v${version}";
     repo = "zstd";
     owner = "Cyan4973";
diff --git a/pkgs/tools/misc/autorevision/default.nix b/pkgs/tools/misc/autorevision/default.nix
new file mode 100644
index 00000000000..058fa4881e8
--- /dev/null
+++ b/pkgs/tools/misc/autorevision/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, asciidoc, libxml2, docbook_xml_dtd_45, libxslt
+, docbook_xsl, diffutils, coreutils, gnugrep
+}:
+
+stdenv.mkDerivation rec {
+  name = "autorevision-${version}";
+  version = "1.14";
+
+  src = fetchurl {
+    url = "https://github.com/Autorevision/autorevision/releases/download/v%2F${version}/autorevision-${version}.tgz";
+    sha256 = "0h0ig922am9qd0nbri3i6p4k789mv5iavxzxwylclg0mfgx43qd2";
+  };
+
+  buildInputs = [
+    asciidoc libxml2 docbook_xml_dtd_45 libxslt docbook_xsl
+  ];
+
+  installFlags = [ "prefix=$(out)" ];
+
+  postInstall = ''
+    sed -e "s|cmp|${diffutils}/bin/cmp|" \
+        -e "s|cat|${coreutils}/bin/cat|" \
+        -e "s|grep|${gnugrep}/bin/grep|" \
+        -i "$out/bin/autorevision"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Extracts revision metadata from your VCS repository";
+    homepage = https://autorevision.github.io/;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index fc56c58f138..c4b09995625 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.0.2";
+  version = "2.0.3";
   name = "graylog-${version}";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "08w8s33cfk7bi6g8wshqchhl0ayld647wvg4xngclc22d7l94rrm";
+    sha256 = "1p6gl36g3ips5ry2mqcfsr49siki5lx7xhqjl0sy9bsx26vnzgrc";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index 652c4f98905..8367bde6fdd 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -1,40 +1,29 @@
 { stdenv, fetchurl, fetchpatch, ncurses, utmp, pam ? null }:
 
 stdenv.mkDerivation rec {
-  name = "screen-4.3.1";
+  name = "screen-4.4.0";
 
   src = fetchurl {
     url = "mirror://gnu/screen/${name}.tar.gz";
-    sha256 = "0qwxd4axkgvxjigz9xs0kcv6qpfkrzr2gm43w9idx0z2mvw4jh7s";
+    sha256 = "12r12xwhsg59mlprikbbmn60gh8lqhrvyar7mlxg4fwsfma2lwpg";
   };
 
-  preConfigure = ''
-    configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man --with-sys-screenrc=/etc/screenrc --enable-colors256"
-    sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in
-  '';
-
-  # TODO: remove when updating the version of screen. Only patches for 4.3.1
-  patches = [
-    (fetchpatch {
-      name = "CVE-2015-6806.patch";
-      stripLen = 1;
-      url = "http://git.savannah.gnu.org/cgit/screen.git/patch/?id=b7484c224738247b510ed0d268cd577076958f1b";
-      sha256 = "160zhpzi80qkvwib78jdvx4jcm2c2h59q5ap7hgnbz4xbkb3k37l";
-    })
-  ] ++ stdenv.lib.optional stdenv.isDarwin (fetchurl {
-    url = "http://savannah.gnu.org/file/screen-utmp.patch\?file_id=34815";
-    sha256 = "192dsa8hm1zw8m638avzhwhnrddgizhyrwaxgwa96zr9vwai2nvc";
-  });
+  configureFlags= [
+    "--enable-telnet"
+    "--enable-pam"
+    "--with-sys-screenrc=/etc/screenrc"
+    "--enable-colors256"
+  ];
 
   buildInputs = [ ncurses ] ++ stdenv.lib.optional stdenv.isLinux pam
                             ++ stdenv.lib.optional stdenv.isDarwin utmp;
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnu.org/software/screen/;
     description = "A window manager that multiplexes a physical terminal";
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
     longDescription =
       '' GNU Screen is a full-screen window manager that multiplexes a physical
@@ -58,7 +47,7 @@ stdenv.mkDerivation rec {
          terminal.
       '';
 
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ peti jgeerds ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ peti jgeerds vrthra ];
   };
 }
diff --git a/pkgs/tools/misc/units/default.nix b/pkgs/tools/misc/units/default.nix
index 3fc015c7704..e8b93569c72 100644
--- a/pkgs/tools/misc/units/default.nix
+++ b/pkgs/tools/misc/units/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "units-${version}";
-  version = "2.12";
+  version = "2.13";
 
   src = fetchurl {
     url = "mirror://gnu/units/${name}.tar.gz";
-    sha256 = "1jxvjknz2jhq773jrwx9gc1df3gfy73yqmkjkygqxzpi318yls3q";
+    sha256 = "1awhjw9zjlfb8s5g3yyx63f7ddfcr1sanlbxpqifmrgq24ql198b";
   };
 
   buildInputs = [ readline ];
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     description = "Unit conversion tool";
     homepage = https://www.gnu.org/software/units/;
     license = [ licenses.gpl3Plus ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vrthra ];
   };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 1187191185d..9ffd6647257 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -12,11 +12,11 @@
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2016.05.21.2";
+  version = "2016.06.19.1";
 
   src = fetchurl {
     url = "http://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "66f94fc97012c4c7a6338dc4df6ec62af66dcfc144c5e8c8cd8b5519756f1a98";
+    sha256 = "223c496be84dd57ba9f7d6a132a2732b67c79c7e26e64ecae1439472c10d0d45";
   };
 
   buildInputs = [ makeWrapper zip pandoc ];
diff --git a/pkgs/tools/misc/yubikey-neo-manager/default.nix b/pkgs/tools/misc/yubikey-neo-manager/default.nix
new file mode 100644
index 00000000000..528f9aecb54
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-neo-manager/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, makeWrapper, python27Packages
+, libykneomgr, yubikey-personalization, libu2f-host }:
+
+python27Packages.buildPythonPackage rec {
+  namePrefix = "";
+  name = "yubikey-neo-manager-${version}";
+  version = "1.4.0";
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubikey-neo-manager/Releases/${name}.tar.gz";
+    sha256 = "1isxvx27hk0avxwgwcwys2z8ickfs816ii1aklvmi09ak1rgrf1g";
+  };
+
+  propagatedBuildInputs = with python27Packages; [ pyside pycrypto ];
+  patches = [ ./fix-pyside-requirement.diff ];
+
+  # aid ctypes load_libary()
+  makeWrapperArgs = [
+    "--set LD_PRELOAD '${libykneomgr}/lib/libykneomgr.so ${yubikey-personalization}/lib/libykpers-1.so ${libu2f-host}/lib/libu2f-host.so'"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/yubikey-neo-manager;
+    description = "Cross platform personalization tool for the YubiKey NEO";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ mbakke ];
+  };
+}
diff --git a/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff b/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff
new file mode 100644
index 00000000000..d11a3a1cc6d
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff
@@ -0,0 +1,17 @@
+Description: Remove PySide requirement, since python-pyside does not register itself correctly
+Author: Dain Nilsson <dain@yubico.com>
+Forwarded: no
+--- a/setup.py
++++ b/setup.py
+@@ -44,8 +44,9 @@
+     entry_points={
+         'gui_scripts': ['neoman=neoman.__main__:main']
+     },
+-    install_requires=['PySide', 'pycrypto'],
+-    yc_requires=['ctypes', 'qt'],
++    install_requires=['pycrypto'],
++    yc_requires=['ctypes'],
++    packages=['neoman', 'neoman.model', 'neoman.view', 'neoman.yubicommon', 'neoman.yubicommon.setup', 'neoman.yubicommon.ctypes', 'neoman.yubicommon.qt'],
+     cmdclass={'executable': executable, 'qt_resources': qt_resources('neoman')},
+     classifiers=[
+         'License :: OSI Approved :: BSD License',
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 106dcf2f184..78541a5d9f2 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,28 +1,37 @@
-{ stdenv, fetchurl, pkgconfig, autoreconfHook
+{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, autoreconfHook
 , openssl, c-ares, libxml2, sqlite, zlib, libssh2
 , Security
 }:
 
 stdenv.mkDerivation rec {
   name = "aria2-${version}";
-  version = "1.23.0";
+  version = "1.24.0";
 
-  src = fetchurl {
-    url = "https://github.com/tatsuhiro-t/aria2/releases/download/release-${version}/${name}.tar.xz";
-    sha256 = "14qz7686zxnhbaqj6l1hqpkykhpygm74h2mzwhh13gqmcj38alaq";
+  src = fetchFromGitHub {
+    owner = "aria2";
+    repo = "aria2";
+    rev = "release-${version}";
+    sha256 = "0sb8s2rf2l0x7m8fx8kys7vad0lfw3k9071iai03kxplkdvg96n9";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   buildInputs = [ openssl c-ares libxml2 sqlite zlib libssh2 ] ++
     stdenv.lib.optional stdenv.isDarwin Security;
 
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      url = https://github.com/aria2/aria2/commit/1e59e357af626edc870b7f53c1ae8083658d0d1a.patch;
+      sha256 = "1xjj4ll1v6adl6vdkl84v0mh7ma6p469ph1wpvksxrq6qp8345qj";
+    })
+  ];
+
   configureFlags = [ "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" ];
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/tatsuhiro-t/aria2;
+    homepage = https://aria2.github.io;
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
     maintainers = with maintainers; [ koral jgeerds ];
     license = licenses.gpl2Plus;
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index c92403a1af5..2269e1a09c7 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -4,13 +4,13 @@ stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "02jqkwihp4im58qdnyd7d6m37ym9168gy35cql8gviq2w03yznpk";
+    sha256 = "10rimw6ldnaijbjz1vmkrbrr5swbbqjydjrxd4y5xj2r8whq2mph";
   };
 
   buildInputs = [ boost zlib openssl ];
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 5e8931579cb..a24f350d3f0 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -3,20 +3,14 @@
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
 , makeWrapper, udev, libgudev, hicolor_icon_theme }:
 
-let
-  pn = "network-manager-applet";
-  major = "1.0";
-  # With version 1.0.12 of NM, we are no longer in sync
-  # version = "${networkmanager.version}.10";
-  version = "${major}.10";
-in
-
 stdenv.mkDerivation rec {
-  name = "network-manager-applet-${version}";
+  name    = "${pname}-${version}";
+  pname   = "network-manager-applet";
+  version = networkmanager.version;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pn}/${major}/${name}.tar.xz";
-    sha256 = "1szh5jyijxm6z55irkp5s44pwah0nikss40mx7pvpk38m8zaqidh";
+    url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${name}.tar.xz";
+    sha256 = "02b42e7c17c9cd6c840563750da92ce58da1ec621df7f0c2402016026e727756";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ];
@@ -34,10 +28,9 @@ stdenv.mkDerivation rec {
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
   ];
 
-  preInstall =
-    ''
-      installFlagsArray=( "sysconfdir=$out/etc" )
-    '';
+  preInstall = ''
+    installFlagsArray=( "sysconfdir=$out/etc" )
+  '';
 
   preFixup = ''
     wrapProgram "$out/bin/nm-applet" \
@@ -50,10 +43,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://projects.gnome.org/NetworkManager/;
+    homepage    = http://projects.gnome.org/NetworkManager/;
     description = "NetworkManager control applet for GNOME";
-    license = licenses.gpl2;
+    license     = licenses.gpl2;
     maintainers = with maintainers; [ phreedom urkud rickynils ];
-    platforms = platforms.linux;
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/0.9.8.nix b/pkgs/tools/networking/network-manager/0.9.8/default.nix
index 4fad1ca2ab9..4fad1ca2ab9 100644
--- a/pkgs/tools/networking/network-manager/0.9.8.nix
+++ b/pkgs/tools/networking/network-manager/0.9.8/default.nix
diff --git a/pkgs/tools/networking/network-manager/libnl-3.2.25.patch b/pkgs/tools/networking/network-manager/0.9.8/libnl-3.2.25.patch
index 17c2966b706..17c2966b706 100644
--- a/pkgs/tools/networking/network-manager/libnl-3.2.25.patch
+++ b/pkgs/tools/networking/network-manager/0.9.8/libnl-3.2.25.patch
diff --git a/pkgs/tools/networking/network-manager/nixos-purity.patch b/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch
index 831b2010fcf..831b2010fcf 100644
--- a/pkgs/tools/networking/network-manager/nixos-purity.patch
+++ b/pkgs/tools/networking/network-manager/0.9.8/nixos-purity.patch
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 34506cb823d..5b1d56c0184 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -5,12 +5,14 @@
 , ethtool, gnused, coreutils, file, inetutils }:
 
 stdenv.mkDerivation rec {
-  name = "network-manager-${version}";
-  version = "1.0.12";
+  name    = "network-manager-${version}";
+  pname   = "NetworkManager";
+  major   = "1.2";
+  version = "${major}.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/NetworkManager/1.0/NetworkManager-${version}.tar.xz";
-    sha256 = "17jan0g5jzp8mrpklyacwdgnnw016m1c5pc4az5im6qhc260yirs";
+    url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
+    sha256 = "41d8082e027f58bb5fa4181f93742606ab99c659794a18e2823eff22df0eecd9";
   };
 
   preConfigure = ''
@@ -61,34 +63,30 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  patches = [ ./nm-platform.patch ];
-
-  preInstall =
-    ''
-      installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" )
-    '';
+  preInstall = ''
+    installFlagsArray=( "sysconfdir=$out/etc" "localstatedir=$out/var" "runstatedir=$out/var/run" )
+  '';
 
-  postInstall =
-    ''
-      mkdir -p $out/lib/NetworkManager
+  postInstall = ''
+    mkdir -p $out/lib/NetworkManager
 
-      # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
-      substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
+    # FIXME: Workaround until NixOS' dbus+systemd supports at_console policy
+    substituteInPlace $out/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf --replace 'at_console="true"' 'group="networkmanager"'
 
-      # rename to network-manager to be in style
-      mv $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service 
+    # rename to network-manager to be in style
+    mv $out/etc/systemd/system/NetworkManager.service $out/etc/systemd/system/network-manager.service 
 
-      # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
-      # aliases ourselves.
-      ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
-      ln -s $out/etc/systemd/system/network-manager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
-    '';
+    # systemd in NixOS doesn't use `systemctl enable`, so we need to establish
+    # aliases ourselves.
+    ln -s $out/etc/systemd/system/NetworkManager-dispatcher.service $out/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
+    ln -s $out/etc/systemd/system/network-manager.service $out/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
+  '';
 
   meta = with stdenv.lib; {
-    homepage = http://projects.gnome.org/NetworkManager/;
+    homepage    = http://projects.gnome.org/NetworkManager/;
     description = "Network configuration and management tool";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ phreedom urkud rickynils domenkozar ];
-    platforms = platforms.linux;
+    license     = licenses.gpl2Plus;
+    maintainers = with maintainers; [ phreedom urkud rickynils domenkozar obadz ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/network-manager/l2tp-purity.patch b/pkgs/tools/networking/network-manager/l2tp-purity.patch
deleted file mode 100644
index c9117c5325b..00000000000
--- a/pkgs/tools/networking/network-manager/l2tp-purity.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/nm-l2tp-service.c b/src/nm-l2tp-service.c
-index d2c9dc4..e61d3d2 100644
---- a/src/nm-l2tp-service.c
-+++ b/src/nm-l2tp-service.c
-@@ -655,9 +655,7 @@ nm_find_ipsec (void)
- {
- 	static const char *ipsec_binary_paths[] =
- 		{
--			"/sbin/ipsec",
--			"/usr/sbin/ipsec",
--			"/usr/local/sbin/ipsec",
-+                        "@strongswan@/bin/ipsec",
- 			NULL
- 		};
- 
-@@ -677,9 +675,7 @@ nm_find_l2tpd (void)
- {
- 	static const char *l2tp_binary_paths[] =
- 		{
--			"/sbin/xl2tpd",
--			"/usr/sbin/xl2tpd",
--			"/usr/local/sbin/xl2tpd",
-+                        "@xl2tpd@/bin/xl2tpd",
- 			NULL
- 		};
- 
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix
index f415b4f3bed..cd08b92d3c1 100644
--- a/pkgs/tools/networking/network-manager/l2tp.nix
+++ b/pkgs/tools/networking/network-manager/l2tp.nix
@@ -1,43 +1,48 @@
-{ stdenv, fetchFromGitHub, substituteAll, automake, autoconf, libtool, intltool, pkgconfig
-, networkmanager, ppp, xl2tpd, strongswan
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool, intltool, pkgconfig
+, networkmanager, networkmanagerapplet, ppp, xl2tpd, strongswan, libsecret
 , withGnome ? true, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname = "NetworkManager-l2tp";
-  version = "0.9.8.7";
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-l2tp";
+  version = networkmanager.version;
 
   src = fetchFromGitHub {
-    owner = "seriyps";
-    repo = "NetworkManager-l2tp";
-    rev = version;
-    sha256 = "07gl562p3f6l2wn64f3vvz1ygp3hsfhiwh4sn04c3fahfdys69zx";
+    owner  = "nm-l2tp";
+    repo   = "network-manager-l2tp";
+    rev    = version;
+    sha256 = "1zqdhm7pzhaq6q8pddj9ki25qs9m6qwqgzc5x07a0qffla2rq5j1";
   };
 
-  buildInputs = [ networkmanager ppp ]
+  buildInputs = [ networkmanager ppp networkmanagerapplet libsecret ]
     ++ stdenv.lib.optionals withGnome [ gnome3.gtk gnome3.libgnome_keyring ];
 
   nativeBuildInputs = [ automake autoconf libtool intltool pkgconfig ];
 
-  configureScript = "./autogen.sh";
+  postPatch = ''
+    sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-l2tp-service.c
 
-  configureFlags =
-    if withGnome then "--with-gnome" else "--without-gnome";
+    substituteInPlace ./src/nm-l2tp-service.c \
+      --replace /sbin/ipsec  ${strongswan}/bin/ipsec \
+      --replace /sbin/xl2tpd ${xl2tpd}/bin/xl2tpd
+
+    # Remove when https://github.com/nm-l2tp/network-manager-l2tp/issues/9 gets fixed
+    # per http://stackoverflow.com/questions/9225567/how-to-print-a-int64-t-type-in-c
+    sed -i -e 's,^\(#include <string.h>\)$,\1\n#include <inttypes.h>,' ./properties/import-export.c
+    substituteInPlace ./properties/import-export.c \
+      --replace '%ld' '%" PRId64 "'
+  '';
 
-  postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile";
+  preConfigure = "./autogen.sh";
 
-  patches =
-    [ ( substituteAll {
-        src = ./l2tp-purity.patch;
-        inherit xl2tpd strongswan;
-      })
-    ];
+  configureFlags =
+    if withGnome then "--with-gnome" else "--without-gnome";
 
   meta = with stdenv.lib; {
     description = "L2TP plugin for NetworkManager";
     inherit (networkmanager.meta) platforms;
     homepage = https://github.com/seriyps/NetworkManager-l2tp;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ abbradar ];
+    maintainers = with maintainers; [ abbradar obadz ];
   };
 }
diff --git a/pkgs/tools/networking/network-manager/nm-platform.patch b/pkgs/tools/networking/network-manager/nm-platform.patch
deleted file mode 100644
index 880d1a2e492..00000000000
--- a/pkgs/tools/networking/network-manager/nm-platform.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c
-index 8803377..14e5726 100644
---- a/src/platform/nm-platform.c
-+++ b/src/platform/nm-platform.c
-@@ -39,6 +39,12 @@
- #include "nm-enum-types.h"
- #include "nm-core-internal.h"
-
-+#if HAVE_LIBNL_INET6_ADDR_GEN_MODE && HAVE_KERNEL_INET6_ADDR_GEN_MODE
-+#include <linux/if_link.h>
-+#else
-+#define IN6_ADDR_GEN_MODE_NONE  1
-+#endif
-+
- #define ADDRESS_LIFETIME_PADDING 5
-
- G_STATIC_ASSERT (sizeof ( ((NMPlatformLink *) NULL)->addr.data ) == NM_UTILS_HWADDR_LEN_MAX);
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index 6a93100fa10..43eb681be29 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -2,15 +2,13 @@
 , withGnome ? true, gnome3, procps, kmod }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname = "NetworkManager-openconnect";
-  version = "1.0.2";
-
-# FixMe: Change version back to "networkmanager.version"
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-openconnect";
+  version = networkmanager.version;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "03k05s3aaxcwrip3g3r13bx80wbg7vh5sssc7mvg27c4cdc0a2hj";
+    url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz";
+    sha256 = "522979593e21b4e884112816708db9eb66148b3491580dacfad53472b94aafec";
   };
 
   buildInputs = [ openconnect networkmanager libsecret ]
@@ -31,15 +29,6 @@ stdenv.mkDerivation rec {
        --replace "/sbin/modprobe" "${kmod}/sbin/modprobe"
   '';
 
-  postConfigure = ''
-     substituteInPlace "./auth-dialog/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-     substituteInPlace "properties/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-  '';
-
   meta = {
     description = "NetworkManager's OpenConnect plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index 4b98600611e..34e3a3e2959 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -2,13 +2,13 @@
 , withGnome ? true, gnome3, procps, kmod }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname = "NetworkManager-openvpn";
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-openvpn";
   version = networkmanager.version;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "132xwkgyfnpma7m6b06jhrd1g9xk5dlpx8alnsf03ls3z92bd0n9";
+    url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz";
+    sha256 = "47a6d219a781eff8491c7876b7fb95b12dcfb8f8a05f916f95afc65c7babddef";
   };
 
   buildInputs = [ openvpn networkmanager libsecret ]
@@ -33,15 +33,6 @@ stdenv.mkDerivation rec {
        --replace "/sbin/openvpn" "${openvpn}/sbin/openvpn"
   '';
 
-  postConfigure = ''
-     substituteInPlace "./auth-dialog/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-     substituteInPlace "properties/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-  '';
-
   meta = {
     description = "NetworkManager's OpenVPN plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/network-manager/pptp-purity.patch b/pkgs/tools/networking/network-manager/pptp-purity.patch
deleted file mode 100644
index 88af666b658..00000000000
--- a/pkgs/tools/networking/network-manager/pptp-purity.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/nm-pptp-service.c b/src/nm-pptp-service.c
-index 68a5759..568bbfe 100644
---- a/src/nm-pptp-service.c
-+++ b/src/nm-pptp-service.c
-@@ -730,9 +730,7 @@ nm_find_pppd (void)
- {
- 	static const char *pppd_binary_paths[] =
- 		{
--			"/sbin/pppd",
--			"/usr/sbin/pppd",
--			"/usr/local/sbin/pppd",
-+			"@ppp@/sbin/pppd",
- 			NULL
- 		};
-
-@@ -752,9 +750,7 @@ nm_find_pptp (void)
- {
- 	static const char *pptp_binary_paths[] =
- 		{
--			"/sbin/pptp",
--			"/usr/sbin/pptp",
--			"/usr/local/sbin/pptp",
-+			"@pptp@/sbin/pptp",
- 			NULL
- 		};
- 
diff --git a/pkgs/tools/networking/network-manager/pptp.nix b/pkgs/tools/networking/network-manager/pptp.nix
index 1b1cf69119e..a9bee0c7481 100644
--- a/pkgs/tools/networking/network-manager/pptp.nix
+++ b/pkgs/tools/networking/network-manager/pptp.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig, substituteAll
+{ stdenv, fetchurl, networkmanager, pptp, ppp, intltool, pkgconfig
 , libsecret, withGnome ? true, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname = "NetworkManager-pptp";
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-pptp";
   version = networkmanager.version;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "1gn1f8r32wznk4rsn2lg2slw1ccli00svz0fi4bx0qiylimlbyln";
+    url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz";
+    sha256 = "a72cb88ecc0a9edec836e8042c592d68b8b290c0d78082e6b25cf08b46c6be5d";
   };
 
   buildInputs = [ networkmanager pptp ppp libsecret ]
@@ -17,17 +17,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ intltool pkgconfig ];
 
-  configureFlags =
-    if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome";
+  postPatch = ''
+    sed -i -e 's%"\(/usr/sbin\|/usr/pkg/sbin\|/usr/local/sbin\)/[^"]*",%%g' ./src/nm-pptp-service.c
 
-  postConfigure = "sed 's/-Werror//g' -i Makefile */Makefile";
+    substituteInPlace ./src/nm-pptp-service.c \
+      --replace /sbin/pptp ${pptp}/bin/pptp \
+      --replace /sbin/pppd ${ppp}/bin/pppd
+  '';
 
-  patches =
-    [ ( substituteAll {
-        src = ./pptp-purity.patch;
-        inherit ppp pptp;
-      })
-    ];
+  configureFlags =
+    if withGnome then "--with-gnome --with-gtkver=3" else "--without-gnome";
 
   meta = {
     description = "PPtP plugin for NetworkManager";
diff --git a/pkgs/tools/networking/network-manager/vpnc.nix b/pkgs/tools/networking/network-manager/vpnc.nix
index 64de5408c7e..97b2001d759 100644
--- a/pkgs/tools/networking/network-manager/vpnc.nix
+++ b/pkgs/tools/networking/network-manager/vpnc.nix
@@ -2,13 +2,13 @@
 , withGnome ? true, gnome3, procps, kmod }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
-  pname = "NetworkManager-vpnc";
+  name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  pname   = "NetworkManager-vpnc";
   version = networkmanager.version;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/1.0/${pname}-${version}.tar.xz";
-    sha256 = "0hycplnc78688sgpzdh3ifra6chascrh751mckqkp1j553bri0jk";
+    url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${pname}-${version}.tar.xz";
+    sha256 = "e900f6500026f8c3ee4feb92e1d0a0c0abbee9ba507dad915b47a8ab7df9e1f3";
   };
 
   buildInputs = [ vpnc networkmanager libsecret ]
@@ -30,15 +30,6 @@ stdenv.mkDerivation rec {
        --replace "/sbin/modprobe" "${kmod}/sbin/modprobe"
   '';
 
-  postConfigure = ''
-     substituteInPlace "./auth-dialog/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-     substituteInPlace "properties/Makefile" \
-       --replace "-Wstrict-prototypes" "" \
-       --replace "-Werror" ""
-  '';
-
   meta = {
     description = "NetworkManager's VPNC plugin";
     inherit (networkmanager.meta) maintainers platforms;
diff --git a/pkgs/tools/networking/ssh-ident/default.nix b/pkgs/tools/networking/ssh-ident/default.nix
new file mode 100644
index 00000000000..605986935f0
--- /dev/null
+++ b/pkgs/tools/networking/ssh-ident/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, makeWrapper, python }:
+
+stdenv.mkDerivation rec {
+  name = "ssh-ident-${version}";
+  version = "2016-04-21";
+  src = fetchFromGitHub  {
+    owner = "ccontavalli";
+    repo = "ssh-ident";
+    rev = "ebf8282728211dc4448d50f7e16e546ed03c22d2";
+    sha256 = "1jf19lz1gwn7cyp57j8d4zs5bq13iw3kw31m8nvr8h6sib2pf815";
+  };
+
+  buildInputs = [ makeWrapper ];
+  installPhase = ''
+    mkdir -p $out/bin
+    install -m 755 ssh-ident $out/bin/ssh-ident
+    wrapProgram $out/bin/ssh-ident \
+      --prefix PATH : "${python}/bin/python"
+  '';
+
+  meta = {
+    homepage = https://github.com/ccontavalli/ssh-ident;
+    description = "Start and use ssh-agent and load identities as necessary";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ telotortium ];
+  };
+}
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 684b9b13a80..1443c9bfb7d 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.5.8";
+  version = "1.5.9";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "33567a20f73e288f8daa4ec021fbb30fe1824b346b34f12677ad77899ecd09be";
+    sha256 = "01328cfac99ab5b8c47115151896a244979e442e284eb962c0ea84b7782b6990";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 9b9909a8943..42309b49bb8 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -3,11 +3,11 @@
 , libiconv, libpsl ? null, openssl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.17.1";
+  name = "wget-1.18";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.xz";
-    sha256 = "1jcpvl5sxb2ag8yahpy370c5jlfb097a21k2mhsidh4wxdhrnmgy";
+    sha256 = "1hcwx8ww3sxzdskkx3l7q70a7wd6569yrnjkw9pw013cf9smpddm";
   };
 
   patches = [ ./remove-runtime-dep-on-openssl-headers.patch ];
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index 03d73183704..961a4d4e036 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "6.0.1";
+  version = "6.0.2";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${if stdenv.is64bit then "64" else "32"}-${version}_en-US.tar.xz";
     sha256 = if stdenv.is64bit then
-      "1n3k0bhjmbmj1rdgyifqya6135wapafqygfviv6x52ng8sa2jhk1" else
-      "169f90w0fl4pqq9dbhzr6pkk15gqvp7813asqqh1p7s2a32zczza";
+      "08zik2id1rkcl5cw4yscdgb8rdahx342j1fps576465sziy5z06x" else
+      "062ddifhdbzj9hjcnvjnqb1is2ydrv9x7hzam4jkpsfvllf4hxcg";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index ffd275069da..bdb33196db9 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -3,17 +3,18 @@
 , EncodeEUCJPASCII, EncodeHanExtra, EncodeJIS2K, ExtUtilsLibBuilder
 , FileSlurp, IPCRun3, Log4Perl, LWPProtocolHttps, ListAllUtils, ListMoreUtils
 , ModuleBuild, MozillaCA, ReadonlyXS, RegexpCommon, TextBibTeX, UnicodeCollate
-, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }:
+, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter, ClassAccessor
+, TextRoman, DataUniqid }:
 
 let
-  version = "1.9";
+  version = "2.4";
   pn = "biblatex-biber";
 in
 buildPerlPackage {
   name = "biber-${version}";
   src = fetchurl {
     url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz";
-    sha256 = "1a3iq7l9i54f8nfzjmp1qdb6aqm7977q1g4san470010fkfbvjdc";
+    sha256 = "1gccbs5vzs3fca41d9dwl6nrdljnh29yls8xzfw04hd57yrfn5w4";
   };
 
   buildInputs = [
@@ -22,6 +23,7 @@ buildPerlPackage {
     ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils
     ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX
     UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
+    ClassAccessor TextRoman DataUniqid
   ];
   preConfigure = "touch Makefile.PL";
   buildPhase = "perl Build.PL --prefix=$out; ./Build build";
diff --git a/pkgs/tools/typesetting/tex/texlive-new/bin.nix b/pkgs/tools/typesetting/tex/texlive-new/bin.nix
index 403bea2783d..f497444eb39 100644
--- a/pkgs/tools/typesetting/tex/texlive-new/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive-new/bin.nix
@@ -64,6 +64,12 @@ core = stdenv.mkDerivation rec {
     perl
   ];
 
+  postPatch = ''
+    for i in texk/kpathsea/mktex*; do
+      sed -i '/^mydir=/d' "$i"
+    done
+  '';
+
   preConfigure = ''
     rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
       libs/{mpfr,pixman,poppler,potrace,xpdf,zlib,zziplib}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ecbcdb62681..18c2f8cc103 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1,5 +1,4 @@
-{ system, bootStdenv, noSysDirs, gccWithCC, gccWithProfiling
-, config, crossSystem, platform, lib
+{ system, bootStdenv, noSysDirs, config, crossSystem, platform, lib
 , pkgsWithOverrides
 , ... }:
 self: pkgs:
@@ -43,11 +42,10 @@ in
   overridePackages = f: pkgsWithOverrides f;
 
   # Override system. This is useful to build i686 packages on x86_64-linux.
-  forceSystem = system: kernel: (import ./../..) {
+  forceSystem = system: kernel: (import ../..) {
     inherit system;
     platform = platform // { kernelArch = kernel; };
-    inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config
-      crossSystem;
+    inherit bootStdenv noSysDirs config crossSystem;
   };
 
   # Used by wine, firefox with debugging version of Flash, ...
@@ -469,6 +467,8 @@ in
 
   apg = callPackage ../tools/security/apg { };
 
+  autorevision = callPackage ../tools/misc/autorevision { };
+
   bonnie = callPackage ../tools/filesystems/bonnie { };
 
   djmount = callPackage ../tools/filesystems/djmount { };
@@ -670,8 +670,6 @@ in
 
   gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
 
-  certificate-transparency = callPackage ../servers/certificate-transparency { };
-
   image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
 
   ccnet = callPackage ../tools/networking/ccnet { };
@@ -710,6 +708,8 @@ in
 
   contacts = callPackage ../tools/misc/contacts { };
 
+  coturn = callPackage ../servers/coturn { };
+
   daemontools = callPackage ../tools/admin/daemontools { };
 
   datamash = callPackage ../tools/misc/datamash { };
@@ -918,7 +918,8 @@ in
       DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
       ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils
       ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX
-      UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter;
+      UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
+      ClassAccessor TextRoman DataUniqid;
   };
 
   bibtextools = callPackage ../tools/typesetting/bibtex-tools {
@@ -1192,6 +1193,10 @@ in
 
   cudnn = callPackage ../development/libraries/science/math/cudnn/default.nix {};
 
+  cudnn5_cudatoolkit75 = callPackage ../development/libraries/science/math/cudnn/7.5-5.0 {
+    cudatoolkit = self.cudatoolkit75;
+  };
+
   curlFull = self.curl.override {
     idnSupport = true;
     ldapSupport = true;
@@ -2209,6 +2214,36 @@ in
 
   netdata = callPackage ../tools/system/netdata { };
 
+  netsurf = recurseIntoAttrs (let callPackage = newScope pkgs.netsurf; in rec {
+
+    buildsystem = callPackage ../applications/misc/netsurf/buildsystem { };
+
+    libwapcaplet = callPackage ../applications/misc/netsurf/libwapcaplet { };
+
+    nsgenbind = callPackage ../applications/misc/netsurf/nsgenbind { };
+
+    libparserutils = callPackage ../applications/misc/netsurf/libparserutils { };
+
+    libcss = callPackage ../applications/misc/netsurf/libcss { };
+
+    libhubbub = callPackage ../applications/misc/netsurf/libhubbub { };
+
+    libdom = callPackage ../applications/misc/netsurf/libdom { };
+
+    libnsbmp = callPackage ../applications/misc/netsurf/libnsbmp { };
+
+    libnsgif = callPackage ../applications/misc/netsurf/libnsgif { };
+
+    libnsfb = callPackage ../applications/misc/netsurf/libnsfb { };
+
+    libnsutils = callPackage ../applications/misc/netsurf/libnsutils { };
+
+    libutf8proc = callPackage ../applications/misc/netsurf/libutf8proc { };
+
+    browser = callPackage ../applications/misc/netsurf/browser { };
+
+  });
+
   netperf = callPackage ../applications/networking/netperf { };
 
   netsniff-ng = callPackage ../tools/networking/netsniff-ng { };
@@ -2585,7 +2620,7 @@ in
   netselect = callPackage ../tools/networking/netselect { };
 
   # stripped down, needed by steam
-  networkmanager098 = callPackage ../tools/networking/network-manager/0.9.8.nix { };
+  networkmanager098 = callPackage ../tools/networking/network-manager/0.9.8 { };
 
   networkmanager = callPackage ../tools/networking/network-manager { };
 
@@ -3421,6 +3456,8 @@ in
 
   ssdeep = callPackage ../tools/security/ssdeep { };
 
+  ssh-ident = callPackage ../tools/networking/ssh-ident { };
+
   sshpass = callPackage ../tools/networking/sshpass { };
 
   sslscan = callPackage ../tools/security/sslscan { };
@@ -3934,9 +3971,9 @@ in
     # load into the Ben Nanonote
     gccCross =
       let
-        pkgsCross = (import ./../..) {
+        pkgsCross = (import ../..) {
           inherit system;
-          inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
+          inherit bootStdenv noSysDirs config;
           # Ben Nanonote system
           crossSystem = {
             config = "mipsel-unknown-linux";
@@ -9467,6 +9504,8 @@ in
 
   yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { };
 
+  yubikey-neo-manager = callPackage ../tools/misc/yubikey-neo-manager { };
+
   yubikey-personalization = callPackage ../tools/misc/yubikey-personalization {
     libusb = libusb1;
   };
@@ -10038,6 +10077,8 @@ in
 
   nix-binary-cache = callPackage ../servers/http/nix-binary-cache {};
 
+  nix-tour = callPackage ../applications/misc/nix-tour {};
+
   nsd = callPackage ../servers/dns/nsd (config.nsd or {});
 
   nsq = callPackage ../servers/nsq { };
@@ -11592,6 +11633,11 @@ in
 
   faba-mono-icons = callPackage ../data/icons/faba-mono-icons { };
 
+  emojione = callPackage ../data/fonts/emojione {
+    inherit (nodePackages) svgo;
+    inherit (pythonPackages) scfbuild;
+  };
+
   fantasque-sans-mono = callPackage ../data/fonts/fantasque-sans-mono {};
 
   fira = callPackage ../data/fonts/fira { };
@@ -13130,6 +13176,8 @@ in
 
   inferno = callPackage_i686 ../applications/inferno { };
 
+  inginious = callPackage ../servers/inginious {};
+
   inkscape = callPackage ../applications/graphics/inkscape {
     inherit (pythonPackages) python pyxml lxml numpy;
     lcms = lcms2;
@@ -14276,10 +14324,15 @@ in
   stp = callPackage ../applications/science/logic/stp {};
 
   stumpwm = callPackage ../applications/window-managers/stumpwm {
+    version = "latest";
     sbcl = sbcl_1_2_5;
     lispPackages = lispPackagesFor (wrapLisp sbcl_1_2_5);
   };
 
+  stumpwm-git = stumpwm.override {
+    version = "git";
+  };
+
   sublime = callPackage ../applications/editors/sublime { };
 
   sublime3 = lowPrio (callPackage ../applications/editors/sublime3 { });
@@ -15863,6 +15916,9 @@ in
 
   numix-gtk-theme = callPackage ../misc/themes/numix-gtk-theme { };
 
+  # We need QtWebkit which was deprecated in Qt 5.6 although it can still be build
+  trojita = with qt55; callPackage ../applications/networking/mailreaders/trojita { };
+
   kde5PackagesFun = self: with self; {
 
     calamares = callPackage ../tools/misc/calamares rec {
@@ -16120,6 +16176,8 @@ in
 
   alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
 
+  aspino = callPackage ../applications/science/logic/aspino {};
+
   coq = callPackage ../applications/science/logic/coq {
     inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
     camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
@@ -16226,6 +16284,9 @@ in
 
   ginac = callPackage ../applications/science/math/ginac { };
 
+  glucose = callPackage ../applications/science/logic/glucose { };
+  glucose-syrup = callPackage ../applications/science/logic/glucose/syrup.nix { };
+
   hol = callPackage ../applications/science/logic/hol { };
 
   hol_light = callPackage ../applications/science/logic/hol_light {
@@ -16940,10 +17001,11 @@ in
 
   webfs = callPackage ../servers/http/webfs { };
 
-  wine = callPackage ../misc/emulators/wine {
+  wineMinimal = callPackage ../misc/emulators/wine {
     wineRelease = config.wine.release or "stable";
     wineBuild = config.wine.build or "wine32";
-    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
+  };
+  wine = lowPrio (self.wineMinimal.override {
     pngSupport = true;
     jpegSupport = true;
     tiffSupport = true;
@@ -16952,30 +17014,21 @@ in
     alsaSupport = true;
     openglSupport = true;
     tlsSupport = true;
-    cursesSupport = true;
-  };
-  wineMinimal = lowPrio (self.wine.override {
-    pulseaudioSupport = false;
-    pngSupport = false;
-    jpegSupport = false;
-    tiffSupport = false;
-    gettextSupport = false;
-    fontconfigSupport = false;
-    alsaSupport = false;
-    openglSupport = false;
-    tlsSupport = false;
-    cursesSupport = false;
-  });
-  wineFull = lowPrio (self.wine.override {
-    gtkSupport = true;
-    gstreamerSupport = true;
     cupsSupport = true;
     colorManagementSupport = true;
     dbusSupport = true;
     mpg123Support = true;
     openalSupport = true;
-    openclSupport = true;
     cairoSupport = true;
+    cursesSupport = true;
+    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
+    xineramaSupport = true;
+    xmlSupport = true;
+  });
+  wineFull = lowPrio (self.wine.override {
+    gtkSupport = true;
+    gstreamerSupport = true;
+    openclSupport = true;
     odbcSupport = true;
     netapiSupport = true;
     vaSupport = true;
@@ -16986,8 +17039,6 @@ in
     gphoto2Support = true;
     ldapSupport = true;
     pulseaudioSupport = true;
-    xineramaSupport = true;
-    xmlSupport = true;
   });
   wineStable = self.wine.override { wineRelease = "stable"; };
   wineUnstable = lowPrio (self.wine.override { wineRelease = "unstable"; });
@@ -17089,4 +17140,6 @@ in
   imatix_gsl = callPackage ../development/tools/imatix_gsl {};
 
   iterm2 = callPackage ../applications/misc/iterm2 {};
+
+  sequelpro = callPackage ../applications/misc/sequelpro {};
 }
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 22964195ed6..cff8671b65d 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -19,10 +19,6 @@
                && system != "x86_64-solaris"
                && system != "x86_64-kfreebsd-gnu")
 
-  # More flags for the bootstrapping of stdenv.
-, gccWithCC ? true
-, gccWithProfiling ? true
-
 , # Allow a configuration attribute set to be passed in as an
   # argument.  Otherwise, it's read from $NIXPKGS_CONFIG or
   # ~/.nixpkgs/config.nix.
@@ -44,10 +40,7 @@ let
   # for NIXOS (nixos-rebuild): use nixpkgs.config option
   config =
     let
-      toPath = builtins.toPath;
-      getEnv = builtins.getEnv;
-      pathExists = name:
-        builtins.pathExists (toPath name);
+      inherit (builtins) getEnv pathExists;
 
       configFile = getEnv "NIXPKGS_CONFIG";
       homeDir = getEnv "HOME";
@@ -55,8 +48,8 @@ let
 
       configExpr =
         if config_ != null then config_
-        else if configFile != "" && pathExists configFile then import (toPath configFile)
-        else if homeDir != "" && pathExists configFile2 then import (toPath configFile2)
+        else if configFile != "" && pathExists configFile then import configFile
+        else if homeDir != "" && pathExists configFile2 then import configFile2
         else {};
 
     in
@@ -84,8 +77,7 @@ let
     else config.platform or platformAuto;
 
   topLevelArguments = {
-    inherit system bootStdenv noSysDirs gccWithCC gccWithProfiling config
-      crossSystem platform lib;
+    inherit system bootStdenv noSysDirs config crossSystem platform lib;
   };
 
   # Allow packages to be overridden globally via the `packageOverrides'
diff --git a/pkgs/top-level/guile-2-test.nix b/pkgs/top-level/guile-2-test.nix
index 70f2de75ae9..9d2fbcbef5c 100644
--- a/pkgs/top-level/guile-2-test.nix
+++ b/pkgs/top-level/guile-2-test.nix
@@ -4,7 +4,7 @@
    -- ludo@gnu.org  */
 
 let
-  allPackages = import ./../..;
+  allPackages = import ../..;
 
   pkgsFun = { system ? builtins.currentSystem }:
     allPackages {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 340f4c454e5..0184e523773 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -2698,10 +2698,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   CryptX = buildPerlPackage rec {
-    name = "CryptX-0.036";
+    name = "CryptX-0.037";
     src = fetchurl {
       url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz";
-      sha256 = "9b740a592843c48a437f5e2b434cee38382e93a9112d2331a76ed7b865d0d520";
+      sha256 = "ae09e6449efb2a9bc661ffeba613c7452367bdcb13c1ee346af0f72c9803404d";
     };
     propagatedBuildInputs = [ JSONMaybeXS ];
     meta = {
@@ -3539,10 +3539,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DBIxClass = buildPerlPackage rec {
-    name = "DBIx-Class-0.082821";
+    name = "DBIx-Class-0.082840";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
-      sha256 = "1picibywz5sdpaa1pmbv7xfw52nbz6fh32afb1p2qwsgzbkhqvnw";
+      sha256 = "4049afd175e315ebcab945b19030aec40bcec46cc5611b0286a5a267ca7181ef";
     };
     buildInputs = [ DBDSQLite PackageStash SQLTranslator TestDeep TestException TestWarn ];
     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ClassInspector ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction HashMerge MROCompat ModuleFind Moo PathClass SQLAbstract ScopeGuard SubName TryTiny namespaceclean ];
@@ -7614,10 +7614,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MathBigInt = buildPerlPackage rec {
-    name = "Math-BigInt-1.999723";
+    name = "Math-BigInt-1.999724";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz";
-      sha256 = "c67da3fdc18f6f6127b13d10f0b2d482c431b0c10d9239ace8481cdf7136f0c9";
+      sha256 = "3e0c6e1c58fb89987a20da5ec8027d078a4e1d47211b86db4b75c2e1293d96f7";
     };
     meta = {
       description = "Arbitrary size integer/float math package";
@@ -8289,10 +8289,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Moo = buildPerlPackage rec {
-    name = "Moo-2.001001";
+    name = "Moo-2.002002";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "a68155b642f389cb1cc40139e2663d0c5d15eb71d9ecb0961623a73c10dd8ec0";
+      sha256 = "5e684e216ebd4531f5fa69d97fa4911344abcb5e2f7f8c240240ec03fa2c5eff";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny ];
@@ -8588,10 +8588,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   MooseXGetopt = buildPerlPackage rec {
-    name = "MooseX-Getopt-0.70";
+    name = "MooseX-Getopt-0.71";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "b9a95b01db3a6abf5e9a1cdbb6e283411649c8d279819cbe903bf4a662106194";
+      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
+      sha256 = "de18f8ea0a5650cbbdebecb8f4c028f5f951fc5698332f7b8e20c7874902c259";
     };
     buildInputs = [ ModuleBuildTiny ModuleRuntime Moose PathTiny TestDeep TestFatal TestRequires TestTrap TestWarnings self."if" ];
     propagatedBuildInputs = [ GetoptLongDescriptive Moose MooseXRoleParameterized TryTiny namespaceautoclean ];
@@ -12000,10 +12000,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   Test2Suite = buildPerlPackage rec {
-    name = "Test2-Suite-0.000030";
+    name = "Test2-Suite-0.000032";
     src = fetchurl {
       url = "mirror://cpan/authors/id/E/EX/EXODIST/${name}.tar.gz";
-      sha256 = "03f2411a8b1a85be8560c25d57f465c812174bc1c062ee79aeb194b018e6b751";
+      sha256 = "96be3607c018a3774acac99b0a47678322ef271e7152cddac7b5a0e9a3de5da3";
     };
     propagatedBuildInputs = [ TestSimple13 ];
     meta = {
@@ -13199,6 +13199,18 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  TextRoman = buildPerlPackage rec {
+    name = "Text-Roman-3.3";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/EC/ECALDER/${name}.tar.gz";
+      sha256 = "1ris38kdj15l8l7cl5whdpyyvb0rz8dh9p0w36wgydi3b2pxsa25";
+    };
+    meta = {
+      description = "Allows conversion between Roman and Arabic algarisms";
+      license = stdenv.lib.licenses.bsd3;
+    };
+  };
+
   TextSimpleTable = buildPerlPackage {
     name = "Text-SimpleTable-2.03";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index cd7982baa50..be906ef0299 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2059,11 +2059,11 @@ in modules // {
 
   cornice = buildPythonPackage rec {
     name = "cornice-${version}";
-    version = "0.17.0";
+    version = "1.2.1";
     src = pkgs.fetchgit {
       url = https://github.com/mozilla-services/cornice.git;
       rev = "refs/tags/${version}";
-      sha256 = "11xgf7mddq9gm3yag61zj8hj2kgsgabrnzwn2zpfj37xp1p0pky7";
+      sha256 = "0688vrkl324jmpi8jkjh1s8nsyjinw149g3x8qlis8vz6j6a01wv";
     };
 
     propagatedBuildInputs = with self; [ pyramid simplejson ];
@@ -2465,12 +2465,12 @@ in modules // {
   };
 
   bleach = buildPythonPackage rec {
-    version = "v1.4";
+    version = "v1.4.3";
     name = "bleach-${version}";
 
     src = pkgs.fetchurl {
       url = "http://github.com/jsocol/bleach/archive/${version}.tar.gz";
-      sha256 = "19v0zhvchz89w179rwkc4ah3cj2gbcng9alwa2yla89691g8b0b0";
+      sha256 = "0mk8780ilip0m890rapbckngw8k42gca3551kri297pyylr06l5m";
     };
 
     buildInputs = with self; [ nose ];
@@ -4313,11 +4313,11 @@ in modules // {
   };
 
   cffi = if isPyPy then null else buildPythonPackage rec {
-    name = "cffi-1.5.2";
+    name = "cffi-1.7.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/c/cffi/${name}.tar.gz";
-      sha256 = "1p91p1n8n46y0k3q7ddgxxjnfh08rjqsjh7zbjxzfiifhycxx6ys";
+      sha256 = "1pv0pf38h375r581zyckb1d2phcgkszsx2n6354g6qc3zmmdvmbf";
     };
 
     propagatedBuildInputs = with self; [ pkgs.libffi pycparser ];
@@ -6965,19 +6965,31 @@ in modules // {
     };
   };
 
-  lti = buildPythonPackage rec {
-    version = "0.4.0";
+  lti = let
+    self' = (self.override {self = self';}) // {pytest = self.pytest_27;};
+    mock_1_0_1 = self'.mock.overrideDerivation (_: rec {
+      name = "mock-1.0.1";
+      propagatedBuildInputs = null;
+      src = pkgs.fetchurl {
+        url = "http://pypi.python.org/packages/source/m/mock/${name}.tar.gz";
+        sha256 = "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq";
+      };
+    });
+  in buildPythonPackage rec {
+    version = "0.4.1";
     name = "PyLTI-${version}";
 
+    disabled = !isPy27;
+
     propagatedBuildInputs = with self; [ httplib2 oauth oauth2 semantic-version ];
-    buildInputs = with self; [
+    buildInputs = with self'; [
       flask httpretty oauthlib pyflakes pytest pytestcache pytestcov covCore
-      pytestflakes pytestpep8 sphinx mock
+      pytestflakes pytestpep8 sphinx mock_1_0_1
     ];
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/P/PyLTI/${name}.tar.gz";
-      sha256 = "1lkk6qx8yfx1h0rhi4abnd44x0wakggi6zs0nvi572lajf6ydmdh";
+      sha256 = "076llj10j85zw3zq2gygx2pcfqi9rgcld5m4vq1iai1fk15x60fz";
     };
 
     meta = {
@@ -7601,18 +7613,13 @@ in modules // {
   };
 
   pyramid = buildPythonPackage rec {
-    name = "pyramid-1.5.7";
+    name = "pyramid-1.7";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyramid/${name}.tar.gz";
-      sha256 = "1d29fj86724z68zcj9ximl2nrn34pflrlr6v9mwyhcv8rdf2sc61";
+      sha256 = "161qacv7qqln3q02kcqll0q2mmaypm701hn1llwdwnkaywkb3xi6";
     };
 
-    preCheck = ''
-      # this will be fixed for 1.6 release, see https://github.com/Pylons/pyramid/issues/1405
-      rm pyramid/tests/test_response.py
-    '';
-
     buildInputs = with self; [
       docutils
       virtualenv
@@ -7763,11 +7770,11 @@ in modules // {
 
   pyramid_multiauth = buildPythonPackage rec {
     name = "pyramid_multiauth-${version}";
-    version = "0.3.2";
+    version = "0.8.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyramid_multiauth/${name}.tar.gz";
-      sha256 = "c33f357e0a216cd6ef7d143d40d4679c9fb0796a1eabaf1249aeef63ed000828";
+      sha256 = "1lq292qakrm4ixi4vaif8dqywzj08pn6qy0wi4gw28blh39p0msk";
     };
 
     propagatedBuildInputs = with self; [ pyramid ];
@@ -11177,70 +11184,6 @@ in modules // {
     };
   };
 
-  inginious = let
-    # patched version of docker bindings.
-    docker-custom = self.docker.override {
-      name = "docker-1.3.0-dirty";
-      src = pkgs.fetchFromGitHub {
-        owner = "GuillaumeDerval";
-        repo = "docker-py";
-        # tip of branch "master"
-        rev = "966becd0af514e67de5afbf885257a5005e49626";
-        sha256 = "09k41dh86cbb7z4b8926fi5b2qq670mm6agl5py3giacakrap66c";
-      };
-    };
-
-    webpy-custom = self.web.override {
-      name = "web.py-INGI";
-      src = pkgs.fetchFromGitHub {
-        owner = "UCL-INGI";
-        repo = "webpy-INGI";
-        # tip of branch "ingi"
-        rev = "f487e78d65d6569eb70003e588d5c6ace54c384f";
-        sha256 = "159vwmb8554xk98rw380p3ah170r6gm861r1nqf2l452vvdfxscd";
-      };
-    };
-   in buildPythonPackage rec {
-    version = "0.3a2.dev0";
-    name = "inginious-${version}";
-
-    disabled = isPy3k;
-
-    patchPhase = ''
-      # transient failures
-      substituteInPlace inginious/backend/tests/TestRemoteAgent.py \
-        --replace "test_update_task_directory" "noop"
-    '';
-
-    propagatedBuildInputs = with self; [
-      requests2
-      cgroup-utils docker-custom docutils lti mock pygments
-      pymongo pyyaml rpyc sh simpleldap sphinx_rtd_theme tidylib
-      websocket_client watchdog webpy-custom
-    ];
-
-    buildInputs = with self; [ nose selenium virtual-display ];
-
-    /* Hydra fix exists only on github for now.
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/I/INGInious/INGInious-${version}.tar.gz";
-      md5 = "40474dd6b6d4fc26e47a1d9c77bcf943";
-    };
-    */
-    src = pkgs.fetchFromGitHub {
-      owner = "UCL-INGI";
-      repo = "INGInious";
-      rev = "e019a0e28c442b4201ec4a0be2a816c4ab639683";
-      sha256 = "1pwbm7f7xn50rxzwrqpji58n2ami5r3lgbdpb61q0w3dwkxvvvfk";
-    };
-
-    meta = {
-      description = "An intelligent grader that allows secured and automated testing of code made by students";
-      homepage = "https://github.com/UCL-INGI/INGInious";
-      license = licenses.agpl3;
-      maintainers = with maintainers; [ layus ];
-    };
-  };
 
   interruptingcow = buildPythonPackage rec {
     name = "interruptingcow-${version}";
@@ -16883,10 +16826,10 @@ in modules // {
 
   prompt_toolkit = buildPythonPackage rec {
     name = "prompt_toolkit-${version}";
-    version = "1.0.2";
+    version = "1.0.3";
 
     src = pkgs.fetchurl {
-      sha256 = "00cc0lr8hj3pgn2jy9z7b4hrrfj53axa8yfbyds86xqbsvw0w3jj";
+      sha256 = "18lbmmkyjf509klc3217lq0x863pfzix779zx5kp9lms1iph4pl0";
       url = "mirror://pypi/p/prompt_toolkit/${name}.tar.gz";
     };
     checkPhase = ''
@@ -21031,6 +20974,21 @@ in modules // {
     };
   };
 
+  Theano-cuda = callPackage ../development/python-modules/theano/cuda (
+  let
+    boost = pkgs.boost159.override {
+      inherit (self) python numpy scipy;
+    };
+  in rec {
+    cudatoolkit = pkgs.cudatoolkit75;
+    cudnn = pkgs.cudnn5_cudatoolkit75;
+    inherit (self) numpy scipy;
+    pycuda = self.pycuda.override { inherit boost; };
+    libgpuarray = self.libgpuarray-cuda.override {
+      clblas = pkgs.clblas-cuda.override { inherit boost; };
+    };
+  });
+
   tidylib = buildPythonPackage rec {
     version = "0.2.4";
     name = "pytidylib-${version}";
@@ -22037,16 +21995,18 @@ in modules // {
   };
 
   structlog = buildPythonPackage rec {
-    name = "structlog-15.3.0";
+    name = "structlog-16.1.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/structlog/${name}.tar.gz";
-      sha256 = "1h9qz4fsd7ph8rf80rqmlyj2q54xapgrmkpnyca01w1z8ww6f9w7";
+      sha256 = "00dywyg3bqlkrmbrfrql21hpjjjkc4zjd6xxjyxyd15brfnzlkdl";
     };
 
     buildInputs = with self; [ pytest pretend freezegun ];
+    propagatedBuildInputs = with self; [ simplejson ];
 
     checkPhase = ''
+      rm tests/test_twisted.py*
       py.test
     '';
 
@@ -24990,13 +24950,13 @@ in modules // {
 
 
   ujson = buildPythonPackage rec {
-    name = "ujson-1.33";
+    name = "ujson-1.35";
 
     disabled = isPyPy;
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/u/ujson/${name}.zip";
-      sha256 = "68cf825f227c82e1ac61e423cfcad923ff734c27b5bdd7174495d162c42c602b";
+      url = "mirror://pypi/u/ujson/${name}.tar.gz";
+      sha256 = "11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n";
     };
 
     meta = {
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index 343a3f47a4b..b352ec0fe64 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -1,5 +1,5 @@
 { supportedSystems
-, packageSet ? (import ./../..)
+, packageSet ? (import ../..)
 , allowTexliveBuilds ? false
 , scrubJobs ? true
 }:
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index cb21a660eb5..0fbd5e50d12 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -3,7 +3,7 @@
    $ hydra-eval-jobs pkgs/top-level/release-python.nix
 */
 
-{ nixpkgs ? { outPath = (import ./../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+{ nixpkgs ? { outPath = (import ../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
 , officialRelease ? false
 , # The platforms for which we build Nixpkgs.
   supportedSystems ? [ "x86_64-linux" ]
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 0ccb160e4f6..2774ff66f57 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -1,7 +1,7 @@
 /* A small release file, with few packages to be built.  The aim is to reduce
    the load on Hydra when testing the `stdenv-updates' branch. */
 
-{ nixpkgs ? { outPath = (import ./../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+{ nixpkgs ? { outPath = (import ../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
 , supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]
 }:
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index b596075a2ed..ba99fd5a037 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -9,7 +9,7 @@
    $ nix-build pkgs/top-level/release.nix -A coreutils.x86_64-linux
 */
 
-{ nixpkgs ? { outPath = (import ./../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
+{ nixpkgs ? { outPath = (import ../.. {}).lib.cleanSource ../..; revCount = 1234; shortRev = "abcdef"; }
 , officialRelease ? false
 , # The platforms for which we build Nixpkgs.
   supportedSystems ? [ "x86_64-linux" "i686-linux" "x86_64-darwin" ]
diff --git a/pkgs/top-level/stdenv.nix b/pkgs/top-level/stdenv.nix
index aeb36b8edc3..9b8cf5a0309 100644
--- a/pkgs/top-level/stdenv.nix
+++ b/pkgs/top-level/stdenv.nix
@@ -6,7 +6,7 @@ with super;
 rec {
   allStdenvs = import ../stdenv {
     inherit system platform config lib;
-    allPackages = args: import ./../.. ({ inherit config system; } // args);
+    allPackages = args: import ../.. ({ inherit config system; } // args);
   };
 
   defaultStdenv = allStdenvs.stdenv // { inherit platform; };
@@ -21,7 +21,7 @@ rec {
         in if changer != null then
           changer {
             # We import again all-packages to avoid recursivities.
-            pkgs = import ./../.. {
+            pkgs = import ../.. {
               # We remove packageOverrides to avoid recursivities
               config = removeAttrs config [ "replaceStdenv" ];
             };