summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/coding-conventions.xml25
-rw-r--r--doc/shell.md4
-rw-r--r--nixos/doc/manual/development/option-declarations.xml9
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/programs/ccache.nix83
-rw-r--r--nixos/modules/programs/rootston.nix88
-rw-r--r--nixos/modules/services/hardware/thinkfan.nix2
-rw-r--r--nixos/modules/services/misc/mbpfan.nix8
-rw-r--r--nixos/tests/virtualbox.nix3
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix4
-rw-r--r--pkgs/applications/misc/tint2/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/default.nix34
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch5
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix12
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh6
-rw-r--r--pkgs/data/misc/scowl/default.nix101
-rw-r--r--pkgs/development/compilers/openjdk/9.nix26
-rw-r--r--pkgs/development/interpreters/perl/default.nix12
-rw-r--r--pkgs/development/interpreters/perl/no-sys-dirs-5.26.patch250
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix4
-rw-r--r--pkgs/development/libraries/libmypaint/default.nix32
-rw-r--r--pkgs/development/libraries/libtoxcore/old-api.nix59
-rw-r--r--pkgs/development/libraries/openwsman/default.nix37
-rw-r--r--pkgs/development/libraries/physics/lhapdf/default.nix4
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix17
-rw-r--r--pkgs/development/libraries/physics/yoda/default.nix7
-rw-r--r--pkgs/development/libraries/sblim-sfcc/default.nix34
-rw-r--r--pkgs/development/libraries/wlroots/default.nix2
-rw-r--r--pkgs/development/libraries/wxwidgets/3.1/default.nix16
-rw-r--r--pkgs/development/python-modules/ansi/default.nix15
-rw-r--r--pkgs/development/python-modules/bitcoinlib/default.nix7
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix14
-rw-r--r--pkgs/development/python-modules/cherrypy/default.nix27
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix5
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix4
-rw-r--r--pkgs/development/python-modules/sip/default.nix4
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix8
-rw-r--r--pkgs/games/factorio/default.nix8
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix66
-rw-r--r--pkgs/misc/themes/elementary/default.nix28
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix9
-rw-r--r--pkgs/os-specific/linux/mwprocapture/linux_4_13_fix.patch12
-rw-r--r--pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch35
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/deps-1.5.0.nix (renamed from pkgs/servers/monitoring/telegraf/deps-1.4.4.nix)47
-rw-r--r--pkgs/tools/system/wsmancli/default.nix53
-rw-r--r--pkgs/top-level/all-packages.nix24
-rw-r--r--pkgs/top-level/perl-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix22
50 files changed, 967 insertions, 331 deletions
diff --git a/doc/coding-conventions.xml b/doc/coding-conventions.xml
index 765fc56c3bb3..d556c7ebe1ed 100644
--- a/doc/coding-conventions.xml
+++ b/doc/coding-conventions.xml
@@ -18,9 +18,9 @@
   tab settings so it’s asking for trouble.</para></listitem>
 
   <listitem><para>Use <literal>lowerCamelCase</literal> for variable
-  names, not <literal>UpperCamelCase</literal>.  TODO: naming of
-  attributes in
-  <filename>all-packages.nix</filename>?</para></listitem>
+  names, not <literal>UpperCamelCase</literal>.  Note, this rule does
+  not apply to package attribute names, which instead follow the rules
+  in <xref linkend="sec-package-naming"/>.</para></listitem>
 
   <listitem><para>Function calls with attribute set arguments are
   written as
