summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/package-notes.xml7
-rw-r--r--nixos/modules/hardware/steam-hardware.nix25
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix8
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/security/clamav.nix7
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix5
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix10
-rw-r--r--nixos/tests/nix-ssh-serve.nix4
-rw-r--r--pkgs/applications/audio/puredata/default.nix8
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix3
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix1
-rw-r--r--pkgs/applications/misc/electrum/default.nix2
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock10
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix12
-rw-r--r--pkgs/applications/misc/xterm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/stern/deps.nix345
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock4
-rw-r--r--pkgs/applications/networking/cluster/terraform-landscape/gemset.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/inboxer/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix8
-rw-r--r--pkgs/applications/science/astronomy/gildas/gag-font-bin-rule.patch13
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix6
-rw-r--r--pkgs/applications/version-management/cvs2svn/default.nix34
-rw-r--r--pkgs/applications/window-managers/i3/wmfocus.nix38
-rw-r--r--pkgs/data/fonts/hyperscrypt/default.nix40
-rw-r--r--pkgs/data/icons/elementary-xfce-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/iconpack-obsidian/default.nix4
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix6
-rw-r--r--pkgs/development/compilers/crystal/default.nix215
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix39
-rw-r--r--pkgs/development/compilers/ghc/head.nix13
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix2
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix2
-rw-r--r--pkgs/development/ocaml-modules/piqi/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/piqi/safe-string.patch13
-rw-r--r--pkgs/development/python-modules/btchip/default.nix23
-rw-r--r--pkgs/development/python-modules/django-raster/default.nix7
-rw-r--r--pkgs/development/python-modules/simple-websocket-server/default.nix22
-rw-r--r--pkgs/development/python-modules/trio/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix26
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch15
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix68
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/icr/default.nix34
-rw-r--r--pkgs/development/tools/nwjs/default.nix16
-rw-r--r--pkgs/development/tools/scry/default.nix50
-rw-r--r--pkgs/games/spring/springlobby.nix4
-rw-r--r--pkgs/games/steam/steam.nix6
-rw-r--r--pkgs/misc/themes/obsidian2/default.nix8
-rw-r--r--pkgs/misc/themes/onestepback/default.nix38
-rw-r--r--pkgs/misc/themes/tetra/default.nix36
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/slimserver/default.nix9
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix11
-rw-r--r--pkgs/tools/X11/xpra/xf86videodummy/0002-Constant-DPI.patch96
-rw-r--r--pkgs/tools/X11/xpra/xf86videodummy/0003-fix-pointer-limits.patch39
-rw-r--r--pkgs/tools/X11/xpra/xf86videodummy/0005-support-for-30-bit-depth-in-dummy-driver.patch41
-rw-r--r--pkgs/tools/X11/xpra/xf86videodummy/default.nix32
-rw-r--r--pkgs/tools/audio/pasystray/default.nix4
-rw-r--r--pkgs/tools/misc/autorandr/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/default.nix4
-rw-r--r--pkgs/tools/security/gen-oath-safe/default.nix9
-rw-r--r--pkgs/tools/security/ifdnfc/default.nix45
-rw-r--r--pkgs/tools/system/nvtop/default.nix2
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix31
-rw-r--r--pkgs/top-level/perl-packages.nix68
-rw-r--r--pkgs/top-level/python-packages.nix4
77 files changed, 1391 insertions, 367 deletions
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index d8f55ef0a85..a4322a0234d 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -413,11 +413,8 @@ packageOverrides = pkgs: {
     in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
 <programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
     if you are using PulseAudio - this will enable 32bit ALSA apps integration.
-    To use the Steam controller, you need to add
-<programlisting>services.udev.extraRules = ''
-    SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"
-    KERNEL=="uinput", MODE="0660", GROUP="users", OPTIONS+="static_node=uinput"
-  '';</programlisting>
+    To use the Steam controller or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro, you need to add
+<programlisting>hardware.steam-hardware.enable = true;</programlisting>
     to your configuration.
    </para>
   </section>
diff --git a/nixos/modules/hardware/steam-hardware.nix b/nixos/modules/hardware/steam-hardware.nix
new file mode 100644
index 00000000000..378aeffe71b
--- /dev/null
+++ b/nixos/modules/hardware/steam-hardware.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.hardware.steam-hardware;
+
+in
+
+{
+  options.hardware.steam-hardware = {
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [
+      pkgs.steamPackages.steam
+    ];
+  };
+}
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index adde237c07c..1cfc8ff8612 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,6 +1,6 @@
 {
-  x86_64-linux = "/nix/store/mxg4bbblxfns96yrz0nalxyiyjl7gj98-nix-2.1.2";
-  i686-linux = "/nix/store/bgjgmbwirx63mwwychpikd7yc4k4lbjv-nix-2.1.2";
-  aarch64-linux = "/nix/store/yi18azn4nwrcwvaiag04jnxc1qs38fy5-nix-2.1.2";
-  x86_64-darwin = "/nix/store/fpivmcck2qpw5plrp599iraw2x9jp18k-nix-2.1.2";
+  x86_64-linux = "/nix/store/cdcia67siabmj6li7vyffgv2cry86fq8-nix-2.1.3";
+  i686-linux = "/nix/store/6q3xi6y5qnsv7d62b8n00hqfxi8rs2xs-nix-2.1.3";
+  aarch64-linux = "/nix/store/2v93d0vimlm28jg0ms6v1i6lc0fq13pn-nix-2.1.3";
+  x86_64-darwin = "/nix/store/dkjlfkrknmxbjmpfk3dg4q3nmb7m3zvk-nix-2.1.3";
 }
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index f4c7cf601bf..87224fa6b51 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -46,6 +46,7 @@
   ./hardware/opengl.nix
   ./hardware/pcmcia.nix
   ./hardware/raid/hpsa.nix
+  ./hardware/steam-hardware.nix
   ./hardware/usb-wwan.nix
   ./hardware/onlykey.nix
   ./hardware/video/amdgpu.nix
diff --git a/nixos/modules/services/security/clamav.nix b/nixos/modules/services/security/clamav.nix
index 9ad0095252d..04b433f8f2b 100644
--- a/nixos/modules/services/security/clamav.nix
+++ b/nixos/modules/services/security/clamav.nix
@@ -95,7 +95,7 @@ in
     environment.etc."clamav/freshclam.conf".source = freshclamConfigFile;
     environment.etc."clamav/clamd.conf".source = clamdConfigFile;
 
-    systemd.services.clamav-daemon = optionalAttrs cfg.daemon.enable {
+    systemd.services.clamav-daemon = mkIf cfg.daemon.enable {
       description = "ClamAV daemon (clamd)";
       after = optional cfg.updater.enable "clamav-freshclam.service";
       requires = optional cfg.updater.enable "clamav-freshclam.service";
@@ -116,7 +116,7 @@ in
       };
     };
 
-    systemd.timers.clamav-freshclam = optionalAttrs cfg.updater.enable {
+    systemd.timers.clamav-freshclam = mkIf cfg.updater.enable {
       description = "Timer for ClamAV virus database updater (freshclam)";
       wantedBy = [ "timers.target" ];
       timerConfig = {
@@ -125,7 +125,7 @@ in
       };
     };
 
-    systemd.services.clamav-freshclam = optionalAttrs cfg.updater.enable {
+    systemd.services.clamav-freshclam = mkIf cfg.updater.enable {
       description = "ClamAV virus database updater (freshclam)";
       restartTriggers = [ freshclamConfigFile ];
 
@@ -137,6 +137,7 @@ in
       serviceConfig = {
         Type = "oneshot";
         ExecStart = "${pkg}/bin/freshclam";
+        SuccessExitStatus = "1"; # if databases are up to date
         PrivateTmp = "yes";
         PrivateDevices = "yes";
       };
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index a775dd0f0e0..a16cbee3bb3 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -142,7 +142,10 @@ in
 
     systemd.user.services.dbus.wantedBy = [ "default.target" ];
 
-    programs.dconf.profiles.gdm = "${gdm}/share/dconf/profile/gdm";
+    programs.dconf.profiles.gdm = pkgs.writeText "dconf-gdm-profile" ''
+      system-db:local
+      ${gdm}/share/dconf/profile/gdm
+    '';
 
     # Use AutomaticLogin if delay is zero, because it's immediate.
     # Otherwise with TimedLogin with zero seconds the prompt is still
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 8078b93a757..a34f2370649 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -46,6 +46,7 @@ let
         greeters-directory = ${cfg.greeter.package}
       ''}
       sessions-directory = ${dmcfg.session.desktops}/share/xsessions
+      ${cfg.extraConfig}
 
       [Seat:*]
       xserver-command = ${xserverWrapper}
@@ -113,6 +114,15 @@ in
         };
       };
 
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          user-authority-in-system-dir = true
+        '';
+        description = "Extra lines to append to LightDM section.";
+      };
+
       background = mkOption {
         type = types.str;
         default = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png";
diff --git a/nixos/tests/nix-ssh-serve.nix b/nixos/tests/nix-ssh-serve.nix
index aa366d8612d..494d55121eb 100644
--- a/nixos/tests/nix-ssh-serve.nix
+++ b/nixos/tests/nix-ssh-serve.nix
@@ -14,8 +14,8 @@ in
              keys = [ snakeOilPublicKey ];
              protocol = "ssh-ng";
            };
-         server.nix.package = pkgs.nixUnstable;
-         client.nix.package = pkgs.nixUnstable;
+         server.nix.package = pkgs.nix;
+         client.nix.package = pkgs.nix;
        };
      testScript = ''
        startAll;
diff --git a/pkgs/applications/audio/puredata/default.nix b/pkgs/applications/audio/puredata/default.nix
index 354b7c4b6c7..6ade9042b53 100644
--- a/pkgs/applications/audio/puredata/default.nix
+++ b/pkgs/applications/audio/puredata/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation  rec {
   name = "puredata-${version}";
-  version = "0.48-2";
+  version = "0.49-0";
 
   src = fetchurl {
     url = "http://msp.ucsd.edu/Software/pd-${version}.src.tar.gz";
-    sha256 = "0p86hncgzkrl437v2wch2fg9iyn6mnrgbn811sh9pwmrjj2f06v8";
+    sha256 = "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j";
   };
 
   nativeBuildInputs = [ autoreconfHook gettext makeWrapper ];
@@ -20,11 +20,9 @@ stdenv.mkDerivation  rec {
     "--enable-jack"
     "--enable-fftw"
     "--disable-portaudio"
+    "--disable-oss"
   ];
 
-  # https://github.com/pure-data/pure-data/issues/188
-  # --disable-oss
-
   postInstall = ''
     wrapProgram $out/bin/pd --prefix PATH : ${tk}/bin
   '';
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 9bf80b050a8..23ecfb0c19d 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -130,7 +130,8 @@ let
         longDescription = ''
           IDE for Java SE, Groovy & Scala development Powerful
           environment for building Google Android apps Integration
-          with JUnit, TestNG, popular SCMs, Ant & Maven.
+          with JUnit, TestNG, popular SCMs, Ant & Maven. Also known
+          as IntelliJ.
         '';
         maintainers = with maintainers; [ edwtjo ];
         platforms = platforms.linux;
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index 66a423238b3..8105f4d61bd 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -34,6 +34,7 @@ python3Packages.buildPythonApplication rec {
     # plugins
     keepkey
     trezor
+    btchip
   ];
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 95754579c48..537627a10d2 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -41,10 +41,10 @@ python3Packages.buildPythonApplication rec {
     # plugins
     keepkey
     trezor
+    btchip
 
     # TODO plugins
     # amodem
-    # btchip
   ];
 
   preBuild = ''
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index f63ffa091a0..977bd5e50dd 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -11,22 +11,22 @@ GEM
       diff-lcs (~> 1.1)
       mime-types (>= 1.16)
       posix-spawn (~> 0.3)
-    gollum (4.1.3)
+    gollum (4.1.4)
       gemojione (~> 3.2)
-      gollum-lib (>= 4.2.9)
+      gollum-lib (~> 4.2, >= 4.2.10)
       kramdown (~> 1.9.0)
       mustache (>= 0.99.5, < 1.0.0)
       sinatra (~> 1.4, >= 1.4.4)
       useragent (~> 0.16.2)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    gollum-lib (4.2.9)
+    gollum-lib (4.2.10)
       gemojione (~> 3.2)
       github-markup (~> 1.6)
       gollum-grit_adapter (~> 1.0)
       nokogiri (>= 1.6.1, < 2.0)
       rouge (~> 2.1)
-      sanitize (~> 2.1)
+      sanitize (~> 2.1.1, >= 2.1.1)
       stringex (~> 2.6)
       twitter-text (= 1.14.7)
     json (2.1.0)
@@ -43,7 +43,7 @@ GEM
     rack-protection (1.5.5)
       rack
     rouge (2.2.1)
-    sanitize (2.1.0)
+    sanitize (2.1.1)
       nokogiri (>= 1.4.4)
     sinatra (1.4.8)
       rack (~> 1.5)
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 1b3cda168ac..3413b6ba631 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -45,10 +45,10 @@
     dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1146irmnm0xyzjzw8k14wvb6h4cqh4q53ds92wk6jpsfs6r1pjq6";
+      sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7";
       type = "gem";
     };
