summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2017-08-25 19:39:41 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2017-08-25 19:39:41 +0200
commit665d3939192e8c44207dcb1ee95f25addd4c3d38 (patch)
treee0f42905fbb0e28d963a4a23d01b88a3fba3701f
parent656e14f64fa48222907dd631d68c600f18f126d7 (diff)
parent58c0d63100244211f5a898d5c26a76aca038698c (diff)
downloadnixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar.gz
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar.bz2
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar.lz
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar.xz
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.tar.zst
nixlib-665d3939192e8c44207dcb1ee95f25addd4c3d38.zip
Merge remote-tracking branch 'upstream/master' into HEAD
-rw-r--r--lib/maintainers.nix2
-rw-r--r--nixos/doc/manual/release-notes/rl-1709.xml8
-rw-r--r--nixos/modules/programs/oblogout.nix16
-rw-r--r--nixos/modules/programs/zsh/zsh.nix10
-rw-r--r--nixos/modules/services/hardware/tlp.nix2
-rw-r--r--nixos/modules/services/networking/firefox/sync-server.nix52
-rw-r--r--nixos/modules/services/web-servers/caddy.nix14
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/maxx.nix25
-rw-r--r--nixos/modules/virtualisation/containers.nix1
-rw-r--r--pkgs/applications/audio/monkeys-audio/buildfix.diff32
-rw-r--r--pkgs/applications/editors/android-studio/packages.nix6
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix28
-rw-r--r--pkgs/applications/graphics/feh/default.nix6
-rw-r--r--pkgs/applications/misc/copyq/cmake-modules.patch12
-rw-r--r--pkgs/applications/misc/copyq/default.nix18
-rw-r--r--pkgs/applications/misc/wordnet/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix12
-rw-r--r--pkgs/applications/version-management/git-lfs/1.nix35
-rw-r--r--pkgs/desktops/lxqt/core/lxqt-config/default.nix11
-rw-r--r--pkgs/desktops/maxx/default.nix96
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml2
-rw-r--r--pkgs/development/libraries/geis/default.nix2
-rw-r--r--pkgs/development/libraries/grail/default.nix4
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix6
-rw-r--r--pkgs/development/libraries/qoauth/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix17
-rw-r--r--pkgs/development/python-modules/linode-api/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-client/default.nix32
-rw-r--r--pkgs/development/tools/electron/default.nix6
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix21
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix35
-rw-r--r--pkgs/development/tools/watchman/default.nix16
-rw-r--r--pkgs/development/web/grails/default.nix7
-rw-r--r--pkgs/games/openjk/default.nix39
-rw-r--r--pkgs/misc/emulators/wine/sources.nix6
-rw-r--r--pkgs/tools/misc/debianutils/default.nix10
-rw-r--r--pkgs/tools/misc/duc/default.nix4
-rw-r--r--pkgs/tools/misc/graylog/default.nix4
-rw-r--r--pkgs/tools/networking/whois/default.nix6
-rw-r--r--pkgs/tools/system/evemu/default.nix6
-rw-r--r--pkgs/tools/text/ripgrep/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix8
-rw-r--r--pkgs/top-level/lua-packages.nix26
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix21
-rw-r--r--pkgs/top-level/rust-packages.nix6
50 files changed, 596 insertions, 133 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index d904c5368bf4..7728749f0546 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -33,6 +33,7 @@
   algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
   alibabzo = "Alistair Bill <alistair.bill@gmail.com>";
   all = "Nix Committers <nix-commits@lists.science.uu.nl>";
+  alunduil = "Alex Brandt <alunduil@alunduil.com>";
   ambrop72 = "Ambroz Bizjak <ambrop7@gmail.com>";
   amiddelk = "Arie Middelkoop <amiddelk@gmail.com>";
   amiloradovsky = "Andrew Miloradovsky <miloradovsky@gmail.com>";
@@ -619,6 +620,7 @@
   vrthra = "Rahul Gopinath <rahul@gopinath.org>";
   vyp = "vyp <elisp.vim@gmail.com>";
   wedens = "wedens <kirill.wedens@gmail.com>";
+  willibutz = "Willi Butz <willibutz@posteo.de>";
   willtim = "Tim Philip Williams <tim.williams.public@gmail.com>";
   winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
   wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index 0cd9e9571882..fc7fd49907ea 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -154,6 +154,14 @@ rmdir /var/lib/ipfs/.ipfs
       variables as parameters.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      <literal>services.firefox.syncserver</literal> now runs by default as a
+      non-root user. To accomodate this change, the default sqlite database
+      location has also been changed. Migration should work automatically.
+      Refer to the description of the options for more details.
+    </para>
+  </listitem>
 </itemizedlist>
 
 <para>Other notable improvements:</para>
diff --git a/nixos/modules/programs/oblogout.nix b/nixos/modules/programs/oblogout.nix
index 79a8ddb7ce37..720c29b1eaee 100644
--- a/nixos/modules/programs/oblogout.nix
+++ b/nixos/modules/programs/oblogout.nix
@@ -27,6 +27,7 @@ in
         type = types.int;
         default = 70;
         description = ''
+          Opacity percentage of Cairo rendered backgrounds.
         '';
       };
 
@@ -34,6 +35,7 @@ in
         type = types.str;
         default = "black";
         description = ''
+          Colour name or hex code (#ffffff) of the background color.
         '';
       };
 
@@ -41,6 +43,9 @@ in
         type = types.str;
         default = "simplistic";
         description = ''
+          Icon theme for the buttons, must be in the themes folder of
+          the package, or in
+          <filename>~/.themes/&lt;name&gt;/oblogout/</filename>.
         '';
       };
 
@@ -48,6 +53,7 @@ in
         type = types.str;
         default =  "cancel, logout, restart, shutdown, suspend, hibernate";
         description = ''
+          List and order of buttons to show.
         '';
       };
 
@@ -55,6 +61,7 @@ in
         type = types.str;
         default =  "Escape";
         description = ''
+          Cancel logout/shutdown shortcut.
         '';
       };
 
@@ -62,6 +69,7 @@ in
         type = types.str;
         default = "S";
         description = ''
+          Shutdown shortcut.
         '';
       };
 
@@ -69,6 +77,7 @@ in
         type = types.str;
         default = "R";
         description = ''
+          Restart shortcut.
         '';
       };
 
@@ -76,6 +85,7 @@ in
         type = types.str;
         default = "U";
         description = ''
+          Suspend shortcut.
         '';
       };
 
@@ -83,6 +93,7 @@ in
         type = types.str;
         default = "L";
         description = ''
+          Logout shortcut.
         '';
       };
 
@@ -90,6 +101,7 @@ in
         type = types.str;
         default = "K";
         description = ''
+          Lock session shortcut.
         '';
       };
 
@@ -97,6 +109,7 @@ in
         type = types.str;
         default =  "H";
         description = ''
+          Hibernate shortcut.
         '';
       };
 
@@ -104,6 +117,7 @@ in
         type = types.str;
         default = "openbox --exit";
         description = ''
+          Command to logout.
         '';
       };
 
@@ -111,6 +125,7 @@ in
         type = types.str;
         default = "";
         description = ''
+          Command to lock screen.
         '';
       };
 
@@ -118,6 +133,7 @@ in
         type = types.str;
         default = "";
         description = ''
+          Command to switch user.
         '';
       };
     };
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index a055291282c9..ee61e2d2382c 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -158,6 +158,11 @@ in
 
         HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
 