@@ -220,9 +220,10 @@ args.stdenv.mkDerivation (args // {
 
   <listitem><para>The variable name used for the instantiated package
   in <filename>all-packages.nix</filename>, and when passing it as a
-  dependency to other functions.  This is what Nix expression authors
-  see.  It can also be used when installing using <command>nix-env
-  -iA</command>.</para></listitem>
+  dependency to other functions.  Typically this is called the
+  <emphasis>package attribute name</emphasis>.  This is what Nix
+  expression authors see.  It can also be used when installing using
+  <command>nix-env -iA</command>.</para></listitem>
 
   <listitem><para>The filename for (the directory containing) the Nix
   expression.</para></listitem>
@@ -259,12 +260,12 @@ bound to the variable name <varname>e2fsprogs</varname> in
   Also append <literal>"unstable"</literal> to the name - e.g.,
   <literal>"pkgname-unstable-2014-09-23"</literal>.</para></listitem>
 
-  <listitem><para>Dashes in the package name should be preserved
-  in new variable names, rather than converted to underscores
-  (which was convention up to around 2013 and most names
-   still have underscores instead of dashes) — e.g.,
-  <varname>http-parser</varname> instead of
-  <varname>http_parser</varname>.</para></listitem>
+  <listitem><para>Dashes in the package name should be preserved in
+  new variable names, rather than converted to underscores or camel
+  cased — e.g., <varname>http-parser</varname> instead of
+  <varname>http_parser</varname> or <varname>httpParser</varname>.  The
+  hyphenated style is preferred in all three package
+  names.</para></listitem>
 
   <listitem><para>If there are multiple versions of a package, this
   should be reflected in the variable names in
diff --git a/doc/shell.md b/doc/shell.md
index a4f999695cbc..079574d4ae86 100644
--- a/doc/shell.md
+++ b/doc/shell.md
@@ -1,10 +1,10 @@
 ---
-title: stdenv.mkShell
+title: pkgs.mkShell
 author: zimbatm
 date: 2017-10-30
 ---
 
-stdenv.mkShell is a special kind of derivation that is only useful when using
+pkgs.mkShell is a special kind of derivation that is only useful when using
 it combined with nix-shell. It will in fact fail to instantiate when invoked
 with nix-build.
 
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index be793152f9ef..ed718c89eb77 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -22,6 +22,15 @@ options = {
 };
 </programlisting>
 
+The attribute names within the <replaceable>name</replaceable>
+attribute path must be camel cased in general but should, as an
+exception, match the
+<link
+xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
+package attribute name</link> when referencing a Nixpkgs package. For
+example, the option <varname>services.nix-serve.bindAddress</varname>
+references the <varname>nix-serve</varname> Nixpkgs package.
+
 </para>
 
 <para>The function <varname>mkOption</varname> accepts the following arguments.
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 942a7371e88f..405dc3823d52 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -71,6 +71,7 @@
   ./programs/bcc.nix
   ./programs/blcr.nix
   ./programs/browserpass.nix
+  ./programs/ccache.nix
   ./programs/cdemu.nix
   ./programs/chromium.nix
   ./programs/command-not-found/command-not-found.nix
@@ -91,6 +92,7 @@
   ./programs/npm.nix
   ./programs/oblogout.nix
   ./programs/qt5ct.nix
+  ./programs/rootston.nix
   ./programs/screen.nix
   ./programs/slock.nix
   ./programs/shadow.nix
diff --git a/nixos/modules/programs/ccache.nix b/nixos/modules/programs/ccache.nix
new file mode 100644
index 000000000000..874774c72b47
--- /dev/null
+++ b/nixos/modules/programs/ccache.nix
@@ -0,0 +1,83 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.programs.ccache;
+in {
+  options.programs.ccache = {
+    # host configuration
+    enable = mkEnableOption "CCache";
+    cacheDir = mkOption {
+      type = types.path;
+      description = "CCache directory";
+      default = "/var/cache/ccache";
+    };
+    # target configuration
+    packageNames = mkOption {
+      type = types.listOf types.str;
+      description = "Nix top-level packages to be compiled using CCache";
+      default = [];
+      example = [ "wxGTK30" "qt48" "ffmpeg_3_3" "libav_all" ];
+    };
+  };
+
+  config = mkMerge [
+    # host configuration
+    (mkIf cfg.enable {
+      systemd.tmpfiles.rules = [ "d ${cfg.cacheDir} 0770 root nixbld -" ];
+
+      # "nix-ccache --show-stats" and "nix-ccache --clear"
+      security.wrappers.nix-ccache = {
+        group = "nixbld";
+        setgid = true;
+        source = pkgs.writeScript "nix-ccache.pl" ''
+          #!${pkgs.perl}/bin/perl
+
+          %ENV=( CCACHE_DIR => '${cfg.cacheDir}' );
+          sub untaint {
+            my $v = shift;
+            return '-C' if $v eq '-C' || $v eq '--clear';
+            return '-V' if $v eq '-V' || $v eq '--version';
+            return '-s' if $v eq '-s' || $v eq '--show-stats';
+            return '-z' if $v eq '-z' || $v eq '--zero-stats';
+            exec('${pkgs.ccache}/bin/ccache', '-h');
+          }
+          exec('${pkgs.ccache}/bin/ccache', map { untaint $_ } @ARGV);
+        '';
+      };
+    })
+
+    # target configuration
+    (mkIf (cfg.packageNames != []) {
+      nixpkgs.overlays = [
+        (self: super: genAttrs cfg.packageNames (pn: super.${pn}.override { stdenv = builtins.trace "with ccache: ${pn}" self.ccacheStdenv; }))
+
+        (self: super: {
+          ccacheWrapper = super.ccacheWrapper.override {
+            extraConfig = ''
+              export CCACHE_COMPRESS=1
+              export CCACHE_DIR="${cfg.cacheDir}"
+              export CCACHE_UMASK=007
+              if [ ! -d "$CCACHE_DIR" ]; then
+                echo "====="
+                echo "Directory '$CCACHE_DIR' does not exist"
+                echo "Please create it with:"
+                echo "  sudo mkdir -m0770 '$CCACHE_DIR'"
+                echo "  sudo chown root:nixbld '$CCACHE_DIR'"
+                echo "====="
+                exit 1
+              fi
+              if [ ! -w "$CCACHE_DIR" ]; then
+                echo "====="
+                echo "Directory '$CCACHE_DIR' is not accessible for user $(whoami)"
+                echo "Please verify its access permissions"
+                echo "====="
+                exit 1
+              fi
+            '';
+          };
+        })
+      ];
+    })
+  ];
+}
\ No newline at end of file
diff --git a/nixos/modules/programs/rootston.nix b/nixos/modules/programs/rootston.nix
new file mode 100644
index 000000000000..a8fe2b22be57
--- /dev/null
+++ b/nixos/modules/programs/rootston.nix
@@ -0,0 +1,88 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.rootston;
+
+  rootstonWrapped = pkgs.writeScriptBin "rootston" ''
+    #! ${pkgs.stdenv.shell}
+    if [[ "$#" -ge 1 ]]; then
+      exec ${pkgs.rootston}/bin/rootston "$@"
+    else
+      exec ${pkgs.rootston}/bin/rootston -C ${cfg.configFile}
+    fi
+  '';
+in {
+  options.programs.rootston = {
+    enable = mkEnableOption ''
+      rootston, the reference compositor for wlroots. The purpose of rootston
+      is to test and demonstrate the features of wlroots (if you want a real
+      Wayland compositor you should e.g. use Sway instead). You can manually
+      start the compositor by running "rootston" from a terminal'';
+
+    extraPackages = mkOption {
+      type = with types; listOf package;
+      default = with pkgs; [
+        xwayland rxvt_unicode dmenu
+      ];
+      defaultText = literalExample ''
+        with pkgs; [
+          xwayland dmenu rxvt_unicode
+        ]
+      '';
+      example = literalExample "[ ]";
+      description = ''
+        Extra packages to be installed system wide.
+      '';
+    };
+
+    config = mkOption {
+      type = types.str;
+      default = ''
+        [keyboard]
+        meta-key = Logo
+
+        # Sway/i3 like Keybindings
+        # Maps key combinations with commands to execute
+        # Commands include:
+        # - "exit" to stop the compositor
+        # - "exec" to execute a shell command
+        # - "close" to close the current view
+        # - "next_window" to cycle through windows
+        [bindings]
+        Logo+Shift+e = exit
+        Logo+q = close
+        Logo+m = maximize
+        Alt+Tab = next_window
+        Logo+Return = exec urxvt
+        # Note: Dmenu will only work properly while e.g. urxvt is running.
+        Logo+d = exec dmenu_run
+      '';
+      description = ''
+        Default configuration for rootston (used when called without any
+        parameters).
+      '';
+    };
+
+    configFile = mkOption {
+      type = types.path;
+      default = "/etc/rootston.ini";
+      example = literalExample "${pkgs.rootston}/etc/rootston.ini";
+      description = ''
+        Path to the default rootston configuration file (the "config" option
+        will have no effect if you change the path).
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.etc."rootston.ini".text = cfg.config;
+    environment.systemPackages = [ rootstonWrapped ] ++ cfg.extraPackages;
+
+    hardware.opengl.enable = mkDefault true;
+    fonts.enableDefaultFonts = mkDefault true;
+  };
+
+  meta.maintainers = with lib.maintainers; [ primeos ];
+}
diff --git a/nixos/modules/services/hardware/thinkfan.nix b/nixos/modules/services/hardware/thinkfan.nix
index 018e82e58a3d..5a898631e090 100644
--- a/nixos/modules/services/hardware/thinkfan.nix
+++ b/nixos/modules/services/hardware/thinkfan.nix
@@ -55,7 +55,7 @@ in {
       enable = mkOption {
         default = false;
         description = ''
-          Whether to enable thinkfan, fan controller for ibm/lenovo thinkpads.
+          Whether to enable thinkfan, fan controller for IBM/Lenovo ThinkPads.
         '';
       };
 
diff --git a/nixos/modules/services/misc/mbpfan.nix b/nixos/modules/services/misc/mbpfan.nix
index 972d8b572d36..50f6f80ad00c 100644
--- a/nixos/modules/services/misc/mbpfan.nix
+++ b/nixos/modules/services/misc/mbpfan.nix
@@ -8,13 +8,7 @@ let
 
 in {
   options.services.mbpfan = {
-    enable = mkOption {
-      default = false;
-      type = types.bool;
-      description = ''
-        Whether to enable the mbpfan daemon.
-      '';
-    };
+    enable = mkEnableOption "mbpfan, fan controller daemon for Apple Macs and MacBooks";
 
     package = mkOption {
       type = types.package;
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index c519d7dae8be..5574293ba377 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -109,9 +109,6 @@ let
   } ''
     ${pkgs.parted}/sbin/parted --script /dev/vda mklabel msdos
     ${pkgs.parted}/sbin/parted --script /dev/vda -- mkpart primary ext2 1M -1s
-    . /sys/class/block/vda1/uevent
-    mknod /dev/vda1 b $MAJOR $MINOR
-
     ${pkgs.e2fsprogs}/sbin/mkfs.ext4 /dev/vda1
     ${pkgs.e2fsprogs}/sbin/tune2fs -c 0 -i 0 /dev/vda1
     mkdir /mnt
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index ff87b70a0c1e..a2cbffd5d217 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
 , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
 , webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
-, python2Packages, libart_lgpl, libexif, gettext, xorg
+, python2Packages, libexif, gettext, xorg
 , AppKit, Cocoa, gtk-mac-integration }:
 
 let
@@ -25,7 +25,7 @@ in stdenv.mkDerivation rec {
     [ pkgconfig intltool babl gegl gtk2 glib gdk_pixbuf pango cairo
       freetype fontconfig lcms libpng libjpeg poppler libtiff webkit
       libmng librsvg libwmf zlib libzip ghostscript aalib jasper
-      python pygtk libart_lgpl libexif gettext xorg.libXpm
+      python pygtk libexif gettext xorg.libXpm
       wrapPython
     ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ];
diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix
index 2c23ab9261f6..2bd8b07e4995 100644
--- a/pkgs/applications/misc/tint2/default.nix
+++ b/pkgs/applications/misc/tint2/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "tint2-${version}";
-  version = "15.3";
+  version = "16.0";
 
   src = fetchFromGitLab {
     owner = "o9000";
     repo = "tint2";
     rev = version;
-    sha256 = "1d83ppwckc2yix1grw8w31rlkyz6naa40pd3dg7n6nidx00zwn91";
+    sha256 = "04h32f9yybxb2v6bwmlyjzr8gg8jv4iidhpwaq3zhg44iz2b75j0";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/instant-messengers/ratox/default.nix b/pkgs/applications/networking/instant-messengers/ratox/default.nix
index 053e8a9c9739..5d004db60e3a 100644
--- a/pkgs/applications/networking/instant-messengers/ratox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ratox/default.nix
@@ -1,28 +1,34 @@
-{ stdenv, fetchurl, libtoxcore
+{ stdenv, fetchgit, libtoxcore
 , conf ? null }:
 
 with stdenv.lib;
 
+let
+  configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
+in
+
 stdenv.mkDerivation rec {
-  name = "ratox-0.2.1";
+  name = "ratox-0.4";
 
-  src = fetchurl {
-    url = "http://git.2f30.org/ratox/snapshot/${name}.tar.gz";
-    sha256 = "0xnw3zcz9frmcxqhwg38hhnsy1g5xl9yc19nl0vwi5awz8wqqy19";
+  src = fetchgit {
+    url = "git://git.2f30.org/ratox.git";
+    rev = "0db821b7bd566f6cfdc0cc5a7bbcc3e5e92adb4c";
+    sha256 = "0wmf8hydbcq4bkpsld9vnqw4zfzf3f04vhgwy17nd4p5p389fbl5";
   };
 
+  patches = [ ./ldlibs.patch ];
+
   buildInputs = [ libtoxcore ];
 
-  configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf);
   preConfigure = optionalString (conf!=null) "cp ${configFile} config.def.h";
 
-  preBuild = "makeFlags=PREFIX=$out";
+  makeFlags = [ "PREFIX=$(out)" ];
 
-  meta =
-    { description = "FIFO based tox client";
-      homepage = http://ratox.2f30.org/;
-      license = licenses.isc;
-      maintainers = with maintainers; [ ehmry ];
-      platforms = platforms.linux;
-    };
+  meta = {
+    description = "FIFO based tox client";
+    homepage = http://ratox.2f30.org/;
+    license = licenses.isc;
+    maintainers = with maintainers; [ ehmry ];
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch b/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
new file mode 100644
index 000000000000..1406e7143107
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/ratox/ldlibs.patch
@@ -0,0 +1,5 @@
+--- a/config.mk
++++ b/config.mk
+@@ -13 +13 @@ LDFLAGS  = -L/usr/local/lib
+-LDLIBS   = -ltoxcore -ltoxav -ltoxencryptsave -lsodium -lopus -lvpx -lm -lpthread
++LDLIBS   = -ltoxcore -ltoxav -ltoxencryptsave -lm -lpthread
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index f99338fb406d..d46702d6205b 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -20,10 +20,11 @@ let
   python = python2;
   buildType = "release";
   # Manually sha256sum the extensionPack file, must be hex!
-  extpack = "9328548ca8cbc526232c0631cb5a17618c771b07665b362c1e3d89a2425bf799";
-  extpackRev = "119230";
-  main = "05y03fcp013gc500q34bj6hvx1banib41v8l3hcxknzfgwq0rarm";
-  version = "5.2.2";
+  # Do not forget to update the hash in ./guest-additions/default.nix!
+  extpack = "98e9df4f23212c3de827af9d770b391cf2dba8d21f4de597145512c1479302cd";
+  extpackRev = "119785";
+  main = "053xpf0kxrig4jq5djfz9drhkxy1x5a4p9qvgxc0b3hnk6yn1869";
+  version = "5.2.4";
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
   extensionPack = requireFile rec {
@@ -205,8 +206,9 @@ in stdenv.mkDerivation {
 
   meta = {
     description = "PC emulator";
+    license = licenses.gpl2;
     homepage = http://www.virtualbox.org/;
-    maintainers = [ lib.maintainers.sander ];
+    maintainers = with maintainers; [ flokli sander ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 0aa0423fc13a..409187a99fbd 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "1f0vm20qdjxqsbciwgybxqqpn609gj5dy68an8lpi1wlk93s05w3";
+    sha256 = "0qhsr6vc48ld2p9q3a6n6rfg57rsn163axr3r1m2yqr2snr4pnk0";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 8ed30b37fc7f..c386a3f3489f 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -22,11 +22,7 @@ if test -z "$LC_ALL"; then
     export LC_ALL="en_US.UTF-8"
 fi;
 
-# Pipe the "p" character into Subversion to force it to accept the
-# server's certificate.  This is perfectly safe: we don't care
-# whether the server is being spoofed --- only the cryptographic
-# hash of the output matters. Pass in extra p's to handle redirects.
-printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive \
+svn export --trust-server-cert --non-interactive \
     ${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \
     -r "$rev" "$url" "$out"
 
diff --git a/pkgs/data/misc/scowl/default.nix b/pkgs/data/misc/scowl/default.nix
new file mode 100644
index 000000000000..2769ed1a166a
--- /dev/null
+++ b/pkgs/data/misc/scowl/default.nix
@@ -0,0 +1,101 @@
+{stdenv, fetchFromGitHub, unzip, zip, perl, aspell, dos2unix}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "scowl";
+  version = "2017.08.24";
+
+  src = fetchFromGitHub {
+    owner = "en-wl";
+    repo = "wordlist";
+    rev = "rel-${version}";
+    sha256 = "16mgk6scbw8i38g63kh60bsnzgzfs8gvvz2n5jh4x5didbwly8nz";
+  };
+
+  buildInputs = [];
+  nativeBuildInputs = [unzip zip perl aspell dos2unix];
+
+  NIX_CFLAGS_COMPILE = " -Wno-narrowing ";
+
+  preConfigure = ''
+    patchShebangs .
+    export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$PWD/varcon"
+  '';
+
+  postBuild = ''
+    (
+    cd scowl/speller
+    make aspell
+    make hunspell
+    )
+  '';
+
+  enableParallelBuilding = false;
+
+  installPhase = ''
+    eval "$preInstall"
+
+    mkdir -p "$out/share/scowl" 
+    mkdir -p "$out/lib" "$out/share/hunspell" "$out/share/myspell" 
+    mkdir -p "$out/share/dict"
+
+    cp -r scowl/speller/aspell "$out/lib/aspell"
+    cp scowl/speller/*.{aff,dic} "$out/share/hunspell"
+    ln -s "$out/share/hunspell" "$out/share/myspell/dicts"
+
+    cp scowl/final/* "$out/share/scowl"
+
+    (
+      cd scowl
+      for region in american british british_s british_z canadian australian; do
+        case $region in
+          american)
+            regcode=en-us;
+            ;;
+          british)
+            regcode=en-gb-ise;
+            ;;
+          british_s)
+            regcode=en-gb-ise;
+            ;;
+          british_z)
+            regcode=en-gb-ize;
+            ;;
+          canadian)
+            regcode=en-ca;
+            ;;
+          australian)
+            regcode=en-au;
+            ;;
+        esac
+        regcode_var="$regcode"
+        if test "$region" = british; then
+          regcode_var="en-gb"
+        fi
+
+        echo $region $regcode $regcode_sz
+        for s in 10 20 30 35 40 50 55 60 70 80 90; do
+          ./mk-list $regcode $s > "$out/share/dict/w$region.$s"
+          ./mk-list --variants=1 $regcode_var $s > "$out/share/dict/w$region.variants.$s"
+          ./mk-list --variants=2 $regcode_var $s > "$out/share/dict/w$region.acceptable.$s"
+        done
+        ./mk-list $regcode 60 > "$out/share/dict/w$region.txt"
+        ./mk-list --variants=1 $regcode_var 60 > "$out/share/dict/w$region.variants.txt"
+        ./mk-list --variants=2 $regcode_var 80 > "$out/share/dict/w$region.scrabble.txt"
+      done
+      ./mk-list --variants=1 en-gb 60 > "$out/share/dict/words.variants.txt"
+      ./mk-list --variants=1 en-gb 80 > "$out/share/dict/words.scrabble.txt"
+      ./mk-list en-gb-ise 60 > "$out/share/dict/words.txt"
+    )
+
+    eval "$postInstall"
+  '';
+
+  meta = {
+    inherit version;
+    description = "Spell checker oriented word lists";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.unix;
+    homepage = "http://wordlist.aspell.net/";
+  };
+}
diff --git a/pkgs/development/compilers/openjdk/9.nix b/pkgs/development/compilers/openjdk/9.nix
index 8697712de988..f76d1e8ffb5c 100644
--- a/pkgs/development/compilers/openjdk/9.nix
+++ b/pkgs/development/compilers/openjdk/9.nix
@@ -21,45 +21,45 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "";
-  build = "181";
-  baseurl = "http://hg.openjdk.java.net/jdk9/jdk9";
-  repover = "jdk-9${update}+${build}";
+  update = "9.0.1";
+  build = "11";
+  baseurl = "http://hg.openjdk.java.net/jdk-updates/jdk9u";
+  repover = "jdk-${update}+${build}";
   paxflags = if stdenv.isi686 then "msp" else "m";
   jdk9 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "0c7jwz4qvl93brs6c2v4dfc2v3lsv6ic0y72lkh04bnxg9343z82";
+             sha256 = "13zqai3kpk5yi7yg3f7n2ss8spzyq0zy9431y97ni0j72h8ddsvy";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "1wa5rjan6lcs8nnxndbwpw6gkx3qbw013s6zisjjczkcaiq044pp";
+             sha256 = "1w2djchv3dr8hv815kxfi1458n1nbq23yzv4p8rxpl1fzxrcd5pm";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "00jnj19rim1gxpsxrpr8ifx1glwrbma3qjiy1ya7n5f08fb263hs";
+             sha256 = "1kb4h9w0xbxvndi5rk3byv3v95883nkqdzjadbw1cvqvzp3kgaw8";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "1gvx6dblzj7rb8648iqwdiv36x97ibykgs323dd9044n3vbqihvj";
+             sha256 = "0hqzmlg6dmr67ghrlh515iam34d9jx4jcdbhchbl2ny00q42diy2";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "15pwdw6s03rfyw2gx06xg4f70bjl8j19ycssxiigj39h524xc9aw";
+             sha256 = "0km0k9hi8wfv2d10i08jgb4kf0l8jhp1174dsmmc9yh0ig1vij08";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "0jz32pjbgr77ybb2v1vwr1n9ljdrc3y0d5lrj072g3is1hmn2wbh";
+             sha256 = "1crsr3hcq4j0xbmn1jcsw0m6hxqqkxxsib86i63vvcha94336iyp";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "1jdxr9hcqx6va56ll5s2x9bx9dnlrs7zyvhjk1zgr5hxg5yfcqzr";
+             sha256 = "1w9i1zl72nq7aw9l50fc7dlggiy7iq52p8xh44hv50mdvn0xsa4k";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "12lihmw9ga6yhz0h26fvfablcjkkma0k3idjggmap97xha8zgd6n";
+             sha256 = "0rm50mk6935iqx2rla6j8j8kjs0p4f7rff0wsp0qvbf6g0pwwks1";
           };
   openjdk9 = stdenv.mkDerivation {
-    name = "openjdk-9${update}-b${build}";
+    name = "openjdk-${update}-b${build}";
 
     srcs = [ jdk9 langtools hotspot corba jdk jaxws jaxp nashorn ];
     sourceRoot = ".";
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 7b0ecee1922d..62c63ef6c5c3 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -32,9 +32,10 @@ let
     setOutputFlags = false;
 
     patches =
-      [ # Do not look in /usr etc. for dependencies.
-        ./no-sys-dirs.patch
-      ]
+      [ ]
+      # Do not look in /usr etc. for dependencies.
+      ++ optional (versionOlder version "5.26") ./no-sys-dirs.patch
+      ++ optional (versionAtLeast version "5.26") ./no-sys-dirs-5.26.patch
       ++ optional (versionAtLeast version "5.24") (
         # Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
         fetchurlBoot {
@@ -133,4 +134,9 @@ in rec {
     version = "5.24.3";
     sha256 = "1m2px85kq2fyp2d4rx3bw9kg3car67qfqwrs5vlv96dx0x8rl06b";
   };
+
+  perl526 = common {
+    version = "5.26.1";
+    sha256 = "1p81wwvr5jb81m41d07kfywk5gvbk0axdrnvhc2aghcdbr4alqz7";
+  };
 }
diff --git a/pkgs/development/interpreters/perl/no-sys-dirs-5.26.patch b/pkgs/development/interpreters/perl/no-sys-dirs-5.26.patch
new file mode 100644
index 000000000000..ad65d1339f36
--- /dev/null
+++ b/pkgs/development/interpreters/perl/no-sys-dirs-5.26.patch
@@ -0,0 +1,250 @@
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
+--- perl-5.20.0-orig/Configure	2014-05-26 15:34:18.000000000 +0200
++++ perl-5.20.0/Configure	2014-06-25 10:43:35.368285986 +0200
+@@ -106,15 +106,7 @@
+ fi
+ 
+ : Proper PATH setting
+-paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
+-paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
+-paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
+-paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
+-paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
+-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
+-paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
+-paths="$paths /sbin /usr/sbin /usr/libexec"
+-paths="$paths /system/gnu_library/bin"
++paths=''
+ 
+ for p in $paths
+ do
+@@ -1337,8 +1329,7 @@
+ archname=''
+ : Possible local include directories to search.
+ : Set locincpth to "" in a hint file to defeat local include searches.
+-locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
+-locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
++locincpth=""
+ :
+ : no include file wanted by default
+ inclwanted=''
+@@ -1349,17 +1340,12 @@
+ 
+ libnames=''
+ : change the next line if compiling for Xenix/286 on Xenix/386
+-xlibpth='/usr/lib/386 /lib/386'
++xlibpth=''
+ : Possible local library directories to search.
+-loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
+-loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
++loclibpth=""
+ 
+ : general looking path for locating libraries
+-glibpth="/lib /usr/lib $xlibpth"
+-glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+-test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
+-test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
+-test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
++glibpth=""
+ 
+ : Private path used by Configure to find libraries.  Its value
+ : is prepended to libpth. This variable takes care of special
+@@ -1391,8 +1377,6 @@
+ libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
+ : We probably want to search /usr/shlib before most other libraries.
+ : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
+-glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
+-glibpth="/usr/shlib $glibpth"
+ : Do not use vfork unless overridden by a hint file.
+ usevfork=false
+ 
+@@ -2446,7 +2430,6 @@
+ zip
+ "
+ pth=`echo $PATH | sed -e "s/$p_/ /g"`
+-pth="$pth $sysroot/lib $sysroot/usr/lib"
+ for file in $loclist; do
+ 	eval xxx=\$$file
+ 	case "$xxx" in
+@@ -4936,7 +4919,7 @@
+ : Set private lib path
+ case "$plibpth" in
+ '') if ./mips; then
+-	plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
++	plibpth="$incpath/usr/lib"
+     fi;;
+ esac
+ case "$libpth" in
+@@ -8600,13 +8583,8 @@
+ echo " "
+ case "$sysman" in
+ '')
+-	syspath='/usr/share/man/man1 /usr/man/man1'
+-	syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
+-	syspath="$syspath /usr/man/u_man/man1"
+-	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
+-	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
+-	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
+-	sysman=`./loc . /usr/man/man1 $syspath`
++	syspath=''
++	sysman=''
+ 	;;
+ esac
+ if $test -d "$sysman"; then
+@@ -19900,9 +19878,10 @@
+ case "$full_ar" in
+ '') full_ar=$ar ;;
+ esac
++full_ar=ar
+ 
+ : Store the full pathname to the sed program for use in the C program
+-full_sed=$sed
++full_sed=sed
+ 
+ : see what type gids are declared as in the kernel
+ echo " "
+Only in perl-5.20.0/: Configure.orig
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
+--- perl-5.20.0-orig/ext/Errno/Errno_pm.PL	2014-05-26 15:34:20.000000000 +0200
++++ perl-5.20.0/ext/Errno/Errno_pm.PL	2014-06-25 10:31:24.317970047 +0200
+@@ -126,11 +126,7 @@
+ 	if ($dep =~ /(\S+errno\.h)/) {
+ 	     $file{$1} = 1;
+ 	}
+-    } elsif ($^O eq 'linux' &&
+-	      $Config{gccversion} ne '' && 
+-	      $Config{gccversion} !~ /intel/i
+-	      # might be using, say, Intel's icc
+-	     ) {
++    } elsif (0) {
+     # When cross-compiling we may store a path for gcc's "sysroot" option:
+     my $sysroot = $Config{sysroot} || '';
+ 	# Some Linuxes have weird errno.hs which generate
+Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
+--- perl-5.20.0-orig/hints/freebsd.sh	2014-01-31 22:55:51.000000000 +0100
++++ perl-5.20.0/hints/freebsd.sh	2014-06-25 10:25:53.263964680 +0200
+@@ -119,21 +119,21 @@
+         objformat=`/usr/bin/objformat`
+         if [ x$objformat = xaout ]; then
+             if [ -e /usr/lib/aout ]; then
+-                libpth="/usr/lib/aout /usr/local/lib /usr/lib"
+-                glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
++                libpth=""
++                glibpth=""
+             fi
+             lddlflags='-Bshareable'
+         else
+-            libpth="/usr/lib /usr/local/lib"
+-            glibpth="/usr/lib /usr/local/lib"
++            libpth=""
++            glibpth=""
+             ldflags="-Wl,-E "
+             lddlflags="-shared "
+         fi
+         cccdlflags='-DPIC -fPIC'
+         ;;
+ *)
+-       libpth="/usr/lib /usr/local/lib"
+-       glibpth="/usr/lib /usr/local/lib"
++       libpth=""
++       glibpth=""
+        ldflags="-Wl,-E "
+         lddlflags="-shared "
+         cccdlflags='-DPIC -fPIC'
+diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
+--- perl-5.20.0-orig/hints/linux.sh	2014-05-26 15:34:20.000000000 +0200
++++ perl-5.20.0/hints/linux.sh	2014-06-25 10:33:47.354883843 +0200
+@@ -150,25 +150,6 @@
+     ;;
+ esac
+ 
+-# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
+-# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
+-# where to look.  We don't want gcc's own libraries, however, so we
+-# filter those out.
+-# This could be conditional on Unbuntu, but other distributions may
+-# follow suit, and this scheme seems to work even on rather old gcc's.
+-# This unconditionally uses gcc because even if the user is using another
+-# compiler, we still need to find the math library and friends, and I don't
+-# know how other compilers will cope with that situation.
+-# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
+-# we don't want its libraries. So we try to prefer the system gcc
+-# Still, as an escape hatch, allow Configure command line overrides to
+-# plibpth to bypass this check.
+-if [ -x /usr/bin/gcc ] ; then
+-    gcc=/usr/bin/gcc
+-else
+-    gcc=gcc
+-fi
+-
+ case "$plibpth" in
+ '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
+ 	cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
+@@ -178,32 +159,6 @@
+     ;;
+ esac
+ 
+-case "$libc" in
+-'')
+-# If you have glibc, then report the version for ./myconfig bug reporting.
+-# (Configure doesn't need to know the specific version since it just uses
+-# gcc to load the library for all tests.)
+-# We don't use __GLIBC__ and  __GLIBC_MINOR__ because they
+-# are insufficiently precise to distinguish things like
+-# libc-2.0.6 and libc-2.0.7.
+-    for p in $plibpth
+-    do
+-        for trylib in libc.so.6 libc.so
+-        do
+-            if $test -e $p/$trylib; then
+-                libc=`ls -l $p/$trylib | awk '{print $NF}'`
+-                if $test "X$libc" != X; then
+-                    break
+-                fi
+-            fi
+-        done
+-        if $test "X$libc" != X; then
+-            break
+-        fi
+-    done
+-    ;;
+-esac
+-
+ if ${sh:-/bin/sh} -c exit; then
+   echo ''
+   echo 'You appear to have a working bash.  Good.'
+@@ -367,33 +322,6 @@
+ 	;;
+ esac
+ 
+-# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
+-# true libraries. The scripts cause binding against static
+-# version of -lgdbm which is a bad idea. So if we have 'nm'
+-# make sure it can read the file
+-# NI-S 2003/08/07
+-case "$nm" in
+-    '') ;;
+-    *)
+-    for p in $plibpth
+-    do
+-        if $test -r $p/libndbm.so; then
+-            if $nm $p/libndbm.so >/dev/null 2>&1 ; then
+-                echo 'Your shared -lndbm seems to be a real library.'
+-                _libndbm_real=1
+-                break
+-            fi
+-        fi
+-    done
+-    if $test "X$_libndbm_real" = X; then
+-        echo 'Your shared -lndbm is not a real library.'
+-        set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
+-        shift
+-        libswanted="$*"
+-    fi
+-    ;;
+-esac
+-
+ # Linux on Synology.
+ if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
+     # Tested on Synology DS213 and DS413
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index 60e43f838b71..158707557a52 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -20,10 +20,12 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   buildInputs = [
-    babl libpng cairo libjpeg librsvg pango gtk bzip2 json_glib
+    libpng cairo libjpeg librsvg pango gtk bzip2
     libraw libwebp gnome3.gexiv2
   ];
 
+  propagatedBuildInputs = [ glib json_glib babl ]; # for gegl-3.0.pc
+
   nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
 
   meta = {
diff --git a/pkgs/development/libraries/libmypaint/default.nix b/pkgs/development/libraries/libmypaint/default.nix
new file mode 100644
index 000000000000..0583d94ef7f4
--- /dev/null
+++ b/pkgs/development/libraries/libmypaint/default.nix
@@ -0,0 +1,32 @@
+{stdenv, autoconf, automake, fetchFromGitHub, glib, intltool, json_c, libtool, pkgconfig}:
+
+let
+  version = "1.3.0";
+in stdenv.mkDerivation rec {
+  name = "libmypaint-${version}";
+
+  src = fetchFromGitHub {
+    owner = "mypaint";
+    repo = "libmypaint";
+    rev = "v${version}";
+    sha256 = "0b7aynr6ggigwhjkfzi8x3dwz15blj4grkg9hysbgjh6lvzpy9jc";
+  };
+
+  nativeBuildInputs = [ autoconf automake intltool libtool pkgconfig ];
+
+  buildInputs = [ glib ];
+
+  propagatedBuildInputs = [ json_c ]; # for libmypaint.pc
+
+  doCheck = true;
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    homepage = http://mypaint.org/;
+    description = "Library for making brushstrokes which is used by MyPaint and other projects";
+    license = licenses.isc;
+    maintainers = with maintainers; [ goibhniu jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libtoxcore/old-api.nix b/pkgs/development/libraries/libtoxcore/old-api.nix
deleted file mode 100644
index 5757e94559a8..000000000000
--- a/pkgs/development/libraries/libtoxcore/old-api.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, libsodium, ncurses, libopus
-, libvpx, check, libconfig, pkgconfig }:
-
-let
-  version = "4c220e336330213b151a0c20307d0a1fce04ac9e";
-  date = "20150126";
-
-in stdenv.mkDerivation rec {
-  name = "tox-core-old-${date}-${builtins.substring 0 7 version}";
-
-  src = fetchFromGitHub {
-    owner  = "irungentoo";
-    repo   = "toxcore";
-    rev    = version;
-    sha256 = "152yamak9ykl8dgkx1qzyrpa3f4xr1s8lgcb5k58r9lb1iwnhvqc";
-  };
-
-  NIX_LDFLAGS = "-lgcc_s";
-
-  postPatch = ''
-    # within Nix chroot builds, localhost is unresolvable
-    sed -i -e '/DEFTESTCASE(addr_resolv_localhost)/d' \
-      auto_tests/network_test.c
-    # takes WAAAY too long (~10 minutes) and would timeout
-    sed -i -e '/DEFTESTCASE[^(]*(many_clients\>/d' \
-      auto_tests/tox_test.c
-  '';
-
-  configureFlags = [
-    "--with-libsodium-headers=${libsodium.dev}/include"
-    "--with-libsodium-libs=${libsodium.out}/lib"
-    "--enable-ntox"
-    "--enable-daemon"
-  ];
-
-  buildInputs = [
-    autoreconfHook libsodium ncurses
-    check libconfig pkgconfig
-  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
-    libopus
-  ];
-
-  propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
-
-  # Some tests fail randomly due to timeout. This kind of problem is well known
-  # by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}
-  # They don't recommend running tests on 50core machines with other cpu-bound
-  # tests running in parallel.
-  #
-  # NOTE: run the tests locally on your machine before upgrading this package!
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ viric jgeerds ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/openwsman/default.nix b/pkgs/development/libraries/openwsman/default.nix
index b179ca8803c1..df2c23266c50 100644
--- a/pkgs/development/libraries/openwsman/default.nix
+++ b/pkgs/development/libraries/openwsman/default.nix
@@ -1,16 +1,20 @@
-{ fetchurl, stdenv, autoconf, automake, libtool, pkgconfig, libxml2, curl, cmake, pam, sblim-sfcc }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, curl, libxml2, pam, sblim-sfcc }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.0";
   name = "openwsman-${version}";
+  version = "2.6.5";
 
-  src = fetchurl {
-    url = "https://github.com/Openwsman/openwsman/archive/v${version}.tar.gz";
-    sha256 = "0gw2dsjxzpchg3s85kplwgp9xhd9l7q4fh37iy7r203pvir4k6s4";
+  src = fetchFromGitHub {
+    owner  = "Openwsman";
+    repo   = "openwsman";
+    rev    = "v${version}";
+    sha256 = "1r0zslgpcr4m20car4s3hsccy10xcb39qhpw3dhpjv42xsvvs5xv";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake libtool libxml2 curl cmake pam sblim-sfcc ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ curl libxml2 pam sblim-sfcc ];
 
   cmakeFlags = [
     "-DCMAKE_BUILD_RUBY_GEM=no"
@@ -22,18 +26,13 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--disable-more-warnings";
 
-  meta = {
-    description = "Openwsman server implementation and client api with bindings";
-
-    homepage = https://github.com/Openwsman/openwsman;
-    downloadPage = "https://github.com/Openwsman/openwsman/releases";
-
-    maintainers = [ stdenv.lib.maintainers.deepfire ];
-
-    license = stdenv.lib.licenses.bsd3;
-
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-
+  meta = with stdenv.lib; {
+    description  = "Openwsman server implementation and client API with bindings";
+    downloadPage = https://github.com/Openwsman/openwsman/releases;
+    homepage     = https://openwsman.github.io;
+    license      = licenses.bsd3;
+    maintainers  = with maintainers; [ deepfire ];
+    platforms    = platforms.unix;
     inherit version;
   };
 }
diff --git a/pkgs/development/libraries/physics/lhapdf/default.nix b/pkgs/development/libraries/physics/lhapdf/default.nix
index 1a203172d2c8..93e0fa99c347 100644
--- a/pkgs/development/libraries/physics/lhapdf/default.nix
+++ b/pkgs/development/libraries/physics/lhapdf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lhapdf-${version}";
-  version = "6.2.0";
+  version = "6.2.1";
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/lhapdf/LHAPDF-${version}.tar.gz";
-    sha256 = "0gfjps7v93n0rrdndkhp22d93y892bf76pnzdhqbish0cigkkxph";
+    sha256 = "0bi02xcmq5as0wf0jn6i3hx0qy0hj61m02sbrbzd1gwjhpccwmvd";
   };
 
   buildInputs = [ python2 ];
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 3e80e5758522..5d533d4250aa 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -2,15 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rivet-${version}";
-  version = "2.5.4";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "1qi7am60f2l4krd3sbj95mbzfk82lir0wy8z27yr9ncq6qcm48kp";
+    sha256 = "1mvsa3v8d1pl2fj1dcdf8sikzm1yb2jcl0q34fyfsjw2cisxpv5f";
   };
 
-  postPatch = "patchShebangs ./src/Analyses/cat_with_lines";
-
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
   ];
@@ -29,6 +27,13 @@ stdenv.mkDerivation rec {
   buildInputs = [ hepmc imagemagick python2 latex makeWrapper ];
   propagatedBuildInputs = [ fastjet ghostscript gsl yoda ];
 
+  preConfigure = ''
+    substituteInPlace bin/rivet-buildplugin.in \
+      --replace '"which"' '"${which}/bin/which"' \
+      --replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"}  #' \
+      --replace 'mycxxflags="' "mycxxflags=\"-std=c++11 $NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK "
+  '';
+
   preInstall = ''
     substituteInPlace bin/make-plots \
       --replace '"which"' '"${which}/bin/which"' \
@@ -40,10 +45,6 @@ stdenv.mkDerivation rec {
       --replace '"convert"' '"${imagemagick.out}/bin/convert"'
     substituteInPlace bin/rivet \
       --replace '"less"' '"${less}/bin/less"'
-    substituteInPlace bin/rivet-buildplugin \
-      --replace '"which"' '"${which}/bin/which"' \
-      --replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"}  #' \
-      --replace 'mycxxflags="' "mycxxflags=\"-std=c++11 $NIX_CFLAGS_COMPILE $NIX_CXXSTDLIB_COMPILE $NIX_CFLAGS_LINK "
     substituteInPlace bin/rivet-mkhtml \
       --replace '"make-plots"' \"$out/bin/make-plots\" \
       --replace '"rivet-cmphistos"' \"$out/bin/rivet-cmphistos\"
diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix
index dd1b33056468..7519d0da03fc 100644
--- a/pkgs/development/libraries/physics/yoda/default.nix
+++ b/pkgs/development/libraries/physics/yoda/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchurl, fetchpatch, python2Packages, root, makeWrapper, withRootSupport ? false }:
+{ stdenv, fetchurl, fetchpatch, python2Packages, root, makeWrapper, zlib, withRootSupport ? false }:
 
 stdenv.mkDerivation rec {
   name = "yoda-${version}";
-  version = "1.6.7";
+  version = "1.7.0";
 
   src = fetchurl {
     url = "http://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
-    sha256 = "05jyv5dypa6d4q1m8wm2qycgq1i0bgzwzzm9qqdj0b43ff2kggra";
+    sha256 = "0fyf6ld1klzlfmr5sl1jxzck4a0h14zfkrff8397rn1fqnqbzmmk";
   };
 
   pythonPath = []; # python wrapper support
 
   buildInputs = with python2Packages; [ python numpy matplotlib makeWrapper ]
     ++ stdenv.lib.optional withRootSupport root;
+  propagatedBuildInputs = [ zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/sblim-sfcc/default.nix b/pkgs/development/libraries/sblim-sfcc/default.nix
index 016cc6f0472f..ba0b8f4e996f 100644
--- a/pkgs/development/libraries/sblim-sfcc/default.nix
+++ b/pkgs/development/libraries/sblim-sfcc/default.nix
@@ -1,30 +1,28 @@
-{ fetchgit, stdenv, autoconf, automake, libtool, curl }:
+{ stdenv, fetchFromGitHub, autoreconfHook, curl }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.9";
   name = "sblim-sfcc-${version}";
+  version = "2.2.9"; # this is technically 2.2.9-preview
 
-  src = fetchgit {
-    url = "https://github.com/kkaempf/sblim-sfcc.git";
-    rev = "f70fecb410a53531e4fe99d39cf81b581819cac9";
-    sha256 = "1hsxim284qzldh599gf6khxj80g8q5263xl3lj3hdndxbhbs843v";
+  src = fetchFromGitHub {
+    owner  = "kkaempf";
+    repo   = "sblim-sfcc";
+    rev    = "514a76af2020fd6dc6fc380df76cbe27786a76a2";
+    sha256 = "06c1mskl9ixbf26v88w0lvn6v2xd6n5f0jd5mckqrn9j4vmh70hs";
   };
 
-  preConfigure = "./autoconfiscate.sh";
+  buildInputs = [ curl ];
 
-  buildInputs = [ autoconf automake libtool curl ];
+  nativeBuildInputs = [ autoreconfHook ];
 
-  meta = {
-    description = "Small Footprint CIM Client Library";
-
-    homepage = https://sourceforge.net/projects/sblim/;
-
-    maintainers = [ stdenv.lib.maintainers.deepfire ];
-
-    license = stdenv.lib.licenses.cpl10;
-
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+  enableParallelBuilding = true;
 
+  meta = with stdenv.lib; {
+    description = "Small Footprint CIM Client Library";
+    homepage    = https://sourceforge.net/projects/sblim/;
+    license     = licenses.cpl10;
+    maintainers = with maintainers; [ deepfire ];
+    platforms   = platforms.unix;
     inherit version;
   };
 }
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 8db3c466522c..c32f0a3b9384 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -35,6 +35,8 @@ in stdenv.mkDerivation rec {
     mkdir $bin/lib
     cp libwlroots.so $bin/lib/
     patchelf --set-rpath "$bin/lib:${stdenv.lib.makeLibraryPath buildInputs}" $bin/bin/rootston
+    mkdir $bin/etc
+    cp ../rootston/rootston.ini.example $bin/etc/rootston.ini
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix
new file mode 100644
index 000000000000..4b410a307bb4
--- /dev/null
+++ b/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchFromGitHub
+, wxGTK30
+}:
+
+with stdenv.lib;
+
+wxGTK30.overrideAttrs (oldAttrs : rec {
+    name = "wxwidgets-${version}";
+    version = "3.1.0";
+    src = fetchFromGitHub {
+        owner = "wxWidgets";
+        repo = "wxWidgets";
+        rev = "v${version}";
+        sha256 = "14kl1rsngm70v3mbyv1mal15iz2b18k97avjx8jn7s81znha1c7f";
+    };
+})
\ No newline at end of file
diff --git a/pkgs/development/python-modules/ansi/default.nix b/pkgs/development/python-modules/ansi/default.nix
new file mode 100644
index 000000000000..a79de55d2eb0
--- /dev/null
+++ b/pkgs/development/python-modules/ansi/default.nix
@@ -0,0 +1,15 @@
+{ buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "ansi";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06y6470bzvlqys3zi2vc68rmk9n05v1ibral14gbfpgfa8fzy7pg";
+  };
+
+  checkPhase = ''
+    python -c "import ansi.color"
+  '';
+}
diff --git a/pkgs/development/python-modules/bitcoinlib/default.nix b/pkgs/development/python-modules/bitcoinlib/default.nix
index 99d943862aba..b012fd24aa01 100644
--- a/pkgs/development/python-modules/bitcoinlib/default.nix
+++ b/pkgs/development/python-modules/bitcoinlib/default.nix
@@ -1,6 +1,7 @@
-{ lib, buildPythonPackage, fetchFromGitHub, openssl }:
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, openssl }:
 
-buildPythonPackage rec {
+let ext = if stdenv.isDarwin then "dylib" else "so";
+in buildPythonPackage rec {
   pname = "bitcoinlib";
   version = "0.9.0";
   name = "${pname}-${version}";
@@ -15,7 +16,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace bitcoin/core/key.py --replace \
       "ctypes.util.find_library('ssl') or 'libeay32'" \
-      "\"${openssl.out}/lib/libssl.so\""
+      "'${openssl.out}/lib/libssl.${ext}'"
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 8447f7fea50c..d1ecfcc5c89c 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchPypi, buildPythonPackage
-, six
+, more-itertools, six
 , coverage, codecov, pytest, pytestcov, pytest-sugar, portend
 , backports_unittest-mock, setuptools_scm }:
 
 buildPythonPackage rec {
-  name = "${pname}-${version}";
   pname = "cheroot";
-  version = "5.8.3";
+  version = "6.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c0531fd732700b1fb3e6e7079dc3aefbdf29e9136925633d93f009cb87d70a3";
+    sha256 = "10s67wxymk4xg45l7ca59n4l6m6rnj8b9l52pg1angxh958lwixs";
   };
 
-  propagatedBuildInputs = [ six ];
-  buildInputs = [ coverage codecov pytest pytestcov pytest-sugar portend backports_unittest-mock setuptools_scm ];
+  propagatedBuildInputs = [ more-itertools six ];
+
+  buildInputs = [ setuptools_scm ];
+
+  checkInputs = [ coverage codecov pytest pytestcov pytest-sugar portend backports_unittest-mock  ];
 
   checkPhase = ''
     py.test cheroot
diff --git a/pkgs/development/python-modules/cherrypy/default.nix b/pkgs/development/python-modules/cherrypy/default.nix
index cffffde8e3d1..5711cdba2b5b 100644
--- a/pkgs/development/python-modules/cherrypy/default.nix
+++ b/pkgs/development/python-modules/cherrypy/default.nix
@@ -1,23 +1,30 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k
-, pytest, setuptools_scm, pytestrunner
-, six, cheroot, portend }:
+{ lib, buildPythonPackage, fetchPypi
+, cheroot, portend, routes, six
+, setuptools_scm
+, backports_unittest-mock, codecov, coverage, objgraph, pathpy, pytest, pytest-sugar, pytestcov
+}:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "CherryPy";
-  version = "11.0.0";
+  version = "13.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1037pvhab4my791vfzikm649ny52fj7x2q87cnncmbnqin6ghwan";
+    sha256 = "0pb9mfmhns33jq4nrd38mv88ha74fj3q0y2mm8qsjh7ywphvk9ap";
   };
 
-  # wsgiserver.ssl_pyopenssl is broken on py3k.
-  doCheck = !isPy3k;
-  buildInputs = [ pytest setuptools_scm pytestrunner ];
-  propagatedBuildInputs = [ six cheroot portend ];
+  propagatedBuildInputs = [ cheroot portend routes six ];
 
-  meta = with stdenv.lib; {
+  buildInputs = [ setuptools_scm ];
+
+  checkInputs = [ backports_unittest-mock codecov coverage objgraph pathpy pytest pytest-sugar pytestcov ];
+
+  checkPhase = ''
+    LANG=en_US.UTF-8 pytest
+  '';
+
+  meta = with lib; {
     homepage = "http://www.cherrypy.org";
     description = "A pythonic, object-oriented HTTP framework";
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index 0bd8800eddcb..eb7459b07792 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -13,8 +13,7 @@
 , python
 , mkDerivation
 , stdenv
-, pythonOlder
-, isPy35
+, isPy3k
 }:
 let
   compyte = import ./compyte.nix {
@@ -35,7 +34,7 @@ buildPythonPackage rec {
     ${python.interpreter} configure.py --boost-inc-dir=${boost.dev}/include \
                           --boost-lib-dir=${boost}/lib \
                           --no-use-shipped-boost \
-                          --boost-python-libname=boost_python
+                          --boost-python-libname=boost_python${stdenv.lib.optionalString isPy3k "3"}
   '';
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index dc5c964caf6d..053824ef8e95 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "PyQt";
-  version = "5.9";
+  version = "5.9.2";
 
   inherit (pythonPackages) buildPythonPackage python dbus-python sip;
 in buildPythonPackage {
@@ -25,7 +25,7 @@ in buildPythonPackage {
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
-    sha256 = "15hh4z5vd45dcswjla58q6rrfr6ic7jfz2n7c8lwfb10rycpj3mb";
+    sha256 = "15439gxari6azbfql20ksz8h4gv23k3kfyjyr89h2yy9k32xm461";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper qmake ];
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index af885fcf5a2a..77857df0764f 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -2,13 +2,13 @@
 
 if isPyPy then throw "sip not supported for interpreter ${python.executable}" else buildPythonPackage rec {
   pname = "sip";
-  version = "4.19.3";
+  version = "4.19.6";
   name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/sip/${name}/${name}.tar.gz";
-    sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl";
+    sha256 = "0nlj0zbvmzliyhhspqwf2bjvcnpq4agx4s47php7ishv32p2gnlx";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index d304560515c4..73e64c83696d 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -4,13 +4,13 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-bindgen-${version}";
-  version = "0.31.1";
+  version = "0.32.1";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rust-bindgen";
-    rev = "v${version}";
-    sha256 = "0b0nr42vvxzrykzn11mwk1h9cqn87fh8423wwrs3h8vpk5jqg55i";
+    rev = version;
+    sha256 = "15m1y468c7ixzxwx29wazag0i19a3bmzjp53np6b62sf9wfzbsfa";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
     wrapProgram $out/bin/bindgen --set LIBCLANG_PATH "${llvmPackages.clang-unwrapped}/lib"
   '';
 
-  cargoSha256 = "1pjyancb5w9rrxirwx8ghhjbnfcc2r0ha5bfnmlfamj8aaaqdc5w";
+  cargoSha256 = "01h0y5phdv3ab8mk2yxw8lgg9783pjjnjl4087iddqhqanlv600d";
 
   doCheck = false; # A test fails because it can't find standard headers in NixOS
 
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index ba23db2fbdf5..ac04022a4629 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -16,9 +16,9 @@ let
   #    where the ultimate "_" (before the version) is changed to a "-".
   binDists = {
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
-      alpha    = bdist { sha256 = "0y6d7pvf3dgyll175323xp4zmrbyrjn73zrb478y1gpl6dqh064d"; fetcher = authenticatedFetch; };
-      headless = bdist { sha256 = "1agkra3qq11la307ymsfb7v358wc2s2mdpmfbc5n0sb4gnmnqazq"; };
-      demo     = bdist { sha256 = "03nwn4838yhqq0r76pf2m4wxi32rsq0knsxmq3qq4ycji89q1dyc"; version = "0.15.33"; };
+      alpha    = bdist { sha256 = "1i25q8x80qdpmf00lvml67gyklrfvmr4gfyakrx954bq8giiy4ll"; fetcher = authenticatedFetch; };
+      headless = bdist { sha256 = "0v5sypz1q6x6hi6k5cyi06f9ld0cky80l0z64psd3v2ax9hyyh8h"; };
+      demo     = bdist { sha256 = "0aca8gks7wl7yi821bcca16c94zcc41agin5j0vfz500i0sngzzw"; version = "0.15.36"; };
     };
     i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
       alpha    = bdist { sha256 = "0nnfkxxqnywx1z05xnndgh71gp4izmwdk026nnjih74m2k5j086l"; version = "0.14.23"; nameMut = asGz; };
@@ -29,7 +29,7 @@ let
   actual = binDists.${stdenv.system}.${releaseType} or (throw "Factorio: unsupported platform");
 
   bdistForArch = arch: { sha256 ? null
-                       , version ? "0.15.37"
+                       , version ? "0.15.40"
                        , fetcher ? fetchurl
                        , nameMut ? x: x
                        }:
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 41dbfd1999c4..c18a63f720dd 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,38 +1,72 @@
-{ stdenv, gcc, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib
 , pcre, gettext, libpthreadstubs, libXrandr, libXext, libSM, readline
-, openal, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
-, libpulseaudio ? null }:
+, openal, libXdmcp, portaudio, libusb, libevdev
+, libpulseaudio ? null
+, curl
+
+, qt5
+# - Inputs used for Darwin
+, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL
+, wxGTK
+, libpng
+, hidapi
+
+# options
+, dolphin-wxgui ? true
+, dolphin-qtgui ? false
+}:
+# XOR: ensure only wx XOR qt are enabled
+assert dolphin-wxgui || dolphin-qtgui;
+assert !(dolphin-wxgui && dolphin-qtgui);
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20170902";
+  name = "dolphin-emu-20171218";
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "b073db51e5f3df8c9890e09a3f4f8a2276c31e3f";
-    sha256 = "0pr5inkd7swc6s7im7axhvmkdbqidhrha2wpflnr25aiwq0dzm10";
+    rev = "438e8b64a4b080370c7a65ed23af52838a4e7aaa";
+    sha256 = "0rrd0g1vg9jk1p4wdr6w2z34cabb7pgmpwfcl2a372ark3vi4ysc";
   };
 
-  cmakeFlags = ''
-    -DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
-    -DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
-    -DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
-    -DENABLE_LTO=True
-  '';
+  cmakeFlags = [
+    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
+    "-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0"
+    "-DENABLE_LTO=True"
+  ] ++ stdenv.lib.optionals (!dolphin-qtgui)  [ "-DENABLE_QT2=False" ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ "-DOSX_USE_DEFAULT_SEARCH_PATH=True" ];
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gcc cmake bluez ffmpeg libao mesa gtk2 glib pcre
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ curl ffmpeg libao mesa gtk2 glib pcre
                   gettext libpthreadstubs libXrandr libXext libSM readline openal
-                  libevdev libXdmcp portaudio libusb libpulseaudio ];
+                  libXdmcp portaudio libusb libpulseaudio libpng hidapi
+                ] ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private ForceFeedback IOKit OpenGL ]
+                  ++ stdenv.lib.optionals stdenv.isLinux  [ bluez libevdev  ]
+                  ++ stdenv.lib.optionals dolphin-qtgui [ qt5.qtbase ];
+
+  # - Change install path to Applications relative to $out
+  # - Allow Dolphin to use nix-provided libraries instead of building them
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i -e 's,/Applications,Applications,g' Source/Core/DolphinWX/CMakeLists.txt
+    sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' CMakeLists.txt
+    sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
+  '';
+
+  preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    mkdir -p "$out/Applications"
+  '';
 
   meta = {
     homepage = http://dolphin-emu.org/;
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
     license = stdenv.lib.licenses.gpl2;
     maintainers = with stdenv.lib.maintainers; [ MP2E ];
+    branch = "master";
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/misc/themes/elementary/default.nix b/pkgs/misc/themes/elementary/default.nix
new file mode 100644
index 000000000000..0d02b32c8ffe
--- /dev/null
+++ b/pkgs/misc/themes/elementary/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "elementary-gtk-theme-${version}";
+  version = "5.1.1";
+
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = "stylesheet";
+    rev = version;
+    sha256 = "1749byc2lbxmprladn9n7k6jh79r8ffgayjn689gmqsrm6czsmh2";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/share/themes/elementary
+    cp -r gtk-* plank $out/share/themes/elementary
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GTK theme designed to be smooth, attractive, fast, and usable";
+    homepage = https://github.com/elementary/stylesheet;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index f61611fbf017..322d0260f7b6 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -18,15 +18,14 @@ let
 in
 stdenv.mkDerivation rec {
   name = "mwprocapture-1.2.${version}-${kernel.version}";
-  version = "3589";
+  version = "3773";
 
   src = fetchurl {
-    url = "http://www.magewell.com/files/ProCaptureForLinux_${version}.tar.gz";
-    sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i";
+    url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
+    sha256 = "1ri7c4l4xgkhpz0f15jra1p7mpzi8ir6lpwjm7q7hc9m4cvxcs1g";
   };
 
-  patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch
-               ++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch;
+  patches = [ ./linux_4_14_fix.patch ];
 
   preConfigure =
   ''
diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_13_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_13_fix.patch
deleted file mode 100644
index 925af61b49a0..000000000000
--- a/pkgs/os-specific/linux/mwprocapture/linux_4_13_fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur ProCaptureForLinux_3589/src/sources/ospi/ospi-linux.h ProCaptureForLinux_3589_new/src/sources/ospi/ospi-linux.h
---- ProCaptureForLinux_3589/src/sources/ospi/ospi-linux.h	2017-08-17 02:46:07.000000000 -0700
-+++ ProCaptureForLinux_3589_new/src/sources/ospi/ospi-linux.h	2017-09-03 18:13:31.843510536 -0700
-@@ -172,7 +172,7 @@
- #else
-     struct completion       done;
- #endif
--    wait_queue_t            waitq; // for multi wait
-+    wait_queue_entry_t      waitq; // for multi wait
- };
- typedef struct _os_event_t *os_event_t;
- 
diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
index 9f92a38bcc45..94da5a00a2e2 100644
--- a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
+++ b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
@@ -1,57 +1,68 @@
-diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.c ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c
---- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c	2017-08-17 02:46:07.000000000 -0700
-+++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c	2017-11-13 20:18:50.842947380 -0800
-@@ -7,8 +7,8 @@
+diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
+--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c	2017-12-15 01:59:57.000000000 -0800
++++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c	2017-12-23 22:47:33.666823299 -0800
+@@ -7,8 +7,9 @@
  
  #include "linux-file.h"
  
 -#include <asm/uaccess.h>
  #include <linux/sched.h>
 +#include <asm/uaccess.h>
++#include <linux/version.h>
  
  struct file *linux_file_open(const char *path, int flags, int mode)
  {
-@@ -28,27 +28,27 @@
+@@ -28,29 +29,36 @@
      filp_close(file, NULL);
  }
  
 -ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
-+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size)
++ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size)
  {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
++    return(kernel_read(file, data, size, &offset));
++#else
      mm_segment_t oldfs;
      ssize_t ret;
  
      oldfs = get_fs();
      set_fs(get_ds());
 -    ret = vfs_read(file, data, size, &offset);
-+    ret = kernel_read(file, data, size, &offset);
++    ret = vfs_read(file, (unsigned char *)data, size, &offset);
      set_fs(oldfs);
  
      return ret;
++#endif
  }
  
 -ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
 +ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
  {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
++    return(kernel_write(file, data, size, &offset));
++#else
      mm_segment_t oldfs;
      ssize_t ret;
  
      oldfs = get_fs();
      set_fs(get_ds());
 -    ret = vfs_write(file, data, size, &offset);
-+    ret = kernel_write(file, data, size, &offset);
++    ret = vfs_write(file, (const unsigned char *)data, size, &offset);
      set_fs(oldfs);
  
      return ret;
-diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.h ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h
---- ProCaptureForLinux_3589/src/sources/ospi/linux-file.h	2017-08-17 02:46:07.000000000 -0700
-+++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h	2017-11-13 20:24:20.979690346 -0800
++#endif
+ }
+-
+diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h
+--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h	2017-12-15 01:59:57.000000000 -0800
++++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h	2017-12-23 22:46:22.028545189 -0800
 @@ -13,9 +13,9 @@
  
  void linux_file_close(struct file *file);
  
 -ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
-+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size);
++ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size);
  
 -ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
 +ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index f71ed052d04e..d5411e40a399 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "telegraf-${version}";
-  version = "1.4.4";
+  version = "1.5.0";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "${version}";
-    sha256 = "1hyjbx0hwyh39dgij86xlznaqnzh8m0yk96phqgxs328dlcxfl07";
+    sha256 = "0h3v80qvb9xmkmgbp46sqh76y4k84c0da586vdy3xmmbrbagnypv";
   };
 
   buildFlagsArray = [ ''-ldflags=
diff --git a/pkgs/servers/monitoring/telegraf/deps-1.4.4.nix b/pkgs/servers/monitoring/telegraf/deps-1.5.0.nix
index 0cfcf03dd148..916b4688a06e 100644
--- a/pkgs/servers/monitoring/telegraf/deps-1.4.4.nix
+++ b/pkgs/servers/monitoring/telegraf/deps-1.5.0.nix
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/Shopify/sarama";
-      rev = "c01858abb625b73a3af51d0798e4ad42c8147093";
-      sha256 = "139fyfi2h6qas83kan0kpm9d92985nl1fyhijswy37d6ia86797w";
+      rev = "3b1b38866a79f06deddf0487d5c27ba0697ccd65";
+      sha256 = "02qwlqd1kdgwlv39fimpbzjhgw8shzkkad82kfwdy8lppscb20br";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/bsm/sarama-cluster";
-      rev = "ccdc0803695fbce22f1706d04ded46cd518fd832";
-      sha256 = "1jbb03bygjzzs6wyxp6cp057kyiyv80schwlhgi366nizp52hd56";
+      rev = "abf039439f66c1ce78017f560b490612552f6472";
+      sha256 = "16013ac7jv72mdiv84vhk4av1vb5q8xq3fhv253fz2a17h9ld78q";
     };
   }
   {
@@ -127,6 +127,15 @@
     };
   }
   {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "dbeaa9332f19a944acb5736b4456cfcc02140e29";
+      sha256 = "0zk6l6kzsjdijfn7c4h0aywdjx5j2hjwi67vy1k6wr46hc8ks2hs";
+    };
+  }
+  {
     goPackagePath = "github.com/docker/docker";
     fetch = {
       type = "git";
@@ -275,8 +284,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/jackc/pgx";
-      rev = "b84338d7d62598f75859b2b146d830b22f1b9ec8";
-      sha256 = "13q763a31yya8ij6m5zbnri7wc88hjwwn1rw4v7dmwbwsrqn885c";
+      rev = "63f58fd32edb5684b9e9f4cfaac847c6b42b3917";
+      sha256 = "1n9cbdwzpagnrisxwq0frqdnkmyfg2qlxsr890527d32633hp0h2";
     };
   }
   {
@@ -325,6 +334,24 @@
     };
   }
   {
+    goPackagePath = "github.com/mitchellh/mapstructure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/mapstructure";
+      rev = "d0303fe809921458f417bcf828397a65db30a7e4";
+      sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiplay/go-ts3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiplay/go-ts3";
+      rev = "07477f49b8dfa3ada231afc7b7b17617d42afe8e";
+      sha256 = "1z2cfqhm6g48vzscargw6vl9idfppdcm3wq1xfwy73l1s77q4n9n";
+    };
+  }
+  {
     goPackagePath = "github.com/naoina/go-stringutil";
     fetch = {
       type = "git";
@@ -365,8 +392,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsqio/go-nsq";
-      rev = "a53d495e81424aaf7a7665a9d32a97715c40e953";
-      sha256 = "04npqz6ajr4r2w5jfvfzppr307qrwr57w4c1ppq9p9ddf7hx3wpz";
+      rev = "eee57a3ac4174c55924125bb15eeeda8cffb6e6f";
+      sha256 = "194wdmgsc0qhdjx95ka7blly58r9bj2vc0bgls7jawzszfpsbx8x";
     };
   }
   {
@@ -482,8 +509,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/shirou/gopsutil";
-      rev = "48fc5612898a1213aa5d6a0fb2d4f7b968e898fb";
-      sha256 = "14mwpxd2v3y4mr0g37g99vhy9jkaaaw29d3j7427rpv568vyb8sd";
+      rev = "384a55110aa5ae052eb93ea94940548c1e305a99";
+      sha256 = "00idmnsmalxhm1y60lhm9vyck1ay7gbp0r35fgs8bbiwq351bs23";
     };
   }
   {
diff --git a/pkgs/tools/system/wsmancli/default.nix b/pkgs/tools/system/wsmancli/default.nix
index bd6ec17ceec1..ca35dae5827c 100644
--- a/pkgs/tools/system/wsmancli/default.nix
+++ b/pkgs/tools/system/wsmancli/default.nix
@@ -1,45 +1,36 @@
-{ fetchurl, stdenv, autoconf, automake, libtool, pkgconfig, openwsman, openssl }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
+, openssl, openwsman }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.0";
   name = "wsmancli-${version}";
+  version = "2.6.0";
 
-  src = fetchurl {
-    url = "https://github.com/Openwsman/wsmancli/archive/v${version}.tar.gz";
-    sha256 = "03ay6sa4ii8h6rr3l2qiqqml8xl6gplrlg4v2avdh9y6sihfyvvn";
+  src = fetchFromGitHub {
+    owner  = "Openwsman";
+    repo   = "wsmancli";
+    rev    = "v${version}";
+    sha256 = "0a67fz9lj7xkyfqim6ai9kj7v6hzx94r1bg0g0l5dymgng648b9j";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf automake libtool openwsman openssl ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  preConfigure = ''
-    ./bootstrap
+  buildInputs = [ openwsman openssl ];
 
-    configureFlagsArray=(
-      LIBS="-L${openssl.out}/lib -lssl -lcrypto"
-    )
+  postPatch = ''
+    touch AUTHORS NEWS README
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Openwsman command-line client";
-
-    longDescription =
-      '' Openwsman provides a command-line tool, wsman, to perform basic
-         operations on the command-line. These operations include Get, Put,
-         Invoke, Identify, Delete, Create, and Enumerate. The command-line tool
-         also has several switches to allow for optional features of the
-         WS-Management specification and Testing.
-      '';
-
-    homepage = https://github.com/Openwsman/wsmancli;
-    downloadPage = "https://github.com/Openwsman/wsmancli/releases";
-
-    maintainers = [ stdenv.lib.maintainers.deepfire ];
-
-    license = stdenv.lib.licenses.bsd3;
-
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-
+    longDescription = ''
+      Openwsman provides a command-line tool, wsman, to perform basic
+      operations on the command-line. These operations include Get, Put,
+      Invoke, Identify, Delete, Create, and Enumerate. The command-line tool
+      also has several switches to allow for optional features of the
+      WS-Management specification and Testing.
+    '';
+    downloadPage = https://github.com/Openwsman/wsmancli/releases;
+    inherit (openwsman.meta) homepage license maintainers platforms;
     inherit version;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1b01af60acdc..5c1fc21c4d61 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1839,8 +1839,11 @@ with pkgs;
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
   dolphinEmu = callPackage ../misc/emulators/dolphin-emu { };
-  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { };
-
+  dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
+    inherit (darwin) cf-private;
+    wxGTK = wxGTK31;
+  };
   doomseeker = callPackage ../applications/misc/doomseeker { };
 
   slade = callPackage ../applications/misc/slade {
@@ -6716,7 +6719,7 @@ with pkgs;
 
   ocropus = callPackage ../applications/misc/ocropus { };
 
-  inherit (callPackages ../development/interpreters/perl {}) perl perl522 perl524;
+  inherit (callPackages ../development/interpreters/perl {}) perl perl522 perl524 perl526;
 
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
 
@@ -9434,6 +9437,8 @@ with pkgs;
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
 
+  libmypaint = callPackage ../development/libraries/libmypaint { };
+
   libmysqlconnectorcpp = callPackage ../development/libraries/libmysqlconnectorcpp {
     mysql = mysql57;
   };
@@ -9780,8 +9785,6 @@ with pkgs;
 
   libtorrentRasterbar_1_0 = callPackage ../development/libraries/libtorrent-rasterbar/1.0.nix { };
 
-  libtoxcore-old = callPackage ../development/libraries/libtoxcore/old-api.nix { };
-
   libtoxcore-new = callPackage ../development/libraries/libtoxcore/new-api.nix { };
 
   libtoxcore = callPackage ../development/libraries/libtoxcore { };
@@ -11222,6 +11225,8 @@ with pkgs;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
   };
 
+  wxGTK31 = callPackage ../development/libraries/wxwidgets/3.1 {};
+
   wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix {
     inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel;
     inherit (darwin.stubs) setfile rez derez;
@@ -13728,6 +13733,8 @@ with pkgs;
 
   sampradaya = callPackage ../data/fonts/sampradaya { };
 
+  scowl = callPackage ../data/misc/scowl { };
+
   shaderc = callPackage ../development/compilers/shaderc { };
 
   mime-types = callPackage ../data/misc/mime-types { };
@@ -15073,7 +15080,6 @@ with pkgs;
   ghq = gitAndTools.ghq;
 
   gimp_2_8 = callPackage ../applications/graphics/gimp/2.8.nix {
-    inherit (gnome2) libart_lgpl;
     webkit = null;
     lcms = lcms2;
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
@@ -16622,9 +16628,7 @@ with pkgs;
 
   ratmen = callPackage ../tools/X11/ratmen {};
 
-  ratox = callPackage ../applications/networking/instant-messengers/ratox {
-    libtoxcore = libtoxcore-old;
-  };
+  ratox = callPackage ../applications/networking/instant-messengers/ratox { };
 
   ratpoison = callPackage ../applications/window-managers/ratpoison { };
 
@@ -18621,6 +18625,8 @@ with pkgs;
 
   deepin-gtk-theme = callPackage ../misc/themes/deepin { };
 
+  elementary-gtk-theme = callPackage ../misc/themes/elementary { };
+
   albatross = callPackage ../misc/themes/albatross { };
 
   gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 291cae6f6bde..ea76c82d8222 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6882,14 +6882,16 @@ let self = _self // overrides; _self = with self; {
   };
 
   HTTPMessage = buildPerlPackage rec {
-    name = "HTTP-Message-6.11";
+    name = "HTTP-Message-6.14";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/E/ET/ETHER/${name}.tar.gz";
-      sha256 = "e7b368077ae6a188d99920411d8f52a8e5acfb39574d4f5c24f46fd22533d81b";
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/${name}.tar.gz";
+      sha256 = "71aab9f10eb4b8ec6e8e3a85fc5acb46ba04db1c93eb99613b184078c5cf2ac9";
     };
+    buildInputs = [ TryTiny ];
     propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
     meta = {
-      description = "HTTP style messages";
+      homepage = https://github.com/libwww-perl/HTTP-Message;
+      description = "HTTP style message (base class)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
@@ -8047,10 +8049,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   LogAny = buildPerlPackage rec {
-    name = "Log-Any-1.703";
+    name = "Log-Any-1.704";
     src = fetchurl {
       url = "mirror://cpan/authors/id/P/PR/PREACTION/${name}.tar.gz";
-      sha256 = "65a2ffba5f5fd355ce0b2365b478dda5ee091cf9d81c047dd22fe5ef4f823e3b";
+      sha256 = "57289d17b83bb5ce1d44148fd4e31a82b0d27e9104706ddc1ec5bb15461d0dd9";
     };
     # Syslog test fails.
     preCheck = "rm t/syslog.t";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 9f438a643703..2f0bbdd9dc73 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4740,6 +4740,8 @@ in {
 
     propagatedBuildInputs = with self; [ greenlet ];
 
+    doCheck = false;
+
     meta = {
       description = "Eventlib bindings for python";
       homepage    = "http://ag-projects.com/";
@@ -6524,7 +6526,6 @@ in {
   pycuda = callPackage ../development/python-modules/pycuda rec {
     cudatoolkit = pkgs.cudatoolkit75;
     inherit (pkgs.stdenv) mkDerivation;
-    inherit pythonOlder;
   };
 
   pyphen = callPackage ../development/python-modules/pyphen {};
@@ -16290,14 +16291,15 @@ in {
   routes = buildPythonPackage rec {
     pname = "Routes";
     version = "2.4.1";
-    name = "${pname}-${version}";
 
     src = fetchPypi {
       inherit pname version;
       sha256 = "1zamff3m0kc4vyfniyhxpkkcqv1rrgnmh37ykxv34nna1ws47vi6";
     };
 
-    propagatedBuildInputs = with self; [ paste webtest repoze_lru ];
+    propagatedBuildInputs = with self; [ repoze_lru six webob ];
+
+    checkInputs = with self; [ coverage webtest ];
 
     meta = {
       description = "A Python re-implementation of the Rails routes system for mapping URLs to application actions";
@@ -22841,15 +22843,7 @@ EOF
     doCheck = false;
   };
 
-  ansi = buildPythonPackage rec {
-    name = "ansi-${version}";
-    version = "0.1.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/ansi/${name}.tar.gz";
-      sha256 = "06y6470bzvlqys3zi2vc68rmk9n05v1ibral14gbfpgfa8fzy7pg";
-    };
-  };
+  ansi = callPackage ../development/python-modules/ansi { };
 
   pygments-markdown-lexer = buildPythonPackage rec {
     name = "pygments-markdown-lexer-${version}";
@@ -22977,11 +22971,11 @@ EOF
 
   more-itertools = buildPythonPackage rec {
     name = "more-itertools-${version}";
-    version = "2.4.1";
+    version = "4.0.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/m/more-itertools/${name}.tar.gz";
-      sha256 = "95a222d01df60c888d56d86f91219bfbd47106a534e89ca7f80fb555cfbe08c1";
+      sha256 = "0cadwsr97c80k18if7qy5d8j8l1zj3yhnkm6kbngk0lpl7pxq8ax";
     };
 
     buildInputs = with self; [ nose ];