-    version = "4.1.3";
+    version = "4.1.4";
   };
   gollum-grit_adapter = {
     dependencies = ["gitlab-grit"];
@@ -63,10 +63,10 @@
     dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex" "twitter-text"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w48mrjgy4ykd1ix421n96nx0w15iid2aj3sgglpl3bdkizxhfqj";
+      sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf";
       type = "gem";
     };
-    version = "4.2.9";
+    version = "4.2.10";
   };
   json = {
     source = {
@@ -163,10 +163,10 @@
     dependencies = ["nokogiri"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsv6xqrlz91rd8wifjknadbl3z5h6qphmxy0hjb189qbdghggn3";
+      sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.1.1";
   };
   sinatra = {
     dependencies = ["rack" "rack-protection" "tilt"];
diff --git a/pkgs/applications/misc/xterm/default.nix b/pkgs/applications/misc/xterm/default.nix
index 292e4e5ba38..4306c4fe955 100644
--- a/pkgs/applications/misc/xterm/default.nix
+++ b/pkgs/applications/misc/xterm/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "xterm-335";
+  name = "xterm-337";
 
   src = fetchurl {
     urls = [
      "ftp://ftp.invisible-island.net/xterm/${name}.tgz"
      "https://invisible-mirror.net/archives/xterm/${name}.tgz"
    ];
-    sha256 = "15nbgys4s2idhx6jzzc24g9bb1s6yps5fyg2bafvs0gkkcm1ggz0";
+    sha256 = "19ygmswikbwa633bxf24cvk7qdxjz2nq3cv9zdgqvrs7sgg7gb6c";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index fe7b73a9e9b..6b9a21c102f 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -4,12 +4,12 @@
 let
   versionMap = {
     "1.5" = {
-      flinkVersion = "1.5.3";
-      sha256 = "1fq7pd5qpchkkwhh30h3l9rhf298jfcfv2dc50z39qmwwijdjajk";
+      flinkVersion = "1.5.4";
+      sha256 = "193cgiykzbsm6ygnr1h45504xp2qxjikq188wkgivdj9a4wa04il";
     };
     "1.6" = {
-      flinkVersion = "1.6.0";
-      sha256 = "18fnpldzs36qx7myr9rmym9g9p3qkgnd1z3lfkpbaw590ddaqr9i";
+      flinkVersion = "1.6.1";
+      sha256 = "1z4795va15qnnhk2qx3gzimzgfd9nqchfgn759fnqfmcxh6n9vw3";
     };
   };
 in
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
new file mode 100644
index 00000000000..c7b90d05ff2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "stern-${version}";
+  version = "1.8.0";
+
+  goPackagePath = "github.com/wercker/stern";
+
+  src = fetchFromGitHub {
+    owner = "wercker";
+    repo = "stern";
+    rev = "${version}";
+    sha256 = "14ccgb41ca2gym7wab0q02ap8g94nhfaihs41qky4wnsfv6j1zc8";
+  };
+
+  goDeps = ./deps.nix;
+
+   meta = with lib; {
+      description      = "Multi pod and container log tailing for Kubernetes";
+      homepage         = "https://github.com/wercker/stern";
+      license          = licenses.asl20;
+      maintainers      = with maintainers; [ mbode ];
+      platforms        = platforms.unix;
+    };
+}
diff --git a/pkgs/applications/networking/cluster/stern/deps.nix b/pkgs/applications/networking/cluster/stern/deps.nix
new file mode 100644
index 00000000000..5c5d3472711
--- /dev/null
+++ b/pkgs/applications/networking/cluster/stern/deps.nix
@@ -0,0 +1,345 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev =  "97efc2c9ffd9fe8ef47f7f3203dc60bbca547374";
+      sha256 = "1zf8imq0hgba13rbn260pqf2qd41cg3i4wzzq2i0li3lxnjglkv1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/Azure/go-autorest";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Azure/go-autorest";
+      rev =  "1ff28809256a84bb6966640ff3d0371af82ccba4";
+      sha256 = "0sxvj2j1833bqwxvhq3wq3jgq73rnb81pnzvl0x3y1m0hzpaf2zv";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev =  "2d684516a8861da43017284349b7e303e809ac21";
+      sha256 = "1fcfmz4wji3gqmmsdx493r7d101s58hwjalqps6hy25nva5pvmfs";
+    };
+  }
+  {
+    goPackagePath  = "github.com/ghodss/yaml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ghodss/yaml";
+      rev =  "73d445a93680fa1a78ae23a5839bad48f32ba1ee";
+      sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev =  "c0656edd0d9eab7c66d1eb0c568f9039345796f7";
+      sha256 = "0b943dhx571lhgcs3rqzy0092mi2x5mwy2kl7g8rryhy3r5rzrz9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/glog";
+      rev =  "23def4e6c14b4da8ac2ed8007337bc5eb5007998";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "b4deda0973fb4c70b50d226b1af49f3da59f5265";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/btree";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/btree";
+      rev =  "4030bb1f1f0c35b30ca7009e9ebd06849dd45306";
+      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/gofuzz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gofuzz";
+      rev =  "24818f796faf91cd76ec7bddd72458fbced7a6c1";
+      sha256 = "0cq90m2lgalrdfrwwyycrrmn785rgnxa3l3vp9yxkvnv88bymmlm";
+    };
+  }
+  {
+    goPackagePath  = "github.com/googleapis/gnostic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/googleapis/gnostic";
+      rev =  "0c5108395e2debce0d731cf0287ddf7242066aba";
+      sha256 = "0jf3cp5clli88gpjf24r6wxbkvngnc1kf59d4cgjczsn2wasvsfc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gregjones/httpcache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gregjones/httpcache";
+      rev =  "787624de3eb7bd915c329cba748687a3b22666a6";
+      sha256 = "1zqlg9pkj7r6fqw7wv3ywvbz3bh0hvzifs2scgcraj812q5189w5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/imdario/mergo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imdario/mergo";
+      rev =  "6633656539c1639d9d78127b7d47c622b5d7b6dc";
+      sha256 = "1fffbq1l17i0gynmvcxypl7d9h4v81g5vlimiph5bfgf4sp4db7g";
+    };
+  }
+  {
+    goPackagePath  = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev =  "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+  {
+    goPackagePath  = "github.com/json-iterator/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/json-iterator/go";
+      rev =  "0ac74bba4a81211b28e32ef260c0f16ae41f1377";
+      sha256 = "07aa3jz9rmhn3cfv06z9549kfpsx4i85qbi3j7q60z2pvasjxqv5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev =  "b8bc1bf767474819792c23f32d8286a45736f1c6";
+      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
+    };
+  }
+  {
+    goPackagePath  = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev =  "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath  = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/reflect2";
+      rev =  "05fbef0ca5da472bbf96c9322b84a53edc03c9fd";
+      sha256 = "1jc7xba9v3scsc8fg5nb9g6lrxxgiaaykx8q817arq9b737y90gm";
+    };
+  }
+  {
+    goPackagePath  = "github.com/petar/GoLLRB";
+    fetch = {
+      type = "git";
+      url = "https://github.com/petar/GoLLRB";
+      rev =  "53be0d36a84c2a886ca057d34b6aa4468df9ccb4";
+      sha256 = "01xp3lcamqkvl91jg6ly202gdsgf64j39rkrcqxi6v4pbrcv7hz0";
+    };
+  }
+  {
+    goPackagePath  = "github.com/peterbourgon/diskv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterbourgon/diskv";
+      rev =  "5f041e8faa004a95c88a202771f4cc3e991971e6";
+      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
+    };
+  }
+  {
+    goPackagePath  = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev =  "816c9085562cd7ee03e7f8188a1cfd942858cded";
+      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev =  "a114f312e075f65bf30d6d9a1430113f857e543b";
+      sha256 = "10lmi5ni06yijxg02fcic5b7ycjkia12yma4a4lz8a56j30wykx1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev =  "3ebe029320b2676d667ae88da602a5f854788a8a";
+      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/v2pro/plz";
+    fetch = {
+      type = "git";
+      url = "https://github.com/v2pro/plz";
+      rev =  "10fc95fad3224a032229e59f6e7023137d82b526";
+      sha256 = "0p04pjrz55zn6dbi6l0705prjmhqnmvsvrxzc74hl12wi6r35drp";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "49796115aa4b964c318aad4f3084fdb41e9aa067";
+      sha256 = "0pcq2drkzsw585xi6rda8imd7a139prrmvgmv8nz0zgzk6g4dy59";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "1c05540f6879653db88113bc4a2b70aec4bd491f";
+      sha256 = "0h8yqb0vcqgllgydrf9d3rzp83w8wlr8f0nm6r1rwf2qg30pq1pd";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev =  "a6bd8cefa1811bd24b86f8902872e4e8225f74c4";
+      sha256 = "151in8qcf5y97ziavl6b03vgw4r87zqx5kg4vjhjszjbh60cfswp";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "e4b3c5e9061176387e7cea65e4dc5853801f3fb7";
+      sha256 = "1ijx254fycsnr16m24k7lqvkmdkkrqxsl9mr1kz4mf61a8n0arf9";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev =  "f51c12702a4d776e4c1fa9b0fabab841babae631";
+      sha256 = "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy";
+    };
+  }
+  {
+    goPackagePath  = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev =  "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06";
+      sha256 = "1iabxnqgxvvn1239i6fvfl375vlbvhfrc03m1x2rvalmx4d6w9c7";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/inf.v0";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-inf/inf";
+      rev =  "3887ee99ecf07df5b447e9b00d9c0b2adaa9f3e4";
+      sha256 = "0rf3vwyb8aqnac9x9d6ax7z5526c45a16yjm2pvkijr6qgqz8b82";
+    };
+  }
+  {
+    goPackagePath  = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-yaml/yaml";
+      rev =  "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/api";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/api";
+      rev =  "8be2a0b24ed0dac9cfc1ac2d987ea16cfcdbecb6";
+      sha256 = "1dpmd59jlkxgrp5aaf8420344c6nq4kjlc1avgcp7690yrzc50v6";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/apimachinery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/apimachinery";
+      rev =  "594fc14b6f143d963ea2c8132e09e73fe244b6c9";
+      sha256 = "0xykhpmjgagyb0ac4y0ps4v1s9bd2b1sc0simh48c41a9fk3yvr7";
+    };
+  }
+  {
+    goPackagePath  = "k8s.io/client-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kubernetes/client-go";
+      rev =  "739dd8f9d4801eb23e2bc43423c0b4acaaded29a";
+      sha256 = "15psjmb14rz4kwysim9vfbbylx0khkw29b195rziv1vk202lh28k";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
index 0b5a091fbb4..b801fad546d 100644
--- a/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/terraform-landscape/Gemfile.lock
@@ -7,7 +7,7 @@ GEM
     diffy (3.2.1)
     highline (1.7.10)
     polyglot (0.3.5)
-    terraform_landscape (0.2.0)
+    terraform_landscape (0.2.1)
       colorize (~> 0.7)
       commander (~> 4.4)
       diffy (~> 3.0)
@@ -22,4 +22,4 @@ DEPENDENCIES
   terraform_landscape
 
 BUNDLED WITH
-   1.14.6
+   1.16.3
diff --git a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
index 5c3946f3212..aa3f5142aa5 100644
--- a/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
+++ b/pkgs/applications/networking/cluster/terraform-landscape/gemset.nix
@@ -1,7 +1,5 @@
 {
   colorize = {
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b";
@@ -11,8 +9,6 @@
   };
   commander = {
     dependencies = ["highline"];
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "11sd2sb0id2dbxkv4pvymdiia1xxhms45kh4nr8mryqybad0fwwf";
@@ -21,8 +17,6 @@
     version = "4.4.6";
   };
   diffy = {
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "119imrkn01agwhx5raxhknsi331y5i4yda7r0ws0an6905ximzjg";
@@ -31,8 +25,6 @@
     version = "3.2.1";
   };
   highline = {
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
@@ -41,8 +33,6 @@
     version = "1.7.10";
   };
   polyglot = {
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr";
@@ -52,19 +42,15 @@
   };
   terraform_landscape = {
     dependencies = ["colorize" "commander" "diffy" "treetop"];
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mlpbsmysyhhbjx40gbwxr4mx7d3qpblbf5ms2v607b8a3saapzj";
+      sha256 = "1i93pih7r6zcqpjhsmvkpfkgbh0l66c60i6fkiymq7vy2xd6wnns";
       type = "gem";
     };
-    version = "0.2.0";
+    version = "0.2.1";
   };
   treetop = {
     dependencies = ["polyglot"];
-    groups = ["default"];
-    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0g31pijhnv7z960sd09lckmw9h8rs3wmc8g4ihmppszxqm99zpv7";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index df627f57de5..9b14ac6f2c3 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -7,8 +7,8 @@ let
     version = "1.4.0";
     sha256Hash = "1zlsvbk9vgsqwplcswh2q0mqjdqf5md1043paab02wy3qg2x37d8";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
-    archPatchesRevision = "388448";
-    archPatchesHash = "06a1j7fxg55d3wgab9rnwv93dvwdwkx7mvsxaywwwiz7ng20rgs1";
+    archPatchesRevision = "388730";
+    archPatchesHash = "1gvisz36bc6bl4zcpjyyk0a2dl6ixp65an8wgm2lkc9mhkl783q7";
   };
 in {
   stable = mkTelegram stableVersion;
diff --git a/pkgs/applications/networking/mailreaders/inboxer/default.nix b/pkgs/applications/networking/mailreaders/inboxer/default.nix
index e033e532ec1..eb4d710857c 100644
--- a/pkgs/applications/networking/mailreaders/inboxer/default.nix
+++ b/pkgs/applications/networking/mailreaders/inboxer/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   name = "inboxer-${version}";
-  version = "1.1.4";
+  version = "1.1.5";
 
   meta = with stdenv.lib; {
     description = "Unofficial, free and open-source Google Inbox Desktop App";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/denysdovhan/inboxer/releases/download/v${version}/inboxer_${version}_amd64.deb";
-    sha256 = "1jhx7mghslk8s2h50g8avnspf2v2r8yj0i8hkhw3qy2sa91m3ck1";
+    sha256 = "11xid07rqn7j6nxn0azxwf0g8g3jhams2fmf9q7xc1is99zfy7z4";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index 4de4752aefc..dcb76320a9b 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "sep18a";
-  version = "20180901_a";
+  srcVersion = "oct18a";
+  version = "20181001_a";
   name = "gildas-${version}";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.gz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.gz" ];
-    sha256 = "c9110636431a94e5b1ff5af876c25ad0a991cf62b94d4c42ce07b048eb93d956";
+    sha256 = "091941a74kaw3xqsmqda7bj972cafi8ppj2c5xq0mca2c075dyfx";
   };
 
   enableParallelBuilding = true;
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gtk2-x11 lesstif cfitsio python27Env ];
 
-  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ./gag-font-bin-rule.patch ];
+  patches = [ ./wrapper.patch ./clang.patch ./aarch64.patch ];
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-unused-command-line-argument";
 