+        # Tell zsh how to find installed completions
+        for p in ''${(z)NIX_PROFILES}; do
+          fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
+        done
+
         ${optionalString cfg.enableCompletion "autoload -U compinit && compinit"}
 
         ${optionalString (cfg.enableAutosuggestions)
@@ -172,11 +177,6 @@ in
 
         ${cfg.promptInit}
 
-        # Tell zsh how to find installed completions
-        for p in ''${(z)NIX_PROFILES}; do
-          fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
-        done
-
         # Read system-wide modifications.
         if test -f /etc/zshrc.local; then
           . /etc/zshrc.local
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix
index 3b108c87edd2..68425822a884 100644
--- a/nixos/modules/services/hardware/tlp.nix
+++ b/nixos/modules/services/hardware/tlp.nix
@@ -57,6 +57,8 @@ in
     powerManagement.scsiLinkPolicy = null;
     powerManagement.cpuFreqGovernor = null;
 
+    systemd.sockets."systemd-rfkill".enable = false;
+
     systemd.services = {
       "systemd-rfkill@".enable = false;
       "systemd-rfkill".enable = false;
diff --git a/nixos/modules/services/networking/firefox/sync-server.nix b/nixos/modules/services/networking/firefox/sync-server.nix
index c1a14931429a..a9f3fd65d76b 100644
--- a/nixos/modules/services/networking/firefox/sync-server.nix
+++ b/nixos/modules/services/networking/firefox/sync-server.nix
@@ -4,6 +4,10 @@ with lib;
 
 let
   cfg = config.services.firefox.syncserver;
+
+  defaultDbLocation = "/var/db/firefox-sync-server/firefox-sync-server.db";
+  defaultSqlUri = "sqlite:///${defaultDbLocation}";
+
   syncServerIni = pkgs.writeText "syncserver.ini" ''
     [DEFAULT]
     overrides = ${cfg.privateConfig}
@@ -25,6 +29,7 @@ let
     backend = tokenserver.verifiers.LocalVerifier
     audiences = ${removeSuffix "/" cfg.publicUrl}
   '';
+
 in
 
 {
@@ -65,6 +70,18 @@ in
         '';
       };
 
+      user = mkOption {
+        type = types.str;
+        default = "syncserver";
+        description = "User account under which syncserver runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "syncserver";
+        description = "Group account under which syncserver runs.";
+      };
+
       publicUrl = mkOption {
         type = types.str;
         default = "http://localhost:5000/";
@@ -85,7 +102,7 @@ in
 
       sqlUri = mkOption {
         type = types.str;
-        default = "sqlite:////var/db/firefox-sync-server.db";
+        default = defaultSqlUri;
         example = "postgresql://scott:tiger@localhost/test";
         description = ''
           The location of the database. This URL is composed of
@@ -126,16 +143,45 @@ in
       description = "Firefox Sync Server";
       wantedBy = [ "multi-user.target" ];
       path = [ pkgs.coreutils syncServerEnv ];
+
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        PermissionsStartOnly = true;
+      };
+
       preStart = ''
         if ! test -e ${cfg.privateConfig}; then
-          umask u=rwx,g=x,o=x
-          mkdir -p $(dirname ${cfg.privateConfig})
+          mkdir -m 700 -p $(dirname ${cfg.privateConfig})
           echo  > ${cfg.privateConfig} '[syncserver]'
           echo >> ${cfg.privateConfig} "secret = $(head -c 20 /dev/urandom | sha1sum | tr -d ' -')"
         fi
+        chown ${cfg.user}:${cfg.group} ${cfg.privateConfig}
+      '' + optionalString (cfg.sqlUri == defaultSqlUri) ''
+        if ! test -e $(dirname ${defaultDbLocation}); then
+          mkdir -m 700 -p $(dirname ${defaultDbLocation})
+          chown ${cfg.user}:${cfg.group} $(dirname ${defaultDbLocation})
+        fi
+        # Move previous database file if it exists
+        oldDb="/var/db/firefox-sync-server.db"
+        if test -f $oldDb; then
+          mv $oldDb ${defaultDbLocation}
+          chown ${cfg.user}:${cfg.group} ${defaultDbLocation}
+        fi
       '';
       serviceConfig.ExecStart = "${syncServerEnv}/bin/paster serve ${syncServerIni}";
     };
 
+    users.extraUsers = optionalAttrs (cfg.user == "syncserver")
+      (singleton {
+        name = "syncserver";
+        group = cfg.group;
+        isSystemUser = true;
+      });
+
+    users.extraGroups = optionalAttrs (cfg.group == "syncserver")
+      (singleton {
+        name = "syncserver";
+      });
   };
 }
diff --git a/nixos/modules/services/web-servers/caddy.nix b/nixos/modules/services/web-servers/caddy.nix
index ee32a1c86d4d..d8efa24bc6d5 100644
--- a/nixos/modules/services/web-servers/caddy.nix
+++ b/nixos/modules/services/web-servers/caddy.nix
@@ -5,12 +5,22 @@ with lib;
 let
   cfg = config.services.caddy;
   configFile = pkgs.writeText "Caddyfile" cfg.config;