diff --git a/pkgs/applications/science/astronomy/gildas/gag-font-bin-rule.patch b/pkgs/applications/science/astronomy/gildas/gag-font-bin-rule.patch
deleted file mode 100644
index 61ddc37c7fd..00000000000
--- a/pkgs/applications/science/astronomy/gildas/gag-font-bin-rule.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ruN gildas-src-aug18a/kernel/etc/Makefile gildas-src-aug18a.gag-font-bin-rule/kernel/etc/Makefile
---- gildas-src-aug18a/kernel/etc/Makefile	2016-09-09 09:39:37.000000000 +0200
-+++ gildas-src-aug18a.gag-font-bin-rule/kernel/etc/Makefile	2018-09-04 12:03:11.000000000 +0200
-@@ -29,7 +29,8 @@
- 
- SEDEXE=sed -e 's?source tree?executable tree?g'
- 
--$(datadir)/gag-font.bin: hershey-font.dat $(bindir)/hershey
-+$(datadir)/gag-font.bin: hershey-font.dat $(bindir)/hershey \
-+	$(gagintdir)/etc/gag.dico.gbl $(gagintdir)/etc/gag.dico.lcl
- ifeq ($(GAG_ENV_KIND)-$(GAG_TARGET_KIND),cygwin-mingw)
- 	$(bindir)/hershey `cygpath -w $(datadir)`/gag-font.bin
- else
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index fd6240fe1b2..986c4a1f32a 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "verilator-${version}";
-  version = "3.926";
+  version = "4.002";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${name}.tgz";
-    sha256 = "0f4ajj1gmxskid61qj1ql1rzc3cmn1x2fpgqrbg7x3gszz61c9gr";
+    sha256 = "10g1814kq07a2818p0lmvacy1a6shbc0k6z16wdgas4h5x1n4f43";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 946f65d944b..e21c274370c 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
-  version = "2018.07.26";
+  version = "2018.09.12";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "symbiyosys";
-    rev    = "2fef25f93dd1cb5137a08e71f507e3eee8100fb1";
-    sha256 = "103fga0n11h4n2q346xyz3k0615d9lgx2b8sqr1pwn2hx26kchav";
+    rev    = "e90bcb588e97118af0cdba23fae562fb0efbf294";
+    sha256 = "16nlimpdc3g6lghwqpyirgrr1d9mgk4wg3c06fvglzaicvjixnfr";
   };
 
   buildInputs = [ python3 yosys ];
diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix
index 5dc0c48b0f7..a2ebb8195db 100644
--- a/pkgs/applications/version-management/cvs2svn/default.nix
+++ b/pkgs/applications/version-management/cvs2svn/default.nix
@@ -1,29 +1,33 @@
-{stdenv, lib, fetchurl, python2, cvs, makeWrapper}:
+{ lib, fetchurl, makeWrapper
+, python2Packages
+, cvs, subversion, git, bazaar
+}:
 
-stdenv.mkDerivation rec {
-  name = "cvs2svn-2.4.0";
+python2Packages.buildPythonApplication  rec {
+  name = "cvs2svn-${version}";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "http://cvs2svn.tigris.org/files/documents/1462/49237/${name}.tar.gz";
-    sha256 = "05piyrcp81a1jgjm66xhq7h1sscx42ccjqaw30h40dxlwz1pyrx6";
+    url = "http://cvs2svn.tigris.org/files/documents/1462/49543/${name}.tar.gz";
+    sha256 = "1ska0z15sjhyfi860rjazz9ya1gxbf5c0h8dfqwz88h7fccd22b4";
   };
 
-  buildInputs = [python2 makeWrapper];
+  buildInputs = [ makeWrapper ];
 
-  dontBuild = true;
-  installPhase = ''
-    python ./setup.py install --prefix=$out
+  checkInputs = [ subversion git bazaar ];
+
+  checkPhase = "python run-tests.py";
+
+  doCheck = false; # Couldn't find node 'transaction...' in expected output tree
+
+  postInstall = ''
     for i in bzr svn git; do
       wrapProgram $out/bin/cvs2$i \
-          --prefix PATH : "${lib.makeBinPath [ cvs ]}" \
-          --set PYTHONPATH "$(toPythonPath $out):$PYTHONPATH"
+          --prefix PATH : "${lib.makeBinPath [ cvs ]}"
     done
   '';
 
-  /* !!! maybe we should absolutise the program names in
-     $out/lib/python2.4/site-packages/cvs2svn_lib/config.py. */
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A tool to convert CVS repositories to Subversion repositories";
     homepage = http://cvs2svn.tigris.org/;
     maintainers = [ maintainers.makefu ];
diff --git a/pkgs/applications/window-managers/i3/wmfocus.nix b/pkgs/applications/window-managers/i3/wmfocus.nix
new file mode 100644
index 00000000000..546589623cb
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/wmfocus.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, rustPlatform,
+  xorg, python3, pkgconfig, cairo, libxkbcommon }:
+let
+  pname = "wmfocus";
+  version = "1.0.2";
+in
+rustPlatform.buildRustPackage {
+  inherit pname version;
+  name = "${pname}-${version}";
+
+  nativeBuildInputs = [ python3 pkgconfig ];
+  buildInputs = [ cairo libxkbcommon xorg.xcbutilkeysyms ];
+
+  # For now, this is the only available featureset. This is also why the file is
+  # in the i3 folder, even though it might be useful for more than just i3
+  # users.
+  cargoBuildFlags = ["--features i3"];
+
+  src = fetchFromGitHub {
+    owner = "svenstaro";
+    repo = pname;
+    rev = version;
+    sha256 = "14yxg2jiqx7gng677sbmvv0a0msb9wpvp3qh8h3nkq0vi17ds668";
+  };
+
+  cargoSha256 = "0lwzw8gf970ybblaxxkwn3pxrncxp0hhvykffbzirs7fic4fnvsg";
+
+  meta = with stdenv.lib; {
+    description = ''
+      Tool that allows you to rapidly choose a specific window directly
+      without having to use the mouse or directional keyboard navigation.
+    '';
+    maintainers = with maintainers; [ synthetica ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+    homepage = https://github.com/svenstaro/wmfocus;
+  };
+}
diff --git a/pkgs/data/fonts/hyperscrypt/default.nix b/pkgs/data/fonts/hyperscrypt/default.nix
new file mode 100644
index 00000000000..80516eb0293
--- /dev/null
+++ b/pkgs/data/fonts/hyperscrypt/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchzip, lib }:
+
+let
+  version = "1.1";
+  pname = "HyperScrypt";
+in
+
+fetchzip rec {
+  name = "${lib.toLower pname}-font-${version}";
+  url = "https://gitlab.com/StudioTriple/Hyper-Scrypt/-/archive/${version}/Hyper-Scrypt-${version}.zip";
+  sha256 = "01pf5p2scmw02s0gxnibiwxbpzczphaaapv0v4s7svk9aw2gmc0m";
+  postFetch = ''
+    mkdir -p $out/share/fonts/{truetype,opentype}
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/${pname}.ttf
+    unzip -j $downloadedFile \*${pname}.otf -d $out/share/fonts/opentype/${pname}.otf
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://velvetyne.fr/fonts/hyper-scrypt/;
+    description = "A modern stencil typeface inspired by stained glass technique";
+    longDescription = ''
+      The Hyper Scrypt typeface was designed for the Hyper Chapelle
+      exhibition. It was commissioned by AAAAA Atelier to Studio
+      Triple's designer Jérémy Landes.  Hyper Scrypt is a modern
+      stencil typeface inspired by the stained glass technique used in
+      the Metz cathedral. It borrows the stained glass method, drawing
+      holes for the light with black lead. This creates a reverse
+      typeface, where the shapes of the letters are drawn by their
+      counters. Hyper Scrypt is at the intersection between 3 metals :
+      the sacred lead of stained glass, the lead of print characters
+      and the heavy metal. Despite its organic look inherited for the
+      molted metal, Hyper Scrypt is based upon a rigorous grid,
+      allowing some neat alignements between shapes in multi lines
+      layouts.
+      '';
+    license = licenses.ofl;
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
index c457a8c69ec..d4a15a105cd 100644
--- a/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
+++ b/pkgs/data/icons/elementary-xfce-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "elementary-xfce-icon-theme-${version}";
-  version = "0.13";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = "elementary-xfce";
     rev = "v${version}";
-    sha256 = "01hlpw4vh4kgyghki01jp0snbn0g79mys28fb1m993mivnlzmn75";
+    sha256 = "16msdrazhbv80cvh5ffvgj13xmkpf87r7mq6xz071fza6nv7g0jn";
   };
 
   nativeBuildInputs = [ pkgconfig gdk_pixbuf librsvg optipng gtk3 hicolor-icon-theme ];
diff --git a/pkgs/data/icons/iconpack-obsidian/default.nix b/pkgs/data/icons/iconpack-obsidian/default.nix
index b033f510f0b..ee45a186f29 100644
--- a/pkgs/data/icons/iconpack-obsidian/default.nix
+++ b/pkgs/data/icons/iconpack-obsidian/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "iconpack-obsidian-${version}";
-  version = "4.0.1";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "iconpack-obsidian";
     rev = "v${version}";
-    sha256 = "1mlaldqjc3am2d2m577fhsidlnfqlhmnf1l8hh50iqr94mc14fab";
+    sha256 = "0np2s4mbaykwwv516959r5d9gfdmqb5hadsx18x2if4751a9qz49";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index a54384f0bb2..345bd125025 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -4,13 +4,13 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2018.05.13";
+  version = "2018.09.08";
 
   src = fetchFromGitHub {
     owner  = "cseed";
     repo   = "arachne-pnr";
-    rev    = "5d830dd94ad956d17d77168fe7718f22f8b55b33";
-    sha256 = "1i056m5zn21nml65q9x9mgks4ydl8lqya6a4szix01vn3k0g06vn";
+    rev    = "840bdfdeb38809f9f6af4d89dd7b22959b176fdd";
+    sha256 = "1dqvjvgvsridybishv4pnigw9gypxh7r7nrqp9z9qq92v7c5rxzl";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index aa1c85ebcb0..0648a245a4c 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -1,93 +1,142 @@
-{ stdenv, fetchurl, makeWrapper
+{ stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
+, gmp, openssl, readline, tzdata, libxml2, libyaml
 , boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which }:
 
-stdenv.mkDerivation rec {
-  name = "crystal-${version}";
-  version = "0.26.0";
+let
+  binaryVersion = "0.26.0";
+  releaseDate = "2018-08-29";
 
-  src = fetchurl {
-    url = "https://github.com/crystal-lang/crystal/archive/${version}.tar.gz";
-    sha256 = "18vv47xvnf3hl5js5sk58wj2khqq36kcs851i3lgr0ji7m0g3379";
-  };
-
-  prebuiltName = "crystal-0.26.0-1";
-  prebuiltSrc = let arch = {
-    "x86_64-linux" = "linux-x86_64";
-    "i686-linux" = "linux-i686";
+  arch = {
+    "x86_64-linux"  = "linux-x86_64";
+    "i686-linux"    = "linux-i686";
     "x86_64-darwin" = "darwin-x86_64";
-  }."${stdenv.hostPlatform.system}" or (throw "system ${stdenv.hostPlatform.system} not supported");
-  in fetchurl {
-    url = "https://github.com/crystal-lang/crystal/releases/download/0.26.0/${prebuiltName}-${arch}.tar.gz";
-    sha256 = {
-      "x86_64-linux" = "1xban102yiiwmlklxvn3xp3q546bp8hlxxpakayajkhhnpl6yv45";
-      "i686-linux" = "1igspf1lrv7wpmz0pfrkbx8m1ykvnv4zhic53cav4nicppm2v0ic";
-      "x86_64-darwin" = "0hzc65ccajr0yhmvi5vbdgbzbp1gbjy56da24ds3zwwkam1ddk0k";
-    }."${stdenv.hostPlatform.system}";
+  }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
+
+  checkInputs = [ gmp openssl readline libxml2 libyaml tzdata ];
+
+  # we could turn this into a function instead in case we cannot use the same
+  # binary to build multiple versions
+  binary = stdenv.mkDerivation rec {
+    name = "crystal-binary-${binaryVersion}";
+
+    src = fetchurl {
+      url = "https://github.com/crystal-lang/crystal/releases/download/${binaryVersion}/crystal-${binaryVersion}-1-${arch}.tar.gz";
+      sha256 = {
+        "x86_64-linux"  = "1xban102yiiwmlklxvn3xp3q546bp8hlxxpakayajkhhnpl6yv45";
+        "i686-linux"    = "1igspf1lrv7wpmz0pfrkbx8m1ykvnv4zhic53cav4nicppm2v0ic";
+        "x86_64-darwin" = "0hzc65ccajr0yhmvi5vbdgbzbp1gbjy56da24ds3zwwkam1ddk0k";
+      }."${stdenv.system}";
+    };
+
+    buildCommand = ''
+      mkdir -p $out
+      tar --strip-components=1 -C $out -xf ${src}
+    '';
   };
 
-  unpackPhase = ''
-    mkdir ${prebuiltName}
-    tar --strip-components=1 -C ${prebuiltName} -xf ${prebuiltSrc}
-    tar xf ${src}
-  '';
-
-  # crystal on Darwin needs libiconv to build
-  libs = [
-    boehmgc libatomic_ops pcre libevent
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    libiconv
-  ];
-
-  nativeBuildInputs = [ which makeWrapper ];
-
-  buildInputs = libs ++ [ llvm ];
-
-  libPath = stdenv.lib.makeLibraryPath libs;
-
-  sourceRoot = "${name}";
-
-  preBuild = ''
-    patchShebangs bin/crystal
-    patchShebangs ../${prebuiltName}/bin/crystal
-    export PATH="$(pwd)/../${prebuiltName}/bin:$PATH"
-  '';
-
-  makeFlags = [ "CRYSTAL_CONFIG_VERSION=${version}"
-                "FLAGS=--no-debug"
-                "release=1"
-                "all" "docs"
-              ];
-
-  installPhase = ''
-    install -Dm755 .build/crystal $out/bin/crystal
-    wrapProgram $out/bin/crystal \
-        --suffix PATH : ${clang}/bin \
-        --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
-        --suffix LIBRARY_PATH : $libPath
-    install -dm755 $out/lib/crystal
-    cp -r src/* $out/lib/crystal/
-
-    install -dm755 $out/share/doc/crystal/api
-    cp -r docs/* $out/share/doc/crystal/api/
-    cp -r samples $out/share/doc/crystal/
-
-    install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal
-    install -Dm644 etc/completion.zsh $out/share/zsh/site-functions/_crystal
-
-    install -Dm644 man/crystal.1 $out/share/man/man1/crystal.1
-
-    install -Dm644 LICENSE $out/share/licenses/crystal/LICENSE
-  '';
-
-  dontStrip = true;
+  generic = { version, sha256, doCheck ? true }:
+  stdenv.mkDerivation rec {
+    inherit doCheck;
+    name = "crystal-${version}";
+
+    src = fetchFromGitHub {
+      owner  = "crystal-lang";
+      repo   = "crystal";
+      rev    = version;
+      inherit sha256;
+    };
+
+    # the first bit can go when https://github.com/crystal-lang/crystal/pull/6788 is merged
+    postPatch = ''
+      substituteInPlace src/compiler/crystal/config.cr \
+        --replace '{{ `date "+%Y-%m-%d"`.stringify.chomp }}' '"${releaseDate}"'
+      ln -s spec/compiler spec/std
+      substituteInPlace spec/std/process_spec.cr \
+        --replace /bin/ /run/current-system/sw/bin
+    '';
+
+    buildInputs = [
+      boehmgc libatomic_ops pcre libevent
+      llvm
+    ] ++ stdenv.lib.optionals stdenv.isDarwin [
+      libiconv
+    ];
+
+    nativeBuildInputs = [ binary makeWrapper which ];
+
+
+    makeFlags = [
+      "CRYSTAL_CONFIG_BUILD_DATE=${releaseDate}"
+      "CRYSTAL_CONFIG_VERSION=${version}"
+    ];
+
+    buildFlags = [
+      "all" "docs"
+    ];
+
+    FLAGS = [
+      "--release"
+      "--single-module" # needed for deterministic builds
+    ];
+
+    # We *have* to add `which` to the PATH or crystal is unable to build stuff
+    # later if which is not available.
+    installPhase = ''
+      runHook preInstall
+
+      install -Dm755 .build/crystal $out/bin/crystal
+      wrapProgram $out/bin/crystal \
+          --suffix PATH : ${lib.makeBinPath [ clang which ]} \
+          --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
+          --suffix LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}
+      install -dm755 $out/lib/crystal
+      cp -r src/* $out/lib/crystal/
+
+      install -dm755 $out/share/doc/crystal/api
+      cp -r docs/* $out/share/doc/crystal/api/
+      cp -r samples $out/share/doc/crystal/
+
+      install -Dm644 etc/completion.bash $out/share/bash-completion/completions/crystal
+      install -Dm644 etc/completion.zsh $out/share/zsh/site-functions/_crystal
+
+      install -Dm644 man/crystal.1 $out/share/man/man1/crystal.1
+
+      install -Dm644 -t $out/share/licenses/crystal LICENSE README.md
+
+      runHook postInstall
+    '';
+
+    enableParallelBuilding = true;
+
+    dontStrip = true;
+
+    checkTarget = "spec";
+
+    preCheck = ''
+      export LIBRARY_PATH=${lib.makeLibraryPath checkInputs}:$LIBRARY_PATH
+    '';
+
+    meta = with lib; {
+      description = "A compiled language with Ruby like syntax and type inference";
+      homepage = https://crystal-lang.org/;
+      license = licenses.asl20;
+      maintainers = with maintainers; [ manveru david50407 peterhoeg ];
+      platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+    };
+  };
 
-  enableParallelBuilding = false;
+in rec {
+  crystal_0_25 = generic {
+    version = "0.25.1";
+    sha256  = "15xmbkalsdk9qpc6wfpkly3sifgw6a4ai5jzlv78dh3jp7glmgyl";
+    doCheck = false;
+  };
 
-  meta = {
-    description = "A compiled language with Ruby like syntax and type inference";
-    homepage = https://crystal-lang.org/;
-    license = stdenv.lib.licenses.asl20;
-    maintainers = with stdenv.lib.maintainers; [ manveru david50407 ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  crystal_0_26 = generic {
+    version = "0.26.1";
+    sha256  = "0jwxrqm99zcjj82gyl6bzvnfj79nwzqf8sa1q3f66q9p50v44f84";
+    doCheck = false; # about 20 tests out of more than 14000 are failing
   };
+
+  crystal = crystal_0_26;
 }
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index aac8cf4fd22..b548b05339e 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -22,7 +22,7 @@
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? true
+  enableShared ? !stdenv.targetPlatform.useiOSPrebuilt
 
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
@@ -79,7 +79,7 @@ let
   targetCC = builtins.head toolsForTarget;
 
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   version = "8.2.2";
   name = "${targetPrefix}ghc-${version}";
 
@@ -98,6 +98,35 @@ stdenv.mkDerivation rec {
       sha256 = "03253ci40np1v6k0wmi4aypj3nmj3rdyvb1k6rwqipb30nfc719f";
     })
     (import ./abi-depends-determinism.nix { inherit fetchpatch runCommand; })
+  ] ++ stdenv.lib.optionals (hostPlatform != targetPlatform) [
+    # Cherry-pick a few commits from newer hsc2hs so that proper binary is
+    # installed -- stage 2 normally but stage 1 with cross.
+    #
+    # TODO make unconditional next mass rebuild.
+    (fetchpatch {
+      url = "https://git.haskell.org/hsc2hs.git/patch/ecdac062b5cf1d284906487849c56f4e149b3c8e";
+      sha256 = "1gagswi26j50z44sdx0mk1sb3wr0nrqyaph9j724zp6iwqslxyzm";
+      extraPrefix = "utils/hsc2hs/";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://git.haskell.org/hsc2hs.git/patch/598303cbffcd230635fbce28ce4105d177fdf76a";
+      sha256 = "0hqcg434qbh1bz1pk85cap2q4v9i8bs6x65yzq4spz6xk3zq6af7";
+      extraPrefix = "utils/hsc2hs/";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://git.haskell.org/hsc2hs.git/patch/9483ad10064fbbb97ab525280623826b1ef63959";
+      sha256 = "1cpfdhfc0cz9xkjzkcgwx4fbyj96dkmd04wpwi1vji7fahw8kmf3";
+      extraPrefix = "utils/hsc2hs/";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf";
+      sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
+      extraPrefix = "utils/hsc2hs/";
+      stripLen = 1;
+    })
   ] ++ stdenv.lib.optionals (hostPlatform != targetPlatform && targetPlatform.system == hostPlatform.system) [
     (fetchpatch {
       url = "https://raw.githubusercontent.com/gentoo/gentoo/08a41d2dff99645af6ac5a7bb4774f5f193b6f20/dev-lang/ghc/files/ghc-8.2.1_rc1-unphased-cross.patch";
@@ -239,4 +268,8 @@ stdenv.mkDerivation rec {
     inherit (ghc.meta) license platforms;
   };
 
-}
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 87045815a37..6546959e0a2 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -32,6 +32,8 @@
   ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
 }:
 
+assert !enableIntegerSimple -> gmp != null;
+
 let
   inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -48,8 +50,7 @@ let
     include mk/flavours/\$(BuildFlavour).mk
     endif
     DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
-  '' + stdenv.lib.optionalString enableIntegerSimple ''
-    INTEGER_LIBRARY = integer-simple
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
   '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
     Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
     CrossCompilePrefix = ${targetPrefix}
@@ -77,7 +78,7 @@ let
   targetCC = builtins.head toolsForTarget;
 
 in
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   inherit version;
   inherit (src) rev;
   name = "${targetPrefix}ghc-${version}";
@@ -206,4 +207,8 @@ stdenv.mkDerivation rec {
     inherit (ghc.meta) license platforms;
   };
 
-}
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 532fc04a447..314fbf354e1 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2018.08.08";
+  version = "2018.09.30";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "93efbd5d158e374a0abe2afb06484ccc14aa2c88";
-      sha256 = "13y7rzpykihal789hyibg629gwj5bh1s0782y5xxj6jlg0bc9ly8";
+      rev    = "4d2917447cc14c590b4fee5ba36948fb4ee6884b";
+      sha256 = "0b9mmzq2jhx8x8b58nk97fzh70nbhlc3lcfln5facxddv4mp2gl1";
       name   = "yosys";
     })
 
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index f6d8cd6fa4c..1fe3bcf6ced 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -9,11 +9,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gdal-${version}";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchurl {
     url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
-    sha256 = "0nkjnznrp7dr41zsh8j923c9zpc3i5vj3wjfc2df9rrybb22ailw";
+    sha256 = "191jknma0vricrgdcdmwh8588rwly6a77lmynypxdl87i3z7hv9z";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index 8addb6128f0..460a58a19a7 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -1,6 +1,7 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, libtool
 , gtk ? null
 , libpulseaudio, gst_all_1, libvorbis, libcap
+, CoreServices
 , withAlsa ? stdenv.isLinux, alsaLib }:
 
 stdenv.mkDerivation rec {
@@ -15,6 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libpulseaudio libvorbis gtk
   ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ])
+    ++ lib.optional stdenv.isDarwin CoreServices
     ++ lib.optional stdenv.isLinux libcap
     ++ lib.optional withAlsa alsaLib;
 
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index a94f2745894..d7dd2d1190d 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -20,6 +20,7 @@
 , bundleId ? null
 , version ? null
 , title ? null
+, meta ? {}
 }:
 
 assert release -> codeSignIdentity != null && certificateFile != null && certificatePassword != null && provisioningProfile != null && signMethod != null;
@@ -49,6 +50,7 @@ in
 stdenv.mkDerivation {
   name = stdenv.lib.replaceChars [" "] [""] name;
   inherit src;
+  inherit meta;
   buildInputs = [ xcodewrapper ];
   buildPhase = ''
     ${stdenv.lib.optionalString release ''
diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix
index c7baa87a331..6be1595f7c5 100644
--- a/pkgs/development/ocaml-modules/piqi/default.nix
+++ b/pkgs/development/ocaml-modules/piqi/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, ocaml, findlib, which, ulex, easy-format, ocaml_optcomp, xmlm, base64 }:
 
 stdenv.mkDerivation rec {
-  version = "0.6.13";
+  version = "0.6.14";
   name    = "piqi-${version}";
  
   src = fetchurl {
     url = "https://github.com/alavrik/piqi/archive/v${version}.tar.gz";
-    sha256 = "1whqr2bb3gds2zmrzqnv8vqka9928w4lx6mi6g244kmbwb2h8d8l";
+    sha256 = "1ssccnwqzfyf7syfq2fv4zyhwayxwd75rhq9y28mvq1w6qbww4l7";
   };
 
   buildInputs = [ ocaml findlib which ocaml_optcomp ];
   propagatedBuildInputs = [ulex xmlm easy-format base64];
 
-  patches = [ ./no-ocamlpath-override.patch ./safe-string.patch ];
+  patches = [ ./no-ocamlpath-override.patch ];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/piqi/safe-string.patch b/pkgs/development/ocaml-modules/piqi/safe-string.patch
deleted file mode 100644
index fbc2864d534..00000000000
--- a/pkgs/development/ocaml-modules/piqi/safe-string.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/piqilib/piqi_json_parser.mll
-+++ b/piqilib/piqi_json_parser.mll
-@@ -189,8 +189,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-     let len = lexbuf.lex_curr_pos - lexbuf.lex_start_pos in
-     let s = lexbuf.lex_buffer in
-     let start = lexbuf.lex_start_pos in
--    check_adjust_utf8 v lexbuf s start len;
--    Buffer.add_substring v.buf s start len
-+    check_adjust_utf8 v lexbuf (Bytes.unsafe_to_string s) start len;
-+    Buffer.add_subbytes v.buf s start len
- 
-   let map_lexeme f lexbuf =
-     let len = lexbuf.lex_curr_pos - lexbuf.lex_start_pos in
diff --git a/pkgs/development/python-modules/btchip/default.nix b/pkgs/development/python-modules/btchip/default.nix
new file mode 100644
index 00000000000..6e2e703dd56
--- /dev/null
+++ b/pkgs/development/python-modules/btchip/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, hidapi, pyscard, ecdsa }:
+
+buildPythonPackage rec {
+  pname = "btchip-python";
+  version = "0.1.28";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10yxwlsr99gby338rsnczkfigcy36fiajpkr6f44438qlvbx02fs";
+  };
+
+  propagatedBuildInputs = [ hidapi pyscard ecdsa ];
+
+  # tests requires hardware
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python communication library for Ledger Hardware Wallet products";
+    homepage = "https://github.com/LedgerHQ/btchip-python";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/django-raster/default.nix b/pkgs/development/python-modules/django-raster/default.nix
index 39634b8d293..b5cb017956c 100644
--- a/pkgs/development/python-modules/django-raster/default.nix
+++ b/pkgs/development/python-modules/django-raster/default.nix
@@ -1,7 +1,10 @@
 { stdenv, buildPythonPackage, fetchPypi, isPy3k,
   numpy, django_colorful, pillow, psycopg2,
-  pyparsing, django_2_1, celery, boto3
+  pyparsing, django, celery, boto3
 }:
+if stdenv.lib.versionOlder django.version "2.0"
+then throw "django-raster requires Django >= 2.0. Consider overiding the python package set to use django_2."
+else
 buildPythonPackage rec {
   version = "0.6";
   pname = "django-raster";
@@ -17,7 +20,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   propagatedBuildInputs = [ numpy django_colorful pillow psycopg2
-                            pyparsing django_2_1 celery boto3 ];
+                            pyparsing django celery boto3 ];
 
   meta = with stdenv.lib; {
     description = "Basic raster data integration for Django";
diff --git a/pkgs/development/python-modules/simple-websocket-server/default.nix b/pkgs/development/python-modules/simple-websocket-server/default.nix
new file mode 100644
index 00000000000..ee9444fd38e
--- /dev/null
+++ b/pkgs/development/python-modules/simple-websocket-server/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "simple-websocket-server";
+  version = "20180414";
+  src = fetchFromGitHub {
+    owner = "dpallot";
+    repo = "simple-websocket-server";
+    rev = "34e6def93502943d426fb8bb01c6901341dd4fe6";
+    sha256 = "19rcpdx4vxg9is1cpyh9m9br5clyzrpb7gyfqsl0g3im04m098n5";
+  };
+
+  doCheck = false; # no tests
+
+  meta = with stdenv.lib; {
+    description = "A python based websocket server that is simple and easy to use";
+    homepage = https://github.com/dpallot/simple-websocket-server/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ rvolosatovs ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix
index 89addb377dc..ab816cde835 100644
--- a/pkgs/development/python-modules/trio/default.nix
+++ b/pkgs/development/python-modules/trio/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "trio";
-  version = "0.6.0";
+  version = "0.7.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a80c10b89068950aa649edd4b09a6f56236642c2c2e648b956289d2301fdb9e";
+    sha256 = "0df152qnj4xgxrxzd8619f8h77mzry7z8sp4m76fi21gnrcr297n";
   };
 
   checkInputs = [ pytest pyopenssl trustme ];
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
index 9fb7c0e64b8..02d5adb0c34 100644
--- a/pkgs/development/tools/build-managers/shards/default.nix
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -1,28 +1,32 @@
-{ stdenv, fetchurl, crystal, libyaml, which }:
+{ stdenv, fetchFromGitHub, crystal, pcre, libyaml, which }:
 
 stdenv.mkDerivation rec {
   name = "shards-${version}";
   version = "0.8.1";
 
-  src = fetchurl {
-    url = "https://github.com/crystal-lang/shards/archive/v${version}.tar.gz";
-    sha256 = "198768izbsqqp063847r2x9ddcf4qfxx7vx7c6gwbmgjmjv4mivm";
+  src = fetchFromGitHub {
+    owner  = "crystal-lang";
+    repo   = "shards";
+    rev    = "v${version}";
+    sha256 = "1cjn2lafr08yiqzlhyqx14jjjxf1y24i2kk046px07gljpnlgqwk";
   };
 
-  buildInputs = [ crystal libyaml which ];
+  buildInputs = [ crystal libyaml pcre which ];
 
   buildFlags = [ "CRFLAGS=--release" ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp bin/shards $out/bin/
+    runHook preInstall
+
+    install -Dm755 bin/shards $out/bin/shards
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://crystal-lang.org/;
-    license = licenses.asl20;
     description = "Dependency manager for the Crystal language";
-    maintainers = with maintainers; [ sifmelcara ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ peterhoeg ];
+    inherit (crystal.meta) homepage platforms;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 203e140b369..9981bca3b68 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "11.3.0";
+  version = "11.3.1";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "1xl48lrycwy4d7h83ydp9gj27d9mhbpa4xrd1bn7i3ad9lrn7xjz";
+    sha256 = "13w8fjjc087klracv4ggjifj08vx3b549mhy220r5wn9aga5m549";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "0afjg4hv9iy80anl5h7cnjdxzk4zrkj2zn3f4qsl9rf7354ik1zj";
+    sha256 = "10s2g6mqy7p5dmjmlxggsfqqqf4bfrqjri7m2nd11l1lf4mmr2kk";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0p992mm8zz30nx0q076g0waqvfknn05wyyr1n1sxglbh9nmym157";
+    sha256 = "1k978zsvsvr7ys18zqjg6n45cwi3nj0919fwj442dv99s95zyf6s";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
index 8f71f9ed630..8aa419ea5f9 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
@@ -1,16 +1,16 @@
 diff --git a/shells/bash.go b/shells/bash.go
-index 839b7781..2b478e1e 100644
+index 673f4765..a58cc5e2 100644
 --- a/shells/bash.go
 +++ b/shells/bash.go
-@@ -7,6 +7,7 @@ import (
- 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/common"
- 	"gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers"
+@@ -5,6 +5,7 @@ import (
+ 	"bytes"
+ 	"fmt"
  	"io"
 +	"os/exec"
  	"path"
  	"runtime"
  	"strconv"
-@@ -208,7 +209,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
+@@ -225,7 +226,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
  	if info.User != "" {
  		script.Command = "su"
  		if runtime.GOOS == "linux" {
@@ -22,4 +22,7 @@ index 839b7781..2b478e1e 100644
 +			script.Arguments = append(script.Arguments, "-s", shellPath)
  		}
  		script.Arguments = append(script.Arguments, info.User)
- 		script.Arguments = append(script.Arguments, "-c", shellCommand)
\ No newline at end of file
+ 		script.Arguments = append(script.Arguments, "-c", shellCommand)
+-- 
+2.18.0
+
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
deleted file mode 100644
index 33cbd23d062..00000000000
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/v1.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
-
-let
-  version = "1.11.5";
-  # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
-  docker_x86_64 = fetchurl {
-    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
-    sha256 = "0qy3xrq574c1lhkqw1zrkcn32w0ky3f4fppzdjhb5zwqvnaz7kx0";
-  };
-
-  docker_arm = fetchurl {
-    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
-    sha256 = "12clc28yc157s2kaa8239p0g086vq062jfjh2m1bxqmaypw9pyla";
-  };
-in
-buildGoPackage rec {
-  inherit version;
-  name = "gitlab-runner-${version}";
-  goPackagePath = "gitlab.com/gitlab-org/gitlab-ci-multi-runner";
-  commonPackagePath = "${goPackagePath}/common";
-  buildFlagsArray = ''
-    -ldflags=
-      -X ${commonPackagePath}.NAME=gitlab-runner
-      -X ${commonPackagePath}.VERSION=${version}
-      -X ${commonPackagePath}.REVISION=v${version}
-  '';
-
-  src = fetchFromGitLab {
-    owner = "gitlab-org";
-    repo = "gitlab-ci-multi-runner";
-    rev = "v${version}";
-    sha256 = "1xgx8jbgcc3ga7dkjxa2i8nj4afsdavzpfrgpdzma03jkcq1g2sv";
-  };
-
-  patches = [ ./fix-shell-path.patch ];
-
-  buildInputs = [ go-bindata ];
-
-  preBuild = ''
-    (
-    # go-bindata names the assets after the filename thus we create a symlink with the name we want
-    cd go/src/${goPackagePath}
-    ln -sf ${docker_x86_64} prebuilt-x86_64.tar.xz
-    ln -sf ${docker_arm} prebuilt-arm.tar.xz
-    go-bindata \
-        -pkg docker \
-        -nocompress \
-        -nomemcopy \
-        -o executors/docker/bindata.go \
-        prebuilt-x86_64.tar.xz \
-        prebuilt-arm.tar.xz
-    )
-  '';
-
-  postInstall = ''
-    install -d $out/bin
-    # The recommended name is gitlab-runner so we create a symlink with that name
-    ln -sf gitlab-ci-multi-runner $bin/bin/gitlab-runner
-  '';
-
-  meta = with lib; {
-    description = "GitLab Runner the continuous integration executor of GitLab";
-    license = licenses.mit;
-    homepage = https://about.gitlab.com/gitlab-ci/;
-    platforms = platforms.unix;
-    maintainers = [ lib.maintainers.bachp ];
-  };
-}
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 5826dfc2a03..345a2508216 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.08.01";
+  version = "2018.09.04";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "8cac6c584044034210fe0ba1e6b930ff1cc59465";
-    sha256 = "01cnmk4khbbgzc308qj04sfwg0r8b9nh3s7xjsxdjcb3h1m9w88c";
+    rev    = "8f61acd0556c8afee83ec2e77dedb03e700333d9";
+    sha256 = "1dwix8bb87xqf27dixdnfp47pll8739h9m9aw8wvvwz4s4989q6v";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/icr/default.nix b/pkgs/development/tools/icr/default.nix
new file mode 100644
index 00000000000..3c6eb6a98b0
--- /dev/null
+++ b/pkgs/development/tools/icr/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, crystal, shards, which
+, openssl, readline }:
+
+stdenv.mkDerivation rec {
+  name = "icr";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner  = "crystal-community";
+    repo   = "icr";
+    rev    = "v${version}";
+    sha256 = "1vavdzgm06ssnxm6mylki6xma0mfsj63n5kivhk1v4pg4xj966w5";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace /usr/local $out
+  '';
+
+  buildInputs = [ openssl readline ];
+
+  nativeBuildInputs = [ crystal shards which ];
+
+  doCheck = true;
+
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    description = "Interactive console for the Crystal programming language";
+    homepage = https://github.com/crystal-community/icr;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index 04cbdb6f574..211934080c8 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -5,6 +5,8 @@
 , libnotify
 , ffmpeg, libxcb, cups
 , sqlite, udev
+, libuuid
+, sdk ? false
 }:
 let
   bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
@@ -23,6 +25,7 @@ let
       ffmpeg libxcb
       # chromium runtime deps (dlopen’d)
       sqlite udev
+      libuuid
     ];
 
     extraOutputsToInstall = [ "lib" "out" ];
@@ -30,13 +33,18 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nwjs-${version}";
-  version = "0.32.4";
+  version = "0.33.4";
 
-  src = fetchurl {
+  src = if sdk then fetchurl {
+    url = "https://dl.nwjs.io/v${version}/nwjs-sdk-v${version}-linux-${bits}.tar.gz";
+    sha256 = if bits == "x64" then
+      "1hi6xispxvyb6krm5j11mv8509dwpw5ikpbkvq135gsk3gm29c9y" else
+      "00p4clbfinrj5gp2i84a263l3h00z8g7mnx61qwmr0z02kvswz9s";
+  } else fetchurl {
     url = "https://dl.nwjs.io/v${version}/nwjs-v${version}-linux-${bits}.tar.gz";
     sha256 = if bits == "x64" then
-      "0hzyiy6sbbjll1b946y3v7bv6sav3rhy4c48d4vcvamyv9pkfn45" else
-      "0a3b712abfa0c3e7e808b1d08ea5d53375a71060e7d144fdcb58c4fe88fa2250";
+      "09zd6gja3l20xx03h2gawpmh9f8nxqjp8qdkds5nz9kbbckhkj52" else
+      "0nlpdz76k1p1pq4xygfr2an91m0d7p5fjyg2xhiggyy8b7sp4964";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix
new file mode 100644
index 00000000000..ab810a2ae9f
--- /dev/null
+++ b/pkgs/development/tools/scry/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, crystal, shards, which }:
+
+stdenv.mkDerivation rec {
+  name = "scry";
+  # 0.7.1 doesn't work with crystal > 0.25
+  version = "0.7.1.20180919";
+
+  src = fetchFromGitHub {
+    owner  = "crystal-lang-tools";
+    repo   = "scry";
+    rev    = "543c1c3f764298f9fff192ca884d10f72338607d";
+    sha256 = "1yq7jap3y5pr2yqc6fn6bxshzwv7dz3w97incq7wpcvi7ibb4lcn";
+  };
+
+  nativeBuildInputs = [ crystal shards which ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    shards build --release
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 -t $out/bin bin/scry
+
+    runHook postInstall
+  '';
+
+  # https://github.com/crystal-lang-tools/scry/issues/138
+  doCheck = false;
+
+  checkPhase = ''
+    runHook preCheck
+
+    crystal spec
+
+    runHook postCheck
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Code analysis server for the Crystal programming language";
+    homepage = https://github.com/crystal-lang-tools/scry;
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index 632a047e96c..fa7fad3ecd9 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "springlobby-${version}";
-  version = "0.264";
+  version = "0.267";
 
   src = fetchurl {
     url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2";
-    sha256 = "1i31anvvywhl2m8014m3vk74cj74l37j6a0idzfhd4ack8b9hg2x";
+    sha256 = "0yv7j9l763iqx7hdi2pcz5jkj0068yrffb8nrav7pwg0g3s0znak";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/steam/steam.nix b/pkgs/games/steam/steam.nix
index b8e1982a989..dd6e9a070b1 100644
--- a/pkgs/games/steam/steam.nix
+++ b/pkgs/games/steam/steam.nix
@@ -2,14 +2,14 @@
 
 let
   traceLog = "/tmp/steam-trace-dependencies.log";
-  version = "1.0.0.51";
+  version = "1.0.0.56";
 
 in stdenv.mkDerivation rec {
   name = "steam-original-${version}";
 
   src = fetchurl {
     url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${version}.tar.gz";
-    sha256 = "1ghrfznm9rckm8v87zvh7hx820r5pp7sq575wxwq0fncbyq6sxmz";
+    sha256 = "01jgp909biqf4rr56kb08jkl7g5xql6r2g4ch6lc71njgcsbn5fs";
   };
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
@@ -25,6 +25,8 @@ in stdenv.mkDerivation rec {
       EOF
       chmod +x $out/bin/steamdeps
     ''}
+    install -d $out/lib/udev/rules.d
+    install -m644 lib/udev/rules.d/*.rules $out/lib/udev/rules.d
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/themes/obsidian2/default.nix b/pkgs/misc/themes/obsidian2/default.nix
index 41f29f34be8..61f7d1debcc 100644
--- a/pkgs/misc/themes/obsidian2/default.nix
+++ b/pkgs/misc/themes/obsidian2/default.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "theme-obsidian2-${version}";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "theme-obsidian-2";
     rev = "v${version}";
-    sha256 = "12jya1gzmhpfh602vbf51vi69fmis7sanvx278h3skm03a7civlv";
+    sha256 = "1bb629y11j79h0rxi36iszki6m6l59iwlcraygr472gf44a2xp11";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
+  postPatch = ''
+    sed -i -e 's|Obsidian-2-Local|Obsidian-2|' Obsidian-2/index.theme
+  '';
+
   installPhase = ''
     mkdir -p $out/share/themes
     cp -a Obsidian-2 $out/share/themes
diff --git a/pkgs/misc/themes/onestepback/default.nix b/pkgs/misc/themes/onestepback/default.nix
index 609e027d9eb..5e4f8ffa3d4 100644
--- a/pkgs/misc/themes/onestepback/default.nix
+++ b/pkgs/misc/themes/onestepback/default.nix
@@ -1,23 +1,37 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchurl, unzip }:
 
-let
-  version = "0.98";
-
-in fetchzip {
+stdenv.mkDerivation rec {
   name = "onestepback-${version}";
+  version = "0.991";
 
-  url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip";
+  srcs = [
+    (fetchurl {
+      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-v${version}.zip";
+      sha256 = "1jfgcgzbb6ra9qs3zcp6ij0hfldzg3m0yjw6l6vf4kq1mdby1ghm";
+    })
+    (fetchurl {
+      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-grey-brown-green-blue-v${version}.zip";
+      sha256 = "0i006h1asbpfdzajws0dvk9acplvcympzgxq5v3n8hmizd6yyh77";
+    })
+    (fetchurl {
+      url = "http://www.vide.memoire.free.fr/perso/OneStepBack/OneStepBack-green-brown-v${version}.zip";
+      sha256 = "16p002lak6425gcskny4hzws8x9dgsm6j3a1r08y11rsz7d2hnmy";
+    })
+  ];
 
-  postFetch = ''
-    mkdir -p $out/share/themes
-    unzip $downloadedFile -x OneStepBack/LICENSE -d $out/share/themes
-  '';
+  nativeBuildInputs = [ unzip ];
 
-  sha256 = "0sjacvx7020lzc89r5310w83wclw96gzzczy3mss54ldkgmnd0mr";
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p  $out/share/themes
+    cp -a OneStepBack* $out/share/themes/
+    rm $out/share/themes/*/{LICENSE,README*}
+  '';
 
   meta = with stdenv.lib; {
     description = "Gtk theme inspired by the NextStep look";
-    homepage = https://www.opendesktop.org/p/1013663/;
+    homepage = http://www.vide.memoire.free.fr/perso/OneStepBack;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/misc/themes/tetra/default.nix b/pkgs/misc/themes/tetra/default.nix
new file mode 100644
index 00000000000..bcaf67d7970
--- /dev/null
+++ b/pkgs/misc/themes/tetra/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, gtk3, sassc }:
+
+stdenv.mkDerivation rec {
+  name = "tetra-gtk-theme-${version}";
+  version = "0.1.6";
+
+  src = fetchFromGitHub {
+    owner  = "hrdwrrsk";
+    repo   = "tetra-gtk-theme";
+    rev    = version;
+    sha256 = "0jdgj7ac9842cgrjnzdqlf1f3hlf9v7xk377pvqcz2lwcr1dfaxz";
+  };
+
+  preBuild = ''
+    # Shut up inkscape's warnings
+    export HOME="$NIX_BUILD_ROOT"
+  '';
+
+  nativeBuildInputs = [ sassc ];
+  buildInputs = [ gtk3 ];
+
+  postPatch = "patchShebangs .";
+
+  installPhase = ''
+    mkdir -p $out/share/themes
+    ./install.sh -d $out/share/themes
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Adwaita-based gtk+ theme with design influence from elementary OS and Vertex gtk+ theme.";
+    homepage    = https://github.com/hrdwrrsk/tetra-gtk-theme;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ dtzWill ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index fe416876546..b85c9c9204e 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  version = "0.10.198";
+  version = "0.10.250";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "1svlb38iy47bv88rbk1nimb7pixxh142xr4xf761l3nm69w9qyfq";
+    sha256 = "0695r03cgmiwrsjrcippiibpcahxb55pma5a6plcfl1f8jxiwv76";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index 523292f6b0f..cf0fddd6699 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -10,11 +10,6 @@ buildPerlPackage rec {
     sha256 = "0szp5zkmx2b5lncsijf97asjnl73fyijkbgbwkl1i7p8qnqrb4mp";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/Logitech/slimserver/pull/204.patch";
-    sha256 = "0n1c8nsbvqkmwj5ivkcxh1wkqqm1lwymmfz9i47ih6ifj06hkpxk";
-  } ) ];
-
   buildInputs = [
     makeWrapper
     perl
@@ -72,6 +67,10 @@ buildPerlPackage rec {
     rm -rf CPAN
     rm -rf Bin
     touch Makefile.PL
+
+    # relax audio scan version constraints
+    substituteInPlace lib/Audio/Scan.pm --replace "0.93" "1.01"
+    substituteInPlace modules.conf --replace "Audio::Scan 0.93 0.95" "Audio::Scan 0.93"
     '';
 
   preConfigurePhase = "";
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index be279937ef8..b1097c1e96f 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "traefik-${version}";
-  version = "1.7.0";
+  version = "1.7.1";
 
   goPackagePath = "github.com/containous/traefik";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "containous";
     repo = "traefik";
     rev = "v${version}";
-    sha256 = "1nv2w174vw5dq60cz8a2riwjyl9rzxqwp7z7v5zv7ch0bxq9cvhn";
+    sha256 = "13vvwb1mrnxn4y1ga37pc5c46qdj5jkrcnyn2w9rb59madgq4c77";
   };
 
   buildInputs = [ go-bindata bash ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 23270793b34..915144daa90 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, python2Packages, pkgconfig
+{ stdenv, lib, fetchurl, callPackage, python2Packages, pkgconfig
 , xorg, gtk2, glib, pango, cairo, gdk_pixbuf, atk
 , makeWrapper, xorgserver, getopt, xauth, utillinux, which
 , ffmpeg, x264, libvpx, libwebp
@@ -10,12 +10,14 @@ with lib;
 
 let
   inherit (python2Packages) cython buildPythonApplication;
+
+  xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
-  name = "xpra-${version}";
+  pname = "xpra";
   version = "2.3.3";
 
   src = fetchurl {
-    url = "https://xpra.org/src/${name}.tar.xz";
+    url = "https://xpra.org/src/${pname}-${version}.tar.xz";
     sha256 = "1azvvddjfq7lb5kmbn0ilgq2nf7pmymsc3b9lhbjld6w156qdv01";
   };
 
@@ -73,6 +75,7 @@ in buildPythonApplication rec {
   #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
   #'';
 
+  passthru = { inherit xf86videodummy; };
 
   meta = {
     homepage = http://xpra.org/;
@@ -80,7 +83,7 @@ in buildPythonApplication rec {
     downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
     description = "Persistent remote applications for X";
     platforms = platforms.linux;
-    maintainers = with maintainers; [ tstrobel offline ];
     license = licenses.gpl2;
+    maintainers = with maintainers; [ tstrobel offline numinit ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/xf86videodummy/0002-Constant-DPI.patch b/pkgs/tools/X11/xpra/xf86videodummy/0002-Constant-DPI.patch
new file mode 100644
index 00000000000..f91e53d1e49
--- /dev/null
+++ b/pkgs/tools/X11/xpra/xf86videodummy/0002-Constant-DPI.patch
@@ -0,0 +1,96 @@
+--- a/src/dummy.h	2016-12-17 23:02:53.396287041 +0100
++++ b/src/dummy.h	2016-12-17 23:03:30.319616550 +0100
+@@ -51,6 +51,7 @@
+     /* options */
+     OptionInfoPtr Options;
+     Bool swCursor;
++    Bool constantDPI;
+     /* proc pointer */
+     CloseScreenProcPtr CloseScreen;
+     xf86CursorInfoPtr CursorInfo;
+--- a/src/dummy_driver.c	2016-12-14 21:54:20.000000000 +0100
++++ b/src/dummy_driver.c	2016-12-17 23:04:59.916416126 +0100
+@@ -17,6 +17,12 @@
+ /* All drivers using the mi colormap manipulation need this */
+ #include "micmap.h"
+ 
++#ifdef RANDR
++#include "randrstr.h"
++#endif
++
++#include "windowstr.h"
++
+ /* identifying atom needed by magnifiers */
+ #include <X11/Xatom.h>
+ #include "property.h"
+@@ -115,11 +121,15 @@
+ };
+ 
+ typedef enum {
+-    OPTION_SW_CURSOR
++    OPTION_SW_CURSOR,
++    OPTION_CONSTANT_DPI
+ } DUMMYOpts;
+ 
+ static const OptionInfoRec DUMMYOptions[] = {
+     { OPTION_SW_CURSOR,	"SWcursor",	OPTV_BOOLEAN,	{0}, FALSE },
++#ifdef RANDR
++    { OPTION_CONSTANT_DPI,	"ConstantDPI",	OPTV_BOOLEAN,	{0}, FALSE },
++#endif
+     { -1,                  NULL,           OPTV_NONE,	{0}, FALSE }
+ };
+ 
+@@ -359,6 +369,7 @@
+     xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, dPtr->Options);
+ 
+     xf86GetOptValBool(dPtr->Options, OPTION_SW_CURSOR,&dPtr->swCursor);
++    xf86GetOptValBool(dPtr->Options, OPTION_CONSTANT_DPI, &dPtr->constantDPI);
+ 
+     if (device->videoRam != 0) {
+ 	pScrn->videoRam = device->videoRam;
+@@ -639,10 +650,45 @@
+     return TRUE;
+ }
+ 
++const char *XDPY_PROPERTY = "dummy-constant-xdpi";
++const char *YDPY_PROPERTY = "dummy-constant-ydpi";
++static int get_dpi_value(WindowPtr root, const char *property_name, int default_dpi)
++{
++    PropertyPtr prop;
++    Atom type_atom = MakeAtom("CARDINAL", 8, TRUE);
++    Atom prop_atom = MakeAtom(property_name, strlen(property_name), FALSE);
++
++    for (prop = wUserProps(root); prop; prop = prop->next) {
++       if (prop->propertyName == prop_atom && prop->type == type_atom && prop->data) {
++           int v = (int) (*((CARD32 *) prop->data));
++           if ((v>0) && (v<4096)) {
++               xf86DrvMsg(0, X_INFO, "get_constant_dpi_value() found property \"%s\" with value=%i\n", property_name, (int) v);
++               return (int) v;
++           }
++           break;
++       }
++    }
++    return default_dpi;
++}
++
+ /* Mandatory */
+ Bool
+ DUMMYSwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
++    SCRN_INFO_PTR(arg);
++#ifdef RANDR
++    DUMMYPtr dPtr = DUMMYPTR(pScrn);
++    if (dPtr->constantDPI) {
++        int xDpi = get_dpi_value(pScrn->pScreen->root, XDPY_PROPERTY, pScrn->xDpi);
++        int yDpi = get_dpi_value(pScrn->pScreen->root, YDPY_PROPERTY, pScrn->yDpi);
++        //25.4 mm per inch: (254/10)
++        pScrn->pScreen->mmWidth = mode->HDisplay * 254 / xDpi / 10;
++        pScrn->pScreen->mmHeight = mode->VDisplay * 254 / yDpi / 10;
++        xf86DrvMsg(pScrn->scrnIndex, X_INFO, "mm(dpi %ix%i)=%ix%i\n", xDpi, yDpi, pScrn->pScreen->mmWidth, pScrn->pScreen->mmHeight);
++        RRScreenSizeNotify(pScrn->pScreen);
++        RRTellChanged(pScrn->pScreen);
++    }
++#endif
+     return TRUE;
+ }
+ 
diff --git a/pkgs/tools/X11/xpra/xf86videodummy/0003-fix-pointer-limits.patch b/pkgs/tools/X11/xpra/xf86videodummy/0003-fix-pointer-limits.patch
new file mode 100644
index 00000000000..3dbb6fd179f
--- /dev/null
+++ b/pkgs/tools/X11/xpra/xf86videodummy/0003-fix-pointer-limits.patch
@@ -0,0 +1,39 @@
+--- xf86-video-dummy-0.3.6/src/dummy_driver.c	2014-11-05 19:24:02.668656601 +0700
++++ xf86-video-dummy-0.3.6.new/src/dummy_driver.c	2014-11-05 19:37:53.076061853 +0700
+@@ -55,6 +55,9 @@
+ #include <X11/extensions/xf86dgaproto.h>
+ #endif
+ 
++/* Needed for fixing pointer limits on resize */
++#include "inputstr.h"
++
+ /* Mandatory functions */
+ static const OptionInfoRec *	DUMMYAvailableOptions(int chipid, int busid);
+ static void     DUMMYIdentify(int flags);
+@@ -713,6 +716,26 @@
+         RRTellChanged(pScrn->pScreen);
+     }
+ #endif
++    //ensure the screen dimensions are also updated:
++    pScrn->pScreen->width = mode->HDisplay;
++    pScrn->pScreen->height = mode->VDisplay;
++    pScrn->virtualX = mode->HDisplay;
++    pScrn->virtualY = mode->VDisplay;
++    pScrn->frameX1 = mode->HDisplay;
++    pScrn->frameY1 = mode->VDisplay;
++
++    //ensure the pointer uses the new limits too:
++    DeviceIntPtr pDev;
++    SpritePtr pSprite;
++    for (pDev = inputInfo.devices; pDev; pDev = pDev->next) {
++        if (pDev->spriteInfo!=NULL && pDev->spriteInfo->sprite!=NULL) {
++            pSprite = pDev->spriteInfo->sprite;
++            pSprite->hotLimits.x2 = mode->HDisplay;
++            pSprite->hotLimits.y2 = mode->VDisplay;
++            pSprite->physLimits.x2 = mode->HDisplay;
++            pSprite->physLimits.y2 = mode->VDisplay;
++        }
++    }
+     return TRUE;
+ }
+ 
diff --git a/pkgs/tools/X11/xpra/xf86videodummy/0005-support-for-30-bit-depth-in-dummy-driver.patch b/pkgs/tools/X11/xpra/xf86videodummy/0005-support-for-30-bit-depth-in-dummy-driver.patch
new file mode 100644
index 00000000000..567db3fc386
--- /dev/null
+++ b/pkgs/tools/X11/xpra/xf86videodummy/0005-support-for-30-bit-depth-in-dummy-driver.patch
@@ -0,0 +1,41 @@
+--- a/src/dummy.h	2016-12-17 23:33:33.279533389 +0100
++++ b/src/dummy.h	2016-12-17 23:33:56.695739166 +0100
+@@ -69,7 +69,7 @@
+     int overlay_offset;
+     int videoKey;
+     int interlace;
+-    dummy_colors colors[256];
++    dummy_colors colors[1024];
+     pointer* FBBase;
+     Bool        (*CreateWindow)() ;     /* wrapped CreateWindow */
+     Bool prop;
+--- a/src/dummy_driver.c	2016-12-17 23:33:47.446657886 +0100
++++ b/src/dummy_driver.c	2016-12-17 23:33:56.696739175 +0100
+@@ -317,6 +317,7 @@
+ 	case 15:
+ 	case 16:
+ 	case 24:
++        case 30:
+ 	    break;
+ 	default:
+ 	    xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+@@ -331,8 +332,8 @@
+ 	pScrn->rgbBits = 8;
+ 
+     /* Get the depth24 pixmap format */
+-    if (pScrn->depth == 24 && pix24bpp == 0)
+-	pix24bpp = xf86GetBppFromDepth(pScrn, 24);
++    if (pScrn->depth >= 24 && pix24bpp == 0)
++	pix24bpp = xf86GetBppFromDepth(pScrn, pScrn->depth);
+ 
+     /*
+      * This must happen after pScrn->display has been set because
+@@ -623,7 +624,7 @@
+     if(!miCreateDefColormap(pScreen))
+ 	return FALSE;
+ 
+-    if (!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits,
++    if (!xf86HandleColormaps(pScreen, 1024, pScrn->rgbBits,
+                          DUMMYLoadPalette, NULL, 
+                          CMAP_PALETTED_TRUECOLOR 
+ 			     | CMAP_RELOAD_ON_MODE_SWITCH))
diff --git a/pkgs/tools/X11/xpra/xf86videodummy/default.nix b/pkgs/tools/X11/xpra/xf86videodummy/default.nix
new file mode 100644
index 00000000000..ab786d9bce8
--- /dev/null
+++ b/pkgs/tools/X11/xpra/xf86videodummy/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchurl
+, fontsproto, randrproto, renderproto, videoproto, xf86dgaproto, xorgserver, xproto
+, pkgconfig
+, xpra }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  version = "0.3.8";
+  suffix = "1";
+  name = "xpra-xf86videodummy-${version}-${suffix}";
+  builder = ../../../../servers/x11/xorg/builder.sh;
+  src = fetchurl {
+    url = "mirror://xorg/individual/driver/xf86-video-dummy-${version}.tar.bz2";
+    sha256 = "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip";
+  };
+  patches = [
+    ./0002-Constant-DPI.patch
+    ./0003-fix-pointer-limits.patch
+    ./0005-support-for-30-bit-depth-in-dummy-driver.patch
+  ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
+
+  meta = {
+    description = "Dummy driver for Xorg with xpra patches";
+    homepage = https://xpra.org/trac/wiki/Xdummy;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ numinit ];
+  };
+}
diff --git a/pkgs/tools/audio/pasystray/default.nix b/pkgs/tools/audio/pasystray/default.nix
index 8fe6feaee0a..57896fd7f63 100644
--- a/pkgs/tools/audio/pasystray/default.nix
+++ b/pkgs/tools/audio/pasystray/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "pasystray-${version}";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "christophgysin";
     repo = "pasystray";
     rev = name;
-    sha256 = "0k13s7pmz5ks3kli8pwhzd47hcjwv46gd2fgk7i4fbkfwf3z279h";
+    sha256 = "0cc9hjyw4gr4ip4lw74pzb1l9sxs3ffhf0xn0m1fhmyfbjyixwkh";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix
index 20beacf2b4f..9a62f8c3fbf 100644
--- a/pkgs/tools/misc/autorandr/default.nix
+++ b/pkgs/tools/misc/autorandr/default.nix
@@ -6,7 +6,7 @@
 
 let
   python = python3Packages.python;
-  version = "1.6";
+  version = "1.7";
 in
   stdenv.mkDerivation {
     name = "autorandr-${version}";
@@ -48,7 +48,7 @@ in
       owner = "phillipberndt";
       repo = "autorandr";
       rev = "${version}";
-      sha256 = "0m4lqqinr1mqf536gll7qyrnz86ca322pf99lagj00x0r8yj9liy";
+      sha256 = "0wpiimc5xai813h7gywwp20svkn35pkw99bnjflmpwz7x8fn8dfz";
     };
 
     meta = {
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 7e79614c04c..8cc224f475b 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -16,11 +16,11 @@
 buildPythonPackage rec {
 
   pname = "youtube-dl";
-  version = "2018.09.18";
+  version = "2018.09.26";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0mlsdmddmyy3xaqy366k48xds14g17l81al3kglndjkbrrji63sb";
+    sha256 = "0b26cnzdzai82d2bsy91jy1aas8m8psakdrs789xy0v4kwwgrk3n";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 71c5bd53909..975d36ddf19 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -148,10 +148,10 @@ in rec {
   }) // { perl-bindings = nix1; };
 
   nixStable = (common rec {
-    name = "nix-2.1.2";
+    name = "nix-2.1.3";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "68e55382dac9e66f84ead69b3c786a4ea85d4a6611a7a740aa0b78fcc85db3ec";
+      sha256 = "5d22dad058d5c800d65a115f919da22938c50dd6ba98c5e3a183172d149840a4";
     };
   }) // { perl-bindings = perl-bindings {
     nix = nixStable;
diff --git a/pkgs/tools/security/gen-oath-safe/default.nix b/pkgs/tools/security/gen-oath-safe/default.nix
index 49770813b2b..ca7793281ef 100644
--- a/pkgs/tools/security/gen-oath-safe/default.nix
+++ b/pkgs/tools/security/gen-oath-safe/default.nix
@@ -1,12 +1,13 @@
 { coreutils, fetchFromGitHub, libcaca, makeWrapper, python, openssl, qrencode, stdenv, yubikey-manager }:
 
-stdenv.mkDerivation {
-  name = "gen-oath-safe-2017-01-23";
+stdenv.mkDerivation rec {
+  name = "gen-oath-safe-${version}";
+  version = "0.11.0";
   src = fetchFromGitHub {
     owner = "mcepl";
     repo = "gen-oath-safe";
-    rev = "fb53841";
-    sha256 = "0018kqmhg0861r5xkbis2a1rx49gyn0dxcyj05wap5ms7zz69m0m";
+    rev = version;
+    sha256 = "1914z0jgj7lni0nf3hslkjgkv87mhxdr92cmhmbzhpjgjgr23ydp";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/ifdnfc/default.nix b/pkgs/tools/security/ifdnfc/default.nix
new file mode 100644
index 00000000000..5731f3ef8bb
--- /dev/null
+++ b/pkgs/tools/security/ifdnfc/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub , pkgconfig
+, pcsclite
+, autoreconfHook
+, libnfc
+}:
+
+stdenv.mkDerivation rec {
+  name = "ifdnfc-${version}";
+  version = "2016-03-01";
+
+  src = fetchFromGitHub {
+    owner = "nfc-tools";
+    repo = "ifdnfc";
+    rev = "0e48e8e";
+    sha256 = "1cxnvhhlcbm8h49rlw5racspb85fmwqqhd3gzzpzy68vrs0b37vg";
+  };
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ pcsclite libnfc ];
+
+  configureFlags = [ "--prefix=$(out)" ];
+  makeFlags = [ "DESTDIR=/" "usbdropdir=$(out)/pcsc/drivers" ];
+
+  meta = with stdenv.lib; {
+    description = "PC/SC IFD Handler based on libnfc";
+    longDescription =
+    '' libnfc Interface Plugin to be used in <code>services.pcscd.plugins</code>.
+       It provides support for all readers which are not supported by ccid but by libnfc.
+
+       For activating your reader you need to run
+       <code>ifdnfc-activate yes<code> with this package in your
+       <code>environment.systemPackages</code>
+
+       To use your reader you may need to blacklist your reader kernel modules:
+       <code>boot.blacklistedKernelModules = [ "pn533" "pn533_usb" "nfc" ];</code>
+
+       Supports the pn533 smart-card reader chip which is for example used in
+       the SCM SCL3711.
+    '';
+    homepage = https://github.com/nfc-tools/ifdnfc;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ makefu ];
+  };
+}
+
diff --git a/pkgs/tools/system/nvtop/default.nix b/pkgs/tools/system/nvtop/default.nix
index 054de73c080..0b4a33e4385 100644
--- a/pkgs/tools/system/nvtop/default.nix
+++ b/pkgs/tools/system/nvtop/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DNVML_INCLUDE_DIRS=${cudatoolkit}/include"
-    "-DNVML_LIBRARIES=${nvidia_x11}/lib/libnvidia-ml.so.390.67"
+    "-DNVML_LIBRARIES=${nvidia_x11}/lib/libnvidia-ml.so"
     "-DCMAKE_BUILD_TYPE=Release"
   ];
 
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index b31d4cf93e6..1dec03e985b 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python27Packages }:
 
 python27Packages.buildPythonApplication rec {
-  version = "2.28.0";
+  version = "3.0.0";
   name = "fanficfare-${version}";
   nameprefix = "";
 
   src = fetchurl {
     url = "https://github.com/JimmXinu/FanFicFare/archive/v${version}.tar.gz";
-    sha256 = "18icxs9yaazz9swa2g4ppjsdbl25v22fdv4c1c3xspj3hwksjlvw";
+    sha256 = "0m8p1nn4621fspcas4g4k8y6fnnlzn7kxjxw2fapdrk3cz1pgi69";
   };
 
   propagatedBuildInputs = with python27Packages; [ beautifulsoup4 chardet html5lib html2text ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 514ab3f7244..7b7534d8ee4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2792,7 +2792,6 @@ with pkgs;
   gitlab-ee = callPackage ../applications/version-management/gitlab { gitlabEnterprise = true; };
 
   gitlab-runner = callPackage ../development/tools/continuous-integration/gitlab-runner { };
-  gitlab-runner_1_11 = callPackage ../development/tools/continuous-integration/gitlab-runner/v1.nix { };
 
   gitlab-shell = callPackage ../applications/version-management/gitlab-shell { };
 
@@ -4627,6 +4626,7 @@ with pkgs;
   pcsc-cyberjack = callPackage ../tools/security/pcsc-cyberjack { };
 
   pcsc-scm-scl011 = callPackage ../tools/security/pcsc-scm-scl011 { };
+  ifdnfc = callPackage ../tools/security/ifdnfc { };
 
   pdd = python3Packages.callPackage ../tools/misc/pdd { };
 
@@ -6451,7 +6451,14 @@ with pkgs;
     '';
   });
 
-  crystal = callPackage ../development/compilers/crystal { };
+  inherit (callPackages ../development/compilers/crystal {})
+    crystal_0_25
+    crystal_0_26
+    crystal;
+
+  icr = callPackage ../development/tools/icr {};
+
+  scry = callPackage ../development/tools/scry {};
 
   devpi-client = callPackage ../development/tools/devpi-client {};
 
@@ -8593,6 +8600,11 @@ with pkgs;
     gconf = pkgs.gnome2.GConf;
   };
 
+  nwjs-sdk = callPackage ../development/tools/nwjs {
+    gconf = pkgs.gnome2.GConf;
+    sdk = true;
+  };
+
   # only kept for nixui, see https://github.com/matejc/nixui/issues/27
   nwjs_0_12 = callPackage ../development/tools/node-webkit/nw12.nix {
     gconf = pkgs.gnome2.GConf;
@@ -10241,7 +10253,9 @@ with pkgs;
     inherit (xorg) libX11 libXext;
   };
 
-  libcanberra = callPackage ../development/libraries/libcanberra { };
+  libcanberra = callPackage ../development/libraries/libcanberra {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
   libcanberra-gtk3 = pkgs.libcanberra.override {
     gtk = gtk3;
   };
@@ -14375,6 +14389,9 @@ with pkgs;
   linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest);
   linux_latest_hardened = linuxPackages_latest_hardened.kernel;
 
+  linuxPackages_testing_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_testing);
+  linux_testing_hardened = linuxPackages_testing_hardened.kernel;
+
   linuxPackages_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux.override { features.xen_dom0=true; }));
 
   linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
@@ -15055,6 +15072,8 @@ with pkgs;
 
   hanazono = callPackage ../data/fonts/hanazono { };
 
+  hyperscrypt-font = callPackage ../data/fonts/hyperscrypt { };
+
   ia-writer-duospace = callPackage ../data/fonts/ia-writer-duospace { };
 
   ibm-plex = callPackage ../data/fonts/ibm-plex { };
@@ -17071,6 +17090,8 @@ with pkgs;
 
   i3-wk-switch = callPackage ../applications/window-managers/i3/wk-switch.nix { };
 
+  wmfocus = callPackage ../applications/window-managers/i3/wmfocus.nix { };
+
   i810switch = callPackage ../os-specific/linux/i810switch { };
 
   icewm = callPackage ../applications/window-managers/icewm {};
@@ -22109,6 +22130,8 @@ with pkgs;
 
   steamcontroller = callPackage ../misc/drivers/steamcontroller { };
 
+  stern = callPackage ../applications/networking/cluster/stern { };
+
   streamripper = callPackage ../applications/audio/streamripper { };
 
   sqsh = callPackage ../development/tools/sqsh { };
@@ -22151,6 +22174,8 @@ with pkgs;
 
   tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
 
+  tetra-gtk-theme = callPackage ../misc/themes/tetra { };
+
   tewi-font = callPackage ../data/fonts/tewi  {};
 
   texFunctions = callPackage ../tools/typesetting/tex/nix pkgs;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index bef7b75b6cc..56a59b04b5b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -10005,10 +10005,10 @@ let
   };
 
   Mojolicious = buildPerlPackage rec {
-    name = "Mojolicious-8.0";
+    name = "Mojolicious-8.01";
     src = fetchurl {
       url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz";
-      sha256 = "b266fd32f12cca2504be012e785f34eb09c0a132df52be183ff5d494e87f0b98";
+      sha256 = "1gwf45s6vblff0ima2awjq3awj4wws4hn7df4d9jmyj9rji04z9c";
     };
     buildInputs = [ ExtUtilsMakeMaker ];
     propagatedBuildInputs = [ IOSocketIP JSONPP PodSimple TimeLocal ];
@@ -10020,6 +10020,21 @@ let
     };
   };
 
+  MojoliciousPluginStatus = buildPerlPackage rec {
+    name = "Mojolicious-Plugin-Status-1.0";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SR/SRI/${name}.tar.gz";
+      sha256 = "14ypg679dk9yvgq67mp7lzs131cxhbgcmrpx5f4ddqcrs1bzq5rb";
+    };
+    propagatedBuildInputs = [ Mojolicious IPCShareLite BSDResource Sereal ];
+    meta = {
+      homepage = https://github.com/mojolicious/mojo-status;
+      description = "Mojolicious server status plugin";
+      license = with stdenv.lib.licenses; [ artistic2 ];
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   MojoIOLoopForkCall = buildPerlModule rec {
     name = "Mojo-IOLoop-ForkCall-0.20";
     src = fetchurl {
@@ -13423,6 +13438,55 @@ let
     };
   };
 
+  SerealDecoder = buildPerlPackage rec {
+    name = "Sereal-Decoder-4.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YV/YVES/${name}.tar.gz";
+      sha256 = "17syqbq17qw6ajg3w88q9ljdm4c2b7zadq9pwshxxgyijg8dlfh4";
+    };
+    buildInputs = [ TestDeep TestDifferences TestWarn TestLongString ];
+    propagatedBuildInputs = [ XSLoader ];
+    preBuild = ''ls'';
+    meta = {
+      homepage = https://github.com/Sereal/Sereal;
+      description = "Fast, compact, powerful binary deserialization";
+      license = with stdenv.lib.licenses; [ artistic2 ];
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
+  SerealEncoder = buildPerlPackage rec {
+    name = "Sereal-Encoder-4.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YV/YVES/${name}.tar.gz";
+      sha256 = "02hbk5dwq7fpnyb3vp7xxhb41ra48xhghl13p9pjq9lzsqlb6l19";
+    };
+    buildInputs = [ TestDeep TestDifferences TestWarn TestLongString ];
+    propagatedBuildInputs = [ XSLoader SerealDecoder ];
+    meta = {
+      homepage = https://github.com/Sereal/Sereal;
+      description = "Fast, compact, powerful binary deserialization";
+      license = with stdenv.lib.licenses; [ artistic2 ];
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
+  Sereal = buildPerlPackage rec {
+    name = "Sereal-4.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Y/YV/YVES/${name}.tar.gz";
+      sha256 = "0lnczrf311pl9b2x75r0ffsszv5aspfb8x6jdvgr3rgqp7nbm1wr";
+    };
+    buildInputs = [ TestDeep TestDifferences TestWarn TestLongString ];
+    propagatedBuildInputs = [ SerealEncoder SerealDecoder ];
+    meta = {
+      homepage = https://github.com/Sereal/Sereal;
+      description = "Fast, compact, powerful binary deserialization";
+      license = with stdenv.lib.licenses; [ artistic2 ];
+      maintainers = [ maintainers.thoughtpolice ];
+    };
+  };
+
   ServerStarter = buildPerlModule rec {
     name = "Server-Starter-0.34";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2da2892f9be..8f04a0e710d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -250,6 +250,8 @@ in {
 
   dependency-injector = callPackage ../development/python-modules/dependency-injector { };
 
+  btchip = callPackage ../development/python-modules/btchip { };
+
   dbf = callPackage ../development/python-modules/dbf { };
 
   dbfread = callPackage ../development/python-modules/dbfread { };
@@ -4295,6 +4297,8 @@ in {
 
   schema = callPackage ../development/python-modules/schema {};
 
+  simple-websocket-server = callPackage ../development/python-modules/simple-websocket-server {};
+
   stem = callPackage ../development/python-modules/stem { };
 
   svg-path = callPackage ../development/python-modules/svg-path { };