-in
-{
+in {
   options.services.caddy = {
     enable = mkEnableOption "Caddy web server";
 
     config = mkOption {
+      default = "";
+      example = ''
+        example.com {
+        gzip
+        minify
+        log syslog
+
+        root /srv/http
+        }
+      '';
+      type = types.lines;
       description = "Verbatim Caddyfile to use";
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index c207aab5de0a..4b57d9641f50 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -19,7 +19,7 @@ in
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
     ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
-    ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix
+    ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
   ];
 
   options = {
diff --git a/nixos/modules/services/x11/desktop-managers/maxx.nix b/nixos/modules/services/x11/desktop-managers/maxx.nix
new file mode 100644
index 000000000000..d7bd2fc5eb0c
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/maxx.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  xcfg = config.services.xserver;
+  cfg = xcfg.desktopManager.maxx;
+in {
+  options.services.xserver.desktopManager.maxx = {
+    enable = mkEnableOption "MaXX desktop environment";
+  };
+
+  config = mkIf (xcfg.enable && cfg.enable) {
+    environment.systemPackages = [ pkgs.maxx ];
+
+    services.xserver.desktopManager.session = [
+    { name = "MaXX";
+      start = ''
+        exec ${pkgs.maxx}/opt/MaXX/etc/skel/Xsession.dt
+      '';
+    }];
+  };
+
+  meta.maintainers = [ maintainers.gnidorah ];
+}
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 6adb2c1681a2..001c6473a98e 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -120,7 +120,6 @@ let
 
       # Run systemd-nspawn without startup notification (we'll
       # wait for the container systemd to signal readiness).
-      EXIT_ON_REBOOT=1 \
       exec ${config.systemd.package}/bin/systemd-nspawn \
         --keep-unit \
         -M "$INSTANCE" -D "$root" $extraFlags \
diff --git a/pkgs/applications/audio/monkeys-audio/buildfix.diff b/pkgs/applications/audio/monkeys-audio/buildfix.diff
index 3c48f6ad828f..9684e5bf8e43 100644
--- a/pkgs/applications/audio/monkeys-audio/buildfix.diff
+++ b/pkgs/applications/audio/monkeys-audio/buildfix.diff
@@ -1,7 +1,8 @@
-diff -ru monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp monkeys-audio-3.99-u4-b5.patched/src/MACLib/APELink.cpp
---- monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp	2006-06-01 11:00:57.000000000 +0200
-+++ monkeys-audio-3.99-u4-b5.patched/src/MACLib/APELink.cpp	2012-01-05 14:51:47.000000000 +0100
-@@ -63,10 +63,10 @@
+diff --git a/src/MACLib/APELink.cpp b/src/MACLib/APELink.cpp
+index d349f4b..b00ec83 100644
+--- a/src/MACLib/APELink.cpp
++++ b/src/MACLib/APELink.cpp
+@@ -63,10 +63,10 @@ void CAPELink::ParseData(const char * pData, const str_utf16 * pFilename)
      if (pData != NULL)
      {
          // parse out the information
@@ -16,7 +17,7 @@ diff -ru monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp monkeys-audio-3.99-u4-b
  
          if (pHeader && pImageFile && pStartBlock && pFinishBlock)
          {
-@@ -81,7 +81,7 @@
+@@ -81,7 +81,7 @@ void CAPELink::ParseData(const char * pData, const str_utf16 * pFilename)
                  
                  // get the path
                  char cImageFile[MAX_PATH + 1]; int nIndex = 0;
@@ -25,3 +26,24 @@ diff -ru monkeys-audio-3.99-u4-b5/src/MACLib/APELink.cpp monkeys-audio-3.99-u4-b
                  while ((*pImageCharacter != 0) && (*pImageCharacter != '\r') && (*pImageCharacter != '\n'))
                      cImageFile[nIndex++] = *pImageCharacter++;
                  cImageFile[nIndex] = 0;
+diff --git a/src/Shared/All.h b/src/Shared/All.h
+index 328addc..7730e89 100644
+--- a/src/Shared/All.h
++++ b/src/Shared/All.h
+@@ -21,6 +21,8 @@ Global includes
+     #include <windows.h>
+ #endif
+ 
++#include <stdlib.h>
++
+ #ifdef _WIN32
+     #include <mmsystem.h>
+     #include <tchar.h>
+@@ -34,7 +36,6 @@ Global includes
+     #include "NoWindows.h"
+ #endif
+ 
+-#include <stdlib.h>
+ #include <memory.h>
+ #include <stdio.h>
+ #include <math.h>
diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/packages.nix
index 471f78f0c072..707550984972 100644
--- a/pkgs/applications/editors/android-studio/packages.nix
+++ b/pkgs/applications/editors/android-studio/packages.nix
@@ -27,9 +27,9 @@ in rec {
 
   preview = mkStudio rec {
     pname = "android-studio-preview";
-    version = "3.0.0.10"; # "Android Studio 3.0 Beta 2"
-    build = "171.4263559";
-    sha256Hash = "0bya69qa50s6dbvlzb198b5w6ixs21y6b56v3v1xjb3kndf9y44w";
+    version = "3.0.0.11"; # "Android Studio 3.0 Beta 3"
+    build = "171.4294784";
+    sha256Hash = "11m939hpwnrrz0grnc1x1ff19yjnwzx5w1dzaw9hpm8ylx692mrf";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 08fc25fe9c14..ea1fc1022fd2 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -216,12 +216,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2017.2"; /* updated by script */
+    version = "2017.2.1"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "de7f47ec959be9653aa4d2028fb27f8327800d8370daa0ab2d1093f3469f4b49"; /* updated by script */
+      sha256 = "acd3d09a37a3fa922a85a48635d1b230d559ea68917e2e7895caf16460d50c13"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion_Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -242,12 +242,12 @@ in
 
   gogland = buildGogland rec {
     name = "gogland-${version}";
-    version = "171.4694.61"; /* updated by script */
+    version = "172.3757.46"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "8e9462fc7c5cc7dc110ea2257b920a55d7d52ea874a53567e5d19381a1fcb269"; /* updated by script */
+      sha256 = "0d6b710edc434ed5d5ea5c4734b9026e2caeba7e74a027c1eb6fd837c5d4f4fd"; /* updated by script */
     };
     wmClass = "jetbrains-gogland";
     update-channel = "gogland_1.0_EAP";
@@ -268,12 +268,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2017.2.1";
+    version = "2017.2.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "1z8gp209jpjzvllnrpxzmbhgaxkklxw8nkm3g2drb7nal2hhs113";
+      sha256 = "c719af3d538bef23d061ef62d4acbf503198ff62322a3c0c5b3c38ab7ac36c4f"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IDEA_Release";
@@ -307,12 +307,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2017.2.1";
+    version = "2017.2.2"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
-      sha256 = "0y3r82i229d7lywixyifv4kkrwivixl75flagaqbkzw3j9wklg3k";
+      sha256 = "b8eb9d612800cc896eb6b6fbefbf9f49d92d2350ae1c3c4598e5e12bf93be401"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IDEA_Release";
@@ -346,12 +346,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2017.1.5"; /* updated by script */
+    version = "2017.2.2"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1a0bbf0d881527e08aad7a5adaa3ad44e8754c3eb2c3a8ed5ab113491549679b"; /* updated by script */
+      sha256 = "4eacc9bf512406bebf71546ccb4b6c14ea8e06748fd76be6ca409ea1955e1f53"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm_Release";
@@ -359,12 +359,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2017.1.5"; /* updated by script */
+    version = "2017.2.2"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "52519dfd0e913b5ccb8767155cd4d1fd413967d5010e8474cdc9a1fa688016ce"; /* updated by script */
+      sha256 = "21aedfd189115fcfee0e8c8df88eccbd8f19b998667af3c55ce5d56d4eaa37a9"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm_Release";
@@ -424,12 +424,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2017.1.4";
+    version = "2017.2.2"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0aw2728wknss5vn2fkgz8rkm5vwk031305f32dirfrh51bvmq2zm";
+      sha256 = "d6b7b103f8543e25d2602657f12d029856529895af6354e1a0875ed40bd05180"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WS_Release";
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index aace37601b55..2b24b93282f1 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "feh-${version}";
-  version = "2.19.1";
+  version = "2.19.3";
 
   src = fetchurl {
     url = "http://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "1d4ycmai3dpajl0bdr9i56646g4h5j1lb95jjn0nckwcddcj927c";
+    sha256 = "1l3yvv0l0ggwlfyhk84p2g9mrqvzqrg1fgalf88kzppvb9jppjay";
   };
 
   outputs = [ "out" "man" "doc" ];
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     description = "A light-weight image viewer";
     homepage = https://derf.homelinux.org/projects/feh/;
     license = licenses.mit;
-    maintainers = [ maintainers.viric ];
+    maintainers = [ maintainers.viric maintainers.willibutz ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/copyq/cmake-modules.patch b/pkgs/applications/misc/copyq/cmake-modules.patch
new file mode 100644
index 000000000000..f21105763de9
--- /dev/null
+++ b/pkgs/applications/misc/copyq/cmake-modules.patch
@@ -0,0 +1,12 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d910299e..69888477 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -99,6 +99,7 @@ endif()
+ 
+ # Qt modules
+ if (WITH_QT5)
++    find_package(Qt5 REQUIRED COMPONENTS Network Svg Xml Script)
+     qt5_use_modules(copyq Widgets Network Svg Xml Script ${copyq_Qt5_Modules})
+ else()
+     set(QT_USE_QTNETWORK TRUE)
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 7461f6853f47..4fd30c547b5c 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchFromGitHub, cmake, qt4, libXfixes, libXtst}:
+{ stdenv, fetchFromGitHub, cmake, qt5, libXfixes, libXtst, git
+, webkitSupport ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "CopyQ-${version}";
-  version = "2.9.0";
+  version = "3.0.3";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "1gnqsfh50w3qcnbghkpjr5qs42fgl6643lmg4mg4wam8a852s64f";
+    sha256 = "0wpxqrg4mn8xjsrwsmlhh731s2kr6afnzpqif1way0gi7fqr73jl";
   };
 
+  patches = [
+    ./cmake-modules.patch
+  ];
+
   nativeBuildInputs = [ cmake ];
-  
-  buildInputs = [ qt4 libXfixes libXtst ];
+
+  buildInputs = [
+    git qt5.full libXfixes libXtst
+  ] ++ stdenv.lib.optional webkitSupport qt5.qtwebkit;
 
   meta = with stdenv.lib; {
     homepage    = https://hluk.github.io/CopyQ;
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index f1bc06d395c7..b93295850bcd 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, tcl, tk, xlibsWrapper, makeWrapper}:
 
-let version = "3.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  version = "3.0";
   name = "wordnet-${version}";
   src = fetchurl {
     url = "http://wordnetcode.princeton.edu/${version}/WordNet-${version}.tar.bz2";
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 2bd6bd0a8ecb..5ebd01f38c41 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "quiterss-${version}";
-  version = "0.18.7";
+  version = "0.18.8";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = "${version}";
-    sha256 = "031n07s8dd0n3d5d4v9pza59iyvaim484n1qdnpbgamls2p8iwn6";
+    sha256 = "09mdxpv04zycrip1p5w6947348xfraicijddvxsr7d498r59b7ff";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index 6cb2c7247d54..e5a242662ce1 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, python2
+{ stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, pkgconfig, python2
 , boost, db, openssl, geoip, libiconv, miniupnpc
 , srcOnly, fetchgit
 }:
@@ -15,12 +15,12 @@ let
 
 in stdenv.mkDerivation rec {
   name = "twister-${version}";
-  version = "0.9.30";
+  version = "0.9.34";
 
   src = fetchurl {
     url = "https://github.com/miguelfreitas/twister-core/"
         + "archive/v${version}.tar.gz";
-    sha256 = "1i39iqq6z25rh869vi5k76g84rmyh30p05xid7z9sqjrqdfpyyzk";
+    sha256 = "1bi8libivd9y2bn9fc7vbc5q0jnal0pykpzgri6anqaww22y58jq";
   };
 
   configureFlags = [
@@ -37,6 +37,12 @@ in stdenv.mkDerivation rec {
     boost db openssl geoip miniupnpc libiconv
   ];
 
+  patches = stdenv.lib.singleton (fetchpatch {
+    url = "https://github.com/miguelfreitas/twister-core/commit/"
+        + "dd4f5a176958ea6ed855dc3fcef79680c1c0c92c.patch";
+    sha256 = "06fgmqnjyl83civ3ixiq673k8zjgm8n2w4w46nsh810nprqim8s6";
+  });
+
   postPatch = ''
     sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \
       src/init.cpp
diff --git a/pkgs/applications/version-management/git-lfs/1.nix b/pkgs/applications/version-management/git-lfs/1.nix
new file mode 100644
index 000000000000..24c22d423d5d
--- /dev/null
+++ b/pkgs/applications/version-management/git-lfs/1.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "git-lfs-${version}";
+  version = "1.5.6";
+  rev = "0d02fb7d9a1c599bbf8c55e146e2845a908e04e0";
+  
+  goPackagePath = "github.com/git-lfs/git-lfs";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "git-lfs";
+    repo = "git-lfs";
+    sha256 = "0wddry1lqjccf4522fvhx6grx8h57xsz17lkaf5aybnrgw677w3d";
+  };
+
+  # Tests fail with 'lfstest-gitserver.go:46: main redeclared in this block'
+  excludedPackages = [ "test" ];
+
+  preBuild = ''
+    pushd go/src/github.com/git-lfs/git-lfs
+      go generate ./commands
+    popd
+  '';
+
+  postInstall = ''
+    rm -v $bin/bin/{man,script}
+  '';
+  meta = with stdenv.lib; {
+    description = "Git extension for versioning large files";
+    homepage    = https://git-lfs.github.com/;
+    license     = [ licenses.mit ];
+    maintainers = [ maintainers.twey ];
+  };
+}
diff --git a/pkgs/desktops/lxqt/core/lxqt-config/default.nix b/pkgs/desktops/lxqt/core/lxqt-config/default.nix
index 7b38d2eec6fd..20e785ec5fda 100644
--- a/pkgs/desktops/lxqt/core/lxqt-config/default.nix
+++ b/pkgs/desktops/lxqt/core/lxqt-config/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, standardPatch, qtbase, qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, libqtxdg, libpthreadstubs, xorg }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, lxqt-build-tools, standardPatch, qtbase, qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt, libqtxdg, libpthreadstubs, xorg }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
@@ -45,4 +45,13 @@ stdenv.mkDerivation rec {
     platforms = with platforms; unix;
     maintainers = with maintainers; [ romildo ];
   };
+
+  patches = [
+    # Fixes a FTBFS with CMake v3.8
+    (fetchpatch {
+       url = https://github.com/lxde/lxqt-config/commit/bca652a75f8a497a69b1fbc1c7eaa353f6b4eef8.patch;
+       sha256 = "17k26xj97ks9gvcjhiwc5y39fciria4xyxrzcz67zj0flqm3cmrf";
+     })
+  ];
+
 }
diff --git a/pkgs/desktops/maxx/default.nix b/pkgs/desktops/maxx/default.nix
new file mode 100644
index 000000000000..3e8ca1f388e9
--- /dev/null
+++ b/pkgs/desktops/maxx/default.nix
@@ -0,0 +1,96 @@
+{ stdenv, fetchurl, makeWrapper, libredirect, gcc-unwrapped, bash, gtk-engine-murrine, gtk_engines, librsvg
+
+, libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm
+, libXinerama, libXdamage, libICE, libXtst, libXaw, fontconfig, pango, cairo, glib, libxml2, atk, gtk2
+, gdk_pixbuf, mesa_noglu, ncurses
+
+, xclock, xsettingsd }:
+
+let
+  version = "Indy-1.1.0";
+
+  deps = [
+    stdenv.cc.cc libX11 libXext libXi libXau libXrender libXft libXmu libSM libXcomposite libXfixes libXpm
+    libXinerama libXdamage libICE libXtst libXaw fontconfig pango cairo glib libxml2 atk gtk2
+    gdk_pixbuf mesa_noglu ncurses
+  ];
+  runtime_deps = [
+    xclock xsettingsd
+  ];
+in stdenv.mkDerivation {
+  name = "MaXX-${version}";
+
+  srcs = [
+    (fetchurl {
+      url = "http://maxxinteractive.com/downloads/${version}/FEDORA/MaXX-${version}-NO-ARCH.tar.gz";
+      sha256 = "1d23j08wwrrn5cp7csv70pcz9jppcn0xb1894wkp0caaliy7g31y";
+    })
+    (fetchurl {
+      url = "http://maxxinteractive.com/downloads/${version}/FEDORA/MaXX-${version}-x86_64.tar.gz";
+      sha256 = "156p2lra184wyvibrihisd7cr1ivqaygsf0zfm26a12gx23b7708";
+    })
+  ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildPhase = ''
+    while IFS= read -r -d $'\0' i; do
+      substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX
+    done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0)
+
+    substituteInPlace bin/adminterm \
+      --replace /bin/bash ${bash}/bin/bash
+
+    substituteInPlace share/misc/HOME/initMaXX-Desktop-Home.sh \
+      --replace "cp " "cp --no-preserve=mode "
+  '';
+
+  installPhase = ''
+    maxx=$out/opt/MaXX
+    mkdir -p "$maxx" $out/share
+
+    mv -- ./* "$maxx"
+    ln -s $maxx/share/icons $out/share
+
+    wrapProgram $maxx/etc/skel/Xsession.dt \
+      --prefix GTK_PATH : "${gtk-engine-murrine}/lib/gtk-2.0:${gtk_engines}/lib/gtk-2.0" \
+      --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" \
+      --prefix PATH : ${stdenv.lib.makeBinPath runtime_deps}
+
+    while IFS= read -r -d $'\0' i; do
+      if isELF "$i"; then
+        bin=`patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"; echo $?`
+        patchelf --set-rpath "${stdenv.lib.makeLibraryPath deps}" "$i"
+        if [ "$bin" -eq 0 ]; then
+          wrapProgram "$i" \
+            --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+            --set NIX_REDIRECTS /opt/MaXX=$maxx
+        fi
+      fi
+    done < <(find "$maxx" -type f -print0)
+
+    cp ${gcc-unwrapped}/bin/cpp ${gcc-unwrapped}/libexec/gcc/*/*/cc1 $maxx/bin
+    for i in $maxx/bin/cpp $maxx/bin/cc1
+    do
+      wrapProgram "$i" \
+        --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+        --set NIX_REDIRECTS /opt/MaXX=$maxx
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A replica of IRIX Interactive Desktop";
+    homepage = http://www.maxxinteractive.com;
+    license = {
+      url = http://www.maxxinteractive.com/site/?page_id=97;
+      free = true;
+    };
+    maintainers = [ maintainers.gnidorah ];
+    platforms = ["x86_64-linux"];
+    hydraPlatforms = [];
+    longDescription = ''
+      A clone of IRIX Interactive Desktop made in agreement with SGI. 
+      Provides simple and fast retro desktop environment.
+    '';
+  };
+}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index d1e22d881c35..fc0c34f03971 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -48,8 +48,6 @@ self: super: {
     sha256 = "026vv2k3ks73jngwifszv8l59clg88pcdr4mz0wr0gamivkfa1zy";
   });
 
-  ## GHC > 8.0.2
-
   # http://hub.darcs.net/dolio/vector-algorithms/issue/9#comment-20170112T145715
   vector-algorithms = dontCheck super.vector-algorithms;
 
@@ -62,5 +60,12 @@ self: super: {
   # Work around overly restrictive constraints on the version of 'base'.
   ChasingBottoms = doJailbreak super.ChasingBottoms;
   hashable = doJailbreak super.hashable;
+  protolude = doJailbreak super.protolude;
+  quickcheck-instances = doJailbreak super.quickcheck-instances;
+
+  # LTS-9 versions do not compile.
+  path = dontCheck super.path;
+  path-io = super.path-io_1_3_3;
+  trifecta = super.trifecta_1_7_1_1;
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 16e43e3fda3c..40e50bd5ce97 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2594,6 +2594,8 @@ package-maintainers:
   abbradar:
     - Agda
     - lambdabot
+  alunduil:
+    - collection-json
 
 dont-distribute-packages:
   # hard restrictions that really belong into meta.platforms
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
index 5a7bff7459e3..6e043f5994df 100644
--- a/pkgs/development/libraries/geis/default.nix
+++ b/pkgs/development/libraries/geis/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     sha256 = "1svhbjibm448ybq6gnjjzj0ak42srhihssafj0w402aj71lgaq4a";
   };
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=pedantic";
+  NIX_CFLAGS_COMPILE = "-Wno-format -Wno-misleading-indentation -Wno-error";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ python3 dbus_libs evemu frame grail libX11 libXext libXi libXtst xorgserver ];
diff --git a/pkgs/development/libraries/grail/default.nix b/pkgs/development/libraries/grail/default.nix
index 3a7ed879bff8..c8b1c0bdd9be 100644
--- a/pkgs/development/libraries/grail/default.nix
+++ b/pkgs/development/libraries/grail/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "grail-${version}";
-  version = "3.1.0";
+  version = "3.1.1";
 
   src = fetchurl {
     url = "https://launchpad.net/grail/trunk/${version}/+download/${name}.tar.bz2";
-    sha256 = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9";
+    sha256 = "1wwx5ibjdz5pyd0f5cd1n91y67r68dymxpm2lgd829041xjizvay";
   };
 
   buildInputs = [ pkgconfig python3 frame ]
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 5f39e2f49714..2fccee0160b3 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.7.2";
+  version = "2.7.6";
 
   src = fetchFromGitHub {
     owner = "couchbase";
-    repo ="libcouchbase";
+    repo = "libcouchbase";
     rev = version;
-    sha256 = "1182r9z3cykkgx1vn36l0a50wvh5mr3yj89x0ynyjhfi3iwalrar";
+    sha256 = "13g7r0mcmrj37mihj6g1x1ckpaps659c4qwnw3ixrg7p5mb3p41f";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix
index 48a63e412343..fa998b9e1984 100644
--- a/pkgs/development/libraries/qoauth/default.nix
+++ b/pkgs/development/libraries/qoauth/default.nix
@@ -1,25 +1,25 @@
-{ stdenv, fetchurl, qt4, qca2, qmake4Hook }:
+{ stdenv, fetchurl, qt5, qca2-qt5 }:
 
 stdenv.mkDerivation {
-  name = "qoauth-1.0.1";
+  name = "qoauth-2.0.0";
 
   src = fetchurl {
-    url = https://github.com/ayoy/qoauth/tarball/v1.0.1;
-    name = "qoauth-1.0.1.tar.gz";
-    sha256 = "1ax0g4dd49a3a1699ams13bkhz690xfwqg8rxp1capbdpf2aa8cp";
+    url = https://github.com/ayoy/qoauth/archive/v2.0.0.tar.gz;
+    name = "qoauth-2.0.0.tar.gz";
+    sha256 = "a28005986410d333e03d077679cdf6c504ec5a33342867dc0f9fb0b74285e333";
   };
 
   patchPhase = "sed -e 's/lib64/lib/g' -i src/src.pro";
 
-  buildInputs = [ qt4 qca2 ];
-  nativeBuildInputs = [ qmake4Hook ];
+  buildInputs = [ qt5.qtbase qca2-qt5 ];
+  nativeBuildInputs = [ qt5.qmake ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${qca2}/include/QtCrypto" ];
-  NIX_LDFLAGS = [ "-lqca" ];
+  NIX_CFLAGS_COMPILE = [ "-I${qca2-qt5}/include/Qca-qt5/QtCrypto" ];
+  NIX_LDFLAGS = [ "-lqca-qt5" ];
 
   meta = {
     description = "Qt library for OAuth authentication";
-    inherit (qt4.meta) platforms;
+    inherit (qt5.qtbase.meta) platforms;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
index e2958bce0e7c..724bca187067 100644
--- a/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -8,15 +8,15 @@ rec {
 
   sexplib = janePackage {
     name = "sexplib";
-    version = "0.9.1";
-    hash = "087md38l73lp24j2lmwi053jjav00k11r06s6whmff1xlhj70wdj";
+    version = "0.9.2";
+    hash = "0szj7gi5ksy7kif5g71rkr6xhxc41xl8hq6s5zz610cjyngzyzjl";
     meta.description = "Automated S-expression conversion";
   };
 
   base = janePackage {
     name = "base";
-    version = "0.9.1";
-    hash = "09gj30zyv23gv3gkf2pb3d3ywmkgd74dq8sfaps5xarr3grvndhm";
+    version = "0.9.3";
+    hash = "14v3zsr7za9h1gkxdmkk1yagnrfjk3y9snraywv9hsqbhv39ajvv";
     propagatedBuildInputs = [ sexplib ];
     meta.description = "Full standard library replacement for OCaml";
   };
@@ -65,7 +65,8 @@ rec {
 
   ppx_driver = janePackage {
     name = "ppx_driver";
-    hash = "1w3khwnvy18nkh673zrbhcs6051hs7z5z5dib7npkvpxndw22hwj";
+    version = "0.9.1";
+    hash = "1amz49x6v4sh1v2my6618cah0zv5i7jmsapbk9ydps6419g5asay";
     buildInputs = [ ocamlbuild ];
     propagatedBuildInputs = [ ppx_optcomp ];
     meta.description = "Feature-full driver for OCaml AST transformers";
@@ -173,7 +174,8 @@ rec {
 
   bin_prot = janePackage {
     name = "bin_prot";
-    hash = "0cy6lhksx4jypkrnj3ha31p97ghslki0bx5rpnzc2v28mfp6pzh1";
+    version = "0.9.1";
+    hash = "1bgcmkgz6b5i522996x589zsaiy5b3h37887lwbqvpps8by2ayvk";
     propagatedBuildInputs = [ ppx_compare ppx_custom_printf ppx_fields_conv ppx_variants_conv ];
     meta.description = "Binary protocol generator";
   };
@@ -203,7 +205,8 @@ rec {
 
   ppx_inline_test = janePackage {
     name = "ppx_inline_test";
-    hash = "01xml88ahrzqnc7g1ib184jbqxpdfx4gn2wdvi09dpi4i0jahy33";
+    version = "0.9.2";
+    hash = "17j36ihiqprbpa2bk02449k93vaidid2sly5djrk848ccjq8n5aa";
     propagatedBuildInputs = [ ppx_metaquot ];
     meta.description = "Syntax extension for writing in-line tests in OCaml code";
   };
diff --git a/pkgs/development/python-modules/linode-api/default.nix b/pkgs/development/python-modules/linode-api/default.nix
index a89596828f6a..45c33f94b28a 100644
--- a/pkgs/development/python-modules/linode-api/default.nix
+++ b/pkgs/development/python-modules/linode-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "linode-api";
-  version = "4.1.1b2"; # NOTE: this is a beta, and the API may change in future versions.
+  version = "4.1.2b0"; # NOTE: this is a beta, and the API may change in future versions.
   name = "${pname}-${version}";
 
   disabled = (pythonOlder "2.7");
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lfqsll3wv1wzn98ymmcbw0yawj8ab3mxniws6kaxf99jd4a0xp4";
+    sha256 = "19yzyb4sbxib8yxmrqm6d8i0fm8cims56q7kiq2ana26nbcm0gr4";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/matrix-client/default.nix b/pkgs/development/python-modules/matrix-client/default.nix
new file mode 100644
index 000000000000..20af252f58f6
--- /dev/null
+++ b/pkgs/development/python-modules/matrix-client/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, requests
+, tox, pytest, flake8, responses
+}:
+
+buildPythonPackage rec {
+  pname = "matrix-client";
+  version = "0.0.6";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15kx5px26hwr0sxpyjk4w61fjnabg1b57hwys1nyarc0jx4qjhiq";
+  };
+
+  checkInputs = [ tox pytest flake8 responses ];
+
+  propagatedBuildInputs = [ requests ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Matrix Client-Server SDK";
+    homepage = https://github.com/matrix-org/matrix-python-sdk;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ olejorgenb ];
+  };
+}
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index fc2651b91574..74884e6f5a8a 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv }:
 
 let
-  version = "1.6.6";
+  version = "1.7.5";
   name = "electron-${version}";
 
   meta = with stdenv.lib; {
@@ -17,7 +17,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-      sha256 = "1k6y1wcsb2z9h8wdj5f1z1fprvc3bvsj4rfx58if7q74qiq3q102";
+      sha256 = "1z1dzk6d2mfyms8lj8g6jn76m52izbd1d7c05k8h88m1syfsgav5";
       name = "${name}.zip";
     };
 
@@ -45,7 +45,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "1hp42iy32lymh9d5zp4vr51qjrr83wjxmbws0c16yw7zchq7fr64";
+      sha256 = "1d3c3y5j99wbyxlzk1nkry0m1xgxy3mi4a6irvlgyxl729dnwi97";
       name = "${name}.zip";
     };
 
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 29d2f13ca9a8..a71ee53dced9 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -1,23 +1,36 @@
-{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk2 }:
+{ stdenv, fetchzip, lib, makeWrapper, jdk, gtk2, gawk }:
 
 stdenv.mkDerivation rec {
-  name = "visualvm-1.3.8";
+  name = "visualvm-1.3.9";
 
   src = fetchzip {
-    url = "https://java.net/projects/visualvm/downloads/download/release138/visualvm_138.zip";
-    sha256 = "09wsi85z1g7bwyfhb37vw0gy3wl0j1cy35aj59rg7067q262gy1y";
+    url = "https://github.com/visualvm/visualvm.src/releases/download/1.3.9/visualvm_139.zip";
+    sha256 = "1gkdkxssh51jczhgv680i42jjrlia1vbpcqhxvf45xcq9xj95bm5";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     rm bin/visualvm.exe
+    rm platform/lib/nbexec64.exe
+    rm platform/lib/nbexec.exe
+    rm profiler/lib/deployed/jdk15/windows-amd64/profilerinterface.dll
+    rm profiler/lib/deployed/jdk15/windows/profilerinterface.dll
+    rm profiler/lib/deployed/jdk16/windows-amd64/profilerinterface.dll
+    rm profiler/lib/deployed/jdk16/windows/profilerinterface.dll
+    rm platform/modules/lib/amd64/jnidispatch-410.dll
+    rm platform/modules/lib/x86/jnidispatch-410.dll
+    rm platform/lib/nbexec.dll
+    rm platform/lib/nbexec64.dll
 
     substituteInPlace etc/visualvm.conf \
       --replace "#visualvm_jdkhome=" "visualvm_jdkhome=" \
       --replace "/path/to/jdk" "${jdk.home}" \
       --replace 'visualvm_default_options="' 'visualvm_default_options="--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=lcd -J-Dswing.aatext=true '
 
+    substituteInPlace platform/lib/nbexec \
+      --replace /usr/bin/\''${awk} ${gawk}/bin/awk
+
     cp -r . $out
 
     # To get the native LAF, JVM needs to see GTK’s .so-s.
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
index f1bf5e33a617..db34450a7a6e 100644
--- a/pkgs/development/tools/ocaml/jbuilder/default.nix
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchzip, ocaml, opam }:
 
 stdenv.mkDerivation {
-  name = "jbuilder-1.0+beta7";
+  name = "jbuilder-1.0+beta12";
   src = fetchzip {
-    url = http://github.com/janestreet/jbuilder/archive/1.0+beta7.tar.gz;
-    sha256 = "10qjqs6gv9y8s580gvssjm56xw72pcxd5lkpzqpz6cz4390d45i8";
+    url = http://github.com/janestreet/jbuilder/archive/1.0+beta12.tar.gz;
+    sha256 = "1gqpp1spcya9951mw2kcavam8v0m5s6zc5pjb7bkv5d71si04rlf";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix
new file mode 100644
index 000000000000..11df26818c1f
--- /dev/null
+++ b/pkgs/development/tools/ocaml/js_of_ocaml-compiler/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder
+, cmdliner, cppo, yojson
+}:
+
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "js_of_ocaml-compiler is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+	name = "js_of_ocaml-compiler-${version}";
+	version = "3.0.0";
+
+	src = fetchFromGitHub {
+		owner = "ocsigen";
+		repo = "js_of_ocaml";
+		rev = version;
+		sha256 = "17w1pqjk521jd4yp34miyif0cxjxchnw59xhj188qfl635ykb4k8";
+	};
+
+	buildInputs = [ ocaml findlib jbuilder cmdliner cppo ];
+
+	propagatedBuildInputs = [ yojson ];
+
+	buildPhase = "jbuilder build -p js_of_ocaml-compiler";
+
+	inherit (jbuilder) installPhase;
+
+	meta = {
+		description = "Compiler from OCaml bytecode to Javascript";
+		license = stdenv.lib.licenses.gpl2;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (src.meta) homepage;
+		inherit (ocaml.meta) platforms;
+	};
+}
diff --git a/pkgs/development/tools/watchman/default.nix b/pkgs/development/tools/watchman/default.nix
index 379f87b4cf4f..15f265e31e3f 100644
--- a/pkgs/development/tools/watchman/default.nix
+++ b/pkgs/development/tools/watchman/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre
-, confFile ? config.watchman.confFile or null
+{ stdenv, lib, config, fetchFromGitHub, autoconf, automake, pcre,
+  libtool, pkgconfig, openssl,
+  confFile ? config.watchman.confFile or null
 }:
 
 stdenv.mkDerivation rec {
   name = "watchman-${version}";
 
-  version = "4.7.0";
+  version = "4.9.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "watchman";
     rev = "v${version}";
-    sha256 = "0xnd7jvrmyxhlw2ggd37swv1mk6vw9j91fdxps6njgvnlfg9zs5n";
+    sha256 = "0fdaj5pmicm6j17d5q7px800m5rmam1a400x3hv1iiifnmhgnkal";
   };
 
-  buildInputs = [ autoconf automake pcre ];
+  buildInputs = [ pcre openssl ];
+  nativeBuildInputs = [ autoconf automake pkgconfig libtool ];
 
   configureFlags = [
       "--enable-lenient"
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
       "--disable-statedir"
   ];
 
+  prePatch = ''
+    patchShebangs .
+  '';
+
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index f3f137da757f..c447173b6087 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -10,11 +10,12 @@ let
     ([ coreutils ncurses gnused gnugrep ] ++ stdenv.lib.optional (jdk != null) jdk);
 in
 stdenv.mkDerivation rec {
-  name = "grails-2.4.3";
+  name = "grails-${version}";
+  version = "3.3.0";
 
   src = fetchurl {
-    url = "http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/${name}.zip";
-    sha256 = "0lqkv0hsiiqa36pfnq5wv7s7nsp9xadmh1ri039bn0llpfck4742";
+    url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
+    sha256 = "0lk9ll0x9w2akmlwkams9pxyafmgjmsr3fa45gx1r16nx563qxsg";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix
new file mode 100644
index 000000000000..02afa0a8edc2
--- /dev/null
+++ b/pkgs/games/openjk/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, makeWrapper, cmake, libjpeg, zlib, libpng, mesa_noglu, SDL2 }:
+
+stdenv.mkDerivation rec {
+  name = "OpenJK-2017-08-11";
+
+  src = fetchFromGitHub {
+    owner = "JACoders";
+    repo = "OpenJK";
+    rev = "a0828f06e0181c62e110f2f78d30acb5036b4113";
+    sha256 = "1wbb643z2nyhyirzzy3rz03wjqglwmsgnj7w5cl8167f9f9j9w0m";
+  };
+
+  dontAddPrefix = true;
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ makeWrapper cmake ];
+  buildInputs = [ libjpeg zlib libpng mesa_noglu SDL2 ];
+
+  # move from $out/JediAcademy to $out/opt/JediAcademy
+  preConfigure = ''
+    cmakeFlagsArray=("-DCMAKE_INSTALL_PREFIX=$out/opt")
+  '';
+
+  postInstall = ''
+    mkdir -p $out/bin
+    prefix=$out/opt/JediAcademy
+    makeWrapper $prefix/openjk.* $out/bin/jamp --run "cd $prefix"
+    makeWrapper $prefix/openjk_sp.* $out/bin/jasp --run "cd $prefix"
+    makeWrapper $prefix/openjkded.* $out/bin/openjkded --run "cd $prefix"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An open-source engine for Star Wars Jedi Academy game";
+    homepage = https://github.com/JACoders/OpenJK;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gnidorah ];
+  };
+}
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 479726e13042..0d0f9f21bf2a 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -32,15 +32,15 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "2.14";
+    version = "2.15";
     url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
-    sha256 = "1ilmhwm7vlp4fbl5a5m3rwwfw8g821gkjkd01ih2ixw1a7ck9y83";
+    sha256 = "1cv890khg5zqk844y12daw2ql4vk4garnqfk273hiyw1pw650bfq";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     inherit (unstable) version;
-    sha256 = "0mbklg0q3k5iavmwfbrwq4p8589ayikwq5q9wk87885xv32g176g";
+    sha256 = "0psdkhf4gn4nkpp2fvwy0b2a0s5b6wgf40vlbdf6ii45kj59mn7f";
     owner = "wine-compholio";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/tools/misc/debianutils/default.nix b/pkgs/tools/misc/debianutils/default.nix
index e22539827886..6575c19391c0 100644
--- a/pkgs/tools/misc/debianutils/default.nix
+++ b/pkgs/tools/misc/debianutils/default.nix
@@ -1,16 +1,12 @@
 { stdenv, fetchurl }:
 
-let
-  checksums = {
-    "4.8.1" = "09phylg8ih1crgxjadkdb8idbpj9ap62a7cbh8qdx2gyvh5mqf9c";
-  };
-in stdenv.mkDerivation rec {
-  version = "4.8.1";
+stdenv.mkDerivation rec {
+  version = "4.8.2";
   name = "debianutils-${version}";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/debianutils/debianutils_${version}.tar.xz";
-    sha256 = checksums."${version}";
+    sha256 = "0s3w3svcsh984zinkxvpzxi7dc0ginqk0nk299fkrr6k7wlmzssd";
   };
 
   meta = {
diff --git a/pkgs/tools/misc/duc/default.nix b/pkgs/tools/misc/duc/default.nix
index ba1abb7c86df..06862a634238 100644
--- a/pkgs/tools/misc/duc/default.nix
+++ b/pkgs/tools/misc/duc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "duc-${version}";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "zevv";
     repo = "duc";
     rev = "${version}";
-    sha256 = "0rnar2zacsb9rvdmp1a62xixhy69s5vh0nwgrklqxhb19qkzhdp7";
+    sha256 = "1h7vll8a78ijan9bmnimmsviywmc39x8h9iikx8vm98kwyxi4xif";
   };
 
   buildInputs = [ autoreconfHook pkgconfig tokyocabinet cairo pango ncurses ];
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 00cb6fd44f2e..516e27dee7f9 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.0";
+  version = "2.3.1";
   name = "graylog-${version}";
 
   src = fetchurl {
     url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
-    sha256 = "03jv8l5hj3hw91vk69pxhc2zvxyzc5sfvxf700rq83wsjh6gb5iz";
+    sha256 = "1zms24w4lnisjqgkj4a8cmnmlvpsqjl1sab5k99dyknq7b31x0sd";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index e6f251768645..ed8f2eebc75f 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext }:
 
 stdenv.mkDerivation rec {
-  version = "5.2.17";
+  version = "5.2.18";
   name = "whois-${version}";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "15jnzk0js8wxiapz1bw7jnck0fl3mcli56f9635z9x7vk63ss68z";
+    sha256 = "0jzyq1rj6balc6a28swzgspv55xhkc75dw6wsn159in4ap61bzmi";
   };
 
   buildInputs = [ perl gettext ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
       select the appropriate WHOIS server for most queries.
     '';
 
-    homepage = http://packages.qa.debian.org/w/whois.html;
+    homepage = https://packages.qa.debian.org/w/whois.html;
     license = licenses.gpl2;
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/evemu/default.nix b/pkgs/tools/system/evemu/default.nix
index 873abd4812cb..b6f1af7b23fe 100644
--- a/pkgs/tools/system/evemu/default.nix
+++ b/pkgs/tools/system/evemu/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "evemu-${version}";
-  version = "2.4.0";
+  version = "2.6.0";
 
   # We could have downloaded a release tarball from cgit, but it changes hash
   # each time it is downloaded :/
   src = fetchgit {
     url = git://git.freedesktop.org/git/evemu;
     rev = "refs/tags/v${version}";
-    sha256 = "07iha13xrpf4z59rzl9cm2h1zkc5xhyipbd3ajd3c1d4hhpn9w9s";
+    sha256 = "1m38fxwy2s82vb2qm9aqxinws12akmqqq7q66is931lc3awqkbah";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
-    homepage = http://www.freedesktop.org/wiki/Evemu/;
+    homepage = https://www.freedesktop.org/wiki/Evemu/;
     repositories.git = git://git.freedesktop.org/git/evemu;
     license = licenses.gpl2;
     maintainers = [ maintainers.amorsillo ];
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index da7c5b593e3a..8ddfa7d7be46 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "ripgrep-${version}";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "BurntSushi";
     repo = "ripgrep";
     rev = "${version}";
-    sha256 = "128sfczms14zgfbhgmf84jjlivd4q6i581rxirhz3kmpnnby18rz";
+    sha256 = "1cnvwxbznmsn1gand8hhy5zadax5p67lvm46fkj1a1s89f158w3a";
   };
 
-  depsSha256 = "1kjmv4bn5sicx8g5gyzq2zhxmqsqlgckhcg4ypvnjmcyq1ifiv2m";
+  depsSha256 = "1kx9xazhj93xa3cnys39wwr84qqjqrlsbbi5ih71vxppskdpvd6m";
 
   preFixup = ''
     mkdir -p "$out/man/man1"
@@ -23,7 +23,7 @@ buildRustPackage rec {
   meta = with stdenv.lib; {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
-    license = with licenses; [ unlicense ];
+    license = with licenses; [ unlicense /* or */ mit ];
     maintainers = [ maintainers.tailhook ];
     platforms = platforms.all;
   };
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2c6c07042f74..e51bc545aec8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2134,7 +2134,9 @@ with pkgs;
 
   git-crecord = callPackage ../applications/version-management/git-crecord { };
 
-  git-lfs = callPackage ../applications/version-management/git-lfs { };
+  git-lfs = lowPrio (callPackage ../applications/version-management/git-lfs { });
+
+  git-lfs1 = callPackage ../applications/version-management/git-lfs/1.nix { };
 
   git-ftp = callPackage ../development/tools/git-ftp { };
 
@@ -17391,6 +17393,8 @@ with pkgs;
 
   openclonk = callPackage ../games/openclonk { };
 
+  openjk = callPackage ../games/openjk { };
+
   openmw = callPackage ../games/openmw { };
 
   openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix {
@@ -17788,6 +17792,8 @@ with pkgs;
     callPackage = newScope pkgs.mate;
   });
 
+  maxx = callPackage ../desktops/maxx { };
+
   pantheon = recurseIntoAttrs rec {
     callPackage = newScope pkgs.pantheon;
     pantheon-terminal = callPackage ../desktops/pantheon/apps/pantheon-terminal { };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index f33b397958ca..91efa306ce4e 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -71,6 +71,32 @@ let
     };
   };
 
+  luacheck = buildLuaPackage rec {
+    pname = "luacheck";
+    version = "0.20.0";
+    name = "${pname}${version}";
+
+    src = fetchFromGitHub {
+      owner = "mpeterv";
+      repo = "luacheck";
+      rev = "${version}";
+      sha256 = "0ahfkmqcjhlb7r99bswy1sly6d7p4pyw5f4x4fxnxzjhbq0c5qcs";
+    };
+
+    propagatedBuildInputs = [ lua ];
+
+    installPhase = ''
+      ${lua}/bin/lua install.lua $out
+      '';
+
+    meta = with stdenv.lib; {
+      description = "A tool for linting and static analysis of Lua code";
+      homepage = https://github.com/mpeterv/luacheck;
+      license = licenses.mit;
+      platforms = platforms.unix;
+    };
+  };
+
   luaevent = buildLuaPackage rec {
     version = "0.4.3";
     name = "luaevent-${version}";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 29f3ae51a0a3..9462eb3d3da8 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -272,6 +272,8 @@ let
 
     js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { lwt = lwt2; };
 
+    js_of_ocaml-compiler = callPackage ../development/tools/ocaml/js_of_ocaml-compiler {};
+
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ff0edb75b444..f4dd354197c4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5476,7 +5476,7 @@ in {
   };
 
   easydict = callPackage ../development/python-modules/easydict { };
-  
+
   EasyProcess = buildPythonPackage rec {
     name = "EasyProcess-0.2.3";
 
@@ -7290,17 +7290,17 @@ in {
   logfury = buildPythonPackage rec {
     name = "logfury-${version}";
     version = "0.1.2";
-  
+
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/logfury/${name}.tar.gz";
       sha256 = "1lywirv3d1lw691mc4mfpz7ak6r49klri43bbfgdnvsfppxminj2";
     };
-  
+
     buildInputs =
       [ self.funcsigs
         self.six
       ];
-  
+
     meta = with pkgs.stdenv.lib; {
       description = "Logfury is for python library maintainers. It allows for responsible, low-boilerplate logging of method calls.";
       homepage = "https://github.com/ppolewicz/logfury";
@@ -12489,6 +12489,7 @@ in {
     inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
   };
 
+  matrix-client = callPackage ../development/python-modules/matrix-client/default.nix { };
 
   mccabe = callPackage ../development/python-modules/mccabe { };
 
@@ -28625,17 +28626,17 @@ EOF
 
   cymem = callPackage ../development/python-modules/cymem { };
 
-  ftfy = callPackage ../development/python-modules/ftfy { };    
+  ftfy = callPackage ../development/python-modules/ftfy { };
+
+  murmurhash = callPackage ../development/python-modules/murmurhash { };
 
-  murmurhash = callPackage ../development/python-modules/murmurhash { };      
+  plac = callPackage ../development/python-modules/plac { };
 
-  plac = callPackage ../development/python-modules/plac { };        
-  
   preshed = callPackage ../development/python-modules/preshed { };
 
-  thinc = callPackage ../development/python-modules/thinc { };  
+  thinc = callPackage ../development/python-modules/thinc { };
 
-  spacy = callPackage ../development/python-modules/spacy { };  
+  spacy = callPackage ../development/python-modules/spacy { };
 });
 
 in fix' (extends overrides packages)
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index 1caef26322d7..f49b1e444e50 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,13 +7,13 @@
 { stdenv, fetchFromGitHub, git }:
 
 stdenv.mkDerivation {
-  name = "rustRegistry-2017-07-23";
+  name = "rustRegistry-2017-08-24";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "crates.io-index";
-    rev = "ed8e6a6761278861db046073cc69d6a5e7dd8c15";
-    sha256 = "1v72m0h31xcay2m64n2wil5wqnl8z4n4adxxpdllcpgj3pj5jai6";
+    rev = "53fd44d796ca10ec0a5a9b657d8c7f8964695a49";
+    sha256 = "1ppg3q001ypdh6w0ymhkcilr5gyr2pnrha9vdixa0gzgw06k7k0s";
   };
   phases = [ "unpackPhase" "installPhase" ];
   installPhase = ''