about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-05-02 08:43:14 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-05-02 08:43:14 +0200
commit155c9d8e18cb41306e229c2a069539350aae2626 (patch)
tree29d836d3110dcba554c166713237c834ee208cf3
parent7909ed1dee47fa154c63937bbf2c0351fe9bbdc8 (diff)
parent1cc005168be91b67e03ae9c1bd45dad3eed34f74 (diff)
downloadnixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar.gz
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar.bz2
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar.lz
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar.xz
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.tar.zst
nixlib-155c9d8e18cb41306e229c2a069539350aae2626.zip
Merge master into staging-next
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/databases/openldap.nix33
-rw-r--r--nixos/modules/services/misc/ethminer.nix115
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--pkgs/applications/altcoins/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/altcoins/fix-bitcoin-qt-build.patch4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix6
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix28
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix4
-rw-r--r--pkgs/applications/misc/gcalcli/default.nix16
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix4
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix51
-rw-r--r--pkgs/applications/networking/testssl/default.nix25
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix15
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/gita/default.nix16
-rw-r--r--pkgs/applications/version-management/gitlab/data.json24
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock70
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix72
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock70
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix72
-rw-r--r--pkgs/data/themes/tetra/default.nix (renamed from pkgs/misc/themes/tetra/default.nix)8
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix14
-rw-r--r--pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch106
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix4
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel/default.nix4
-rw-r--r--pkgs/development/compilers/mint/default.nix4
-rw-r--r--pkgs/development/compilers/mint/shards.nix26
-rw-r--r--pkgs/development/interpreters/hy/default.nix16
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix2
-rw-r--r--pkgs/development/libraries/ethash/default.nix58
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix12
-rw-r--r--pkgs/development/libraries/liblinear/default.nix4
-rw-r--r--pkgs/development/libraries/log4cplus/default.nix4
-rw-r--r--pkgs/development/libraries/smesh/default.nix24
-rw-r--r--pkgs/development/python-modules/fastentrypoints/default.nix18
-rw-r--r--pkgs/development/python-modules/pythonocc-core/default.nix37
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix15
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix2
-rw-r--r--pkgs/development/tools/gocode-gomod/default.nix4
-rw-r--r--pkgs/development/tools/misc/cli11/default.nix35
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix20
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix4
-rw-r--r--pkgs/misc/emulators/caprice32/default.nix22
-rw-r--r--pkgs/misc/emulators/wine/sources.nix10
-rw-r--r--pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch105
-rw-r--r--pkgs/misc/uboot/rock64.nix2
-rw-r--r--pkgs/misc/uboot/rockpro64.nix2
-rw-r--r--pkgs/os-specific/linux/mbpfan/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/mqtt/mosquitto/default.nix4
-rw-r--r--pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--pkgs/tools/misc/docui/default.nix22
-rw-r--r--pkgs/tools/misc/ethminer/default.nix61
-rw-r--r--pkgs/tools/misc/thin-provisioning-tools/default.nix2
-rw-r--r--pkgs/tools/networking/opensm/default.nix4
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix2
-rw-r--r--pkgs/tools/security/lynis/default.nix4
-rw-r--r--pkgs/tools/security/mkp224o/default.nix4
-rw-r--r--pkgs/tools/security/pdfcrack/default.nix4
-rw-r--r--pkgs/tools/security/signing-party/default.nix13
-rw-r--r--pkgs/tools/security/ssh-audit/default.nix53
-rw-r--r--pkgs/tools/system/inxi/default.nix4
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix2
-rw-r--r--pkgs/top-level/all-packages.nix48
-rw-r--r--pkgs/top-level/python-packages.nix6
76 files changed, 1145 insertions, 332 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index ba6a3501e38f..1027ccc9cbad 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -47,8 +47,8 @@
 /nixos/doc/manual/man-nixos-option.xml                @nbp
 /nixos/modules/installer/tools/nixos-option.sh        @nbp
 
-# NixOS modules
-/nixos/modules @Infinisil
+# New NixOS modules
+/nixos/modules/module-list.nix @Infinisil
 
 # Python-related code and docs
 /maintainers/scripts/update-python-libraries	@FRidh
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 4f6e9b1084ff..bad913b74560 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -930,6 +930,11 @@
     github = "chris-martin";
     name = "Chris Martin";
   };
+  chrisaw = {
+    email = "home@chrisaw.com";
+    github = "cawilliamson";
+    name = "Christopher A. Williamson";
+  };
   chrisjefferson = {
     email = "chris@bubblescope.net";
     github = "chrisjefferson";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 56c44a43c6e3..236842ecb0bf 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -395,6 +395,7 @@
   ./services/misc/emby.nix
   ./services/misc/errbot.nix
   ./services/misc/etcd.nix
+  ./services/misc/ethminer.nix
   ./services/misc/exhibitor.nix
   ./services/misc/felix.nix
   ./services/misc/folding-at-home.nix
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index c101e7375af9..c2f458c03794 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -18,7 +18,11 @@ let
     database ${cfg.database}
     suffix ${cfg.suffix}
     rootdn ${cfg.rootdn}
-    rootpw ${cfg.rootpw}
+    ${if (cfg.rootpw != null) then ''
+      rootpw ${cfg.rootpw}
+    '' else ''
+      include ${cfg.rootpwFile}
+    ''}
     directory ${cfg.dataDir}
     ${cfg.extraDatabaseConfig}
   '');
@@ -106,10 +110,23 @@ in
       };
 
       rootpw = mkOption {
-        type = types.str;
+        type = types.nullOr types.str;
+        default = null;
         description = ''
           Password for the root user.
           This setting will be ignored if configDir is set.
+          Using this option will store the root password in plain text in the
+          world-readable nix store. To avoid this the <literal>rootpwFile</literal> can be used.
+        '';
+      };
+
+      rootpwFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Password file for the root user.
+          The file should contain the string <literal>rootpw</literal> followed by the password.
+          e.g.: <literal>rootpw mysecurepassword</literal>
         '';
       };
 
@@ -140,9 +157,9 @@ in
             include ${pkgs.openldap.out}/etc/schema/inetorgperson.schema
             include ${pkgs.openldap.out}/etc/schema/nis.schema
 
-            database bdb 
-            suffix dc=example,dc=org 
-            rootdn cn=admin,dc=example,dc=org 
+            database bdb
+            suffix dc=example,dc=org
+            rootdn cn=admin,dc=example,dc=org
             # NOTE: change after first start
             rootpw secret
             directory /var/db/openldap
@@ -218,6 +235,12 @@ in
   ###### implementation
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = cfg.rootpwFile != null || cfg.rootpw != null;
+        message = "Either services.openldap.rootpw or services.openldap.rootpwFile must be set";
+      }
+    ];
 
     environment.systemPackages = [ openldap ];
 
diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix
new file mode 100644
index 000000000000..2958cf214473
--- /dev/null
+++ b/nixos/modules/services/misc/ethminer.nix
@@ -0,0 +1,115 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.ethminer;
+  poolUrl = escapeShellArg "stratum1+tcp://${cfg.wallet}@${cfg.pool}:${toString cfg.stratumPort}/${cfg.rig}/${cfg.registerMail}";
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.ethminer = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable ethminer ether mining.";
+      };
+
+      recheckInterval = mkOption {
+        type = types.int;
+        default = 2000;
+        description = "Interval in milliseconds between farm rechecks.";
+      };
+
+      toolkit = mkOption {
+        type = types.enum [ "cuda" "opencl" ];
+        default = "cuda";
+        description = "Cuda or opencl toolkit.";
+      };
+
+      apiPort = mkOption {
+        type = types.int;
+        default = -3333;
+        description = "Ethminer api port. minus sign puts api in read-only mode.";
+      };
+
+      wallet = mkOption {
+        type = types.str;
+        example = "0x0123456789abcdef0123456789abcdef01234567";
+        description = "Ethereum wallet address.";
+      };
+
+      pool = mkOption {
+        type = types.str;
+        example = "eth-us-east1.nanopool.org";
+        description = "Mining pool address.";
+      };
+
+      stratumPort = mkOption {
+        type = types.port;
+        default = 9999;
+        description = "Stratum protocol tcp port.";
+      };
+
+      rig = mkOption {
+        type = types.str;
+        default = "mining-rig-name";
+        description = "Mining rig name.";
+      };
+
+      registerMail = mkOption {
+        type = types.str;
+        example = "email%40example.org";
+        description = "Url encoded email address to register with pool.";
+      };
+
+      maxPower = mkOption {
+        type = types.int;
+        default = 115;
+        description = "Miner max watt usage.";
+      };
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    systemd.services.ethminer = {
+      path = [ pkgs.cudatoolkit ];
+      description = "ethminer ethereum mining service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        ExecStartPost = optional (cfg.toolkit == "cuda") "+${getBin config.boot.kernelPackages.nvidia_x11}/bin/nvidia-smi -pl ${toString cfg.maxPower}";
+      };
+
+      environment = {
+        LD_LIBRARY_PATH = "${config.boot.kernelPackages.nvidia_x11}/lib";
+      };
+
+      script = ''
+        ${pkgs.ethminer}/bin/.ethminer-wrapped \
+          --farm-recheck ${toString cfg.recheckInterval} \
+          --report-hashrate \
+          --${cfg.toolkit} \
+          --api-port ${toString cfg.apiPort} \
+          --pool ${poolUrl}
+      '';
+
+    };
+
+  };
+
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 5639b2668c30..95654b679609 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -116,6 +116,7 @@ in
   installer = handleTest ./installer.nix {};
   ipv6 = handleTest ./ipv6.nix {};
   jackett = handleTest ./jackett.nix {};
+  jellyfin = handleTest ./jellyfin.nix {};
   jenkins = handleTest ./jenkins.nix {};
   kafka = handleTest ./kafka.nix {};
   kerberos = handleTest ./kerberos/default.nix {};
diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/altcoins/bitcoin-abc.nix
index 3b65b06d8db8..479d175020b7 100644
--- a/pkgs/applications/altcoins/bitcoin-abc.nix
+++ b/pkgs/applications/altcoins/bitcoin-abc.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.18.2";
+  version = "0.19.4";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1ha219xnd61qicf7r3j0wbfrifh7blwp3lyk3ycgdn381q1qln29";
+    sha256 = "1z4x25ygcw1pqml2ww02vqrvmihlv4f5gnnn1iyfirrjxgpfaxd7";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch b/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch
index cbbfd85fe5bf..c49bbc432519 100644
--- a/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch
+++ b/pkgs/applications/altcoins/fix-bitcoin-qt-build.patch
@@ -4,12 +4,12 @@
  dnl Output: $1 is set to the path of $2 if found. $2 are searched in order.
  AC_DEFUN([BITCOIN_QT_PATH_PROGS],[
    BITCOIN_QT_CHECK([
--    if test "x$3" != "x"; then
+-    if test "x$3" != x; then
 -      AC_PATH_PROGS($1,$2,,$3)
 -    else
 -      AC_PATH_PROGS($1,$2)
 -    fi
 +    AC_PATH_PROGS($1,$2)
-     if test "x$$1" = "x" && test "x$4" != "xyes"; then
+     if test "x$$1" = x && test "x$4" != xyes; then
        BITCOIN_QT_FAIL([$1 not found])
      fi
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 8d8d8d854754..ff02d2a9e224 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "mixxx-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = "release-${version}";
-    sha256 = "1rp2nyhz2j695k5kk0m94x30akwrlr9jgs0n4pi4snnvjpwmbfp9";
+    sha256 = "1q6c2wfpprsx7s7nz1w0mhm2yhikj54jxcv61kwylxx3n5k2na9r";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
     qtx11extras rubberband scons sqlite taglib upower vampSDK
   ];
 
+  enableParallelBuilding = true;
+
   sconsFlags = [
     "build=release"
     "qtdir=${qtbase}"
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 42ef89cd0fd1..d190fa1b7299 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.36.0";
+  version = "3.37.0";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1qxb3rfjxmwihcm0nrarrgp9x7zr3kjipzn5igj0d57gpi2bdwgv";
+    sha256 = "1fy802jx3817ldrm3g5inrfjbi7s8xcx96pnglbq54nvp41lzyh5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix b/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix
index 8d39c185acad..8980dc1f0a9a 100644
--- a/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix
+++ b/pkgs/applications/editors/emacs-modes/emacs-libvterm/default.nix
@@ -17,25 +17,41 @@ let
 
   };
 
+  libvterm = libvterm-neovim.overrideAttrs(old: rec {
+    pname = "libvterm-neovim";
+    version = "2019-04-27";
+    name = pname + "-" + version;
+    src = fetchFromGitHub {
+      owner = "neovim";
+      repo = "libvterm";
+      rev = "89675ffdda615ffc3f29d1c47a933f4f44183364";
+      sha256 = "0l9ixbj516vl41v78fi302ws655xawl7s94gmx1kb3fmfgamqisy";
+    };
+  });
+
+
 in stdenv.mkDerivation rec {
   name = "emacs-libvterm-${version}";
-  version = "unstable-2018-11-16";
+  version = "unstable-2019-04-28";
 
   src = fetchFromGitHub {
     owner = "akermu";
     repo = "emacs-libvterm";
-    rev = "8be9316156be75a685c0636258b2fec2daaf5ab5";
-    sha256 = "059js4aa7xgqcpaicgy4gz683hppa1iyp1r98mnms5hd31a304k8";
+    rev = "6adcedf3e4aaadeeaff97437044fba17aeb466d4";
+    sha256 = "1j6qr5bmajig3idhwsaa3zm72w13q9zn77z2dlrhhx3p4bbds3f8";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ emacs libvterm-neovim ];
+  buildInputs = [ emacs libvterm ];
 
-  cmakeFlags = [ "-DEMACS_SOURCE=${emacsSources}" ];
+  cmakeFlags = [
+    "-DEMACS_SOURCE=${emacsSources}"
+    "-DUSE_SYSTEM_LIBVTERM=True"
+  ];
 
   installPhase = ''
     install -d $out/share/emacs/site-lisp
     install ../*.el $out/share/emacs/site-lisp
-    install ./*.so $out/share/emacs/site-lisp
+    install ../*.so $out/share/emacs/site-lisp
   '';
 }
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index d0c8f79c9d45..481011378742 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -8,13 +8,13 @@ in
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "3.3.6";
+  version = "4.0.2";
 
   src = fetchurl {
     url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz";
     # Verified using official SHA-1 and signature from
     # https://github.com/fyookball/keys-n-hashes
-    sha256 = "ac435f2bf98b9b50c4bdcc9e3fb2ff19d9c66f8cce5df852f3a4727306bb0a84";
+    sha256 = "6255cd0493442ec57c10ae70ca2e84c6a29497f90a1393e6ac5772afe7572acf";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/gcalcli/default.nix b/pkgs/applications/misc/gcalcli/default.nix
index e72065fa283c..9313612370c8 100644
--- a/pkgs/applications/misc/gcalcli/default.nix
+++ b/pkgs/applications/misc/gcalcli/default.nix
@@ -5,32 +5,26 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "gcalcli";
-  version = "4.0.4";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner  = "insanum";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0bl4cmc24iw12zn5mlj5qn141s2k2mzdixbcb92pfng4w2s4dq66";
+    sha256 = "06iijpwlvvn8bj81s4znhykilvwvydxjmzd3d4nsa5j2kj3iwshi";
   };
 
   postPatch = lib.optionalString stdenv.isLinux ''
-    substituteInPlace gcalcli/argparsers.py --replace \
-      "command = 'notify-send -u critical" \
-      "command = '${libnotify}/bin/notify-send -u critical"
+    substituteInPlace gcalcli/argparsers.py \
+      --replace "'notify-send" "'${libnotify}/bin/notify-send"
   '';
 
   propagatedBuildInputs = [
     dateutil gflags httplib2 parsedatetime six vobject
     google_api_python_client oauth2client uritemplate
+    libnotify
   ] ++ lib.optional (!isPy3k) futures;
 
-  postInstall = lib.optionalString stdenv.isLinux ''
-    substituteInPlace $out/bin/gcalcli --replace \
-      "command = 'notify-send -u critical -a gcalcli %s'" \
-      "command = '${libnotify}/bin/notify-send -i view-calendar-upcoming-events -u critical -a Calendar %s'"
-  '';
-
   # There are no tests as of 4.0.0a4
   doCheck = false;
 
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 928a1bae108a..7acebfad488b 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, makeWrapper }:
 
 let
-  version = "5.3.22";
+  version = "5.4.10";
 
 in stdenv.mkDerivation {
   name = "masterpdfeditor-${version}";
 
   src = fetchurl {
     url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-    sha256 = "0cnw01g3j5l07f2lng604mx8qqm61i5sflryj1vya2gkjmrphkan";
+    sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 904fb95ca6c6..0d9fffd1bb7e 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop-file-utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "18.12";
+  version = "19.04";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "01pk57ff297lifm3g2hrbmfmchgyy5rir8103n2j3l0dkn2i0g3d";
+    sha256 = "11wag23gx7nprrm1qlgvbc83rs9zxdsshqrp98zwia80xh8c9bk5";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
new file mode 100644
index 000000000000..2054f4cea196
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -0,0 +1,51 @@
+{ autoPatchelfHook, electron, fetchurl, makeDesktopItem, makeWrapper, nodePackages, nss, stdenv, xdg_utils, xorg }:
+
+stdenv.mkDerivation rec {
+  pname = "rambox-pro";
+  version = "1.1.2";
+
+  dontBuild = true;
+  dontStrip = true;
+
+  buildInputs = [ nss xorg.libxkbfile ];
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper nodePackages.asar ];
+
+  src = fetchurl {
+    url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz";
+    sha256 = "0rrfpl371hp278b02b9b6745ax29yrdfmxrmkxv6d158jzlv0dlr";
+  };
+
+  postPatch = ''
+    substituteInPlace resources/app.asar.unpacked/node_modules/ad-block/vendor/depot_tools/create-chromium-git-src \
+      --replace "/usr/bin/env -S bash -e" "${stdenv.shell}"
+    substituteInPlace resources/app.asar.unpacked/node_modules/ad-block/node_modules/bloom-filter-cpp/vendor/depot_tools/create-chromium-git-src \
+      --replace "/usr/bin/env -S bash -e" "${stdenv.shell}"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/opt/RamboxPro $out/share/applications
+    asar e resources/app.asar $out/opt/RamboxPro/resources/app.asar.unpacked   
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+  '';
+
+  postFixup = ''
+    makeWrapper ${electron}/lib/electron/.electron-wrapped $out/bin/ramboxpro \
+      --add-flags "$out/opt/RamboxPro/resources/app.asar.unpacked --without-update" \
+      --prefix PATH : ${xdg_utils}/bin
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "rambox-pro";
+    exec = "ramboxpro";
+    type = "Application";
+    desktopName = "Rambox Pro";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Messaging and emailing app that combines common web applications into one";
+    homepage = https://rambox.pro;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ chrisaw ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index 4a1f71f4b4f7..0c30a3def336 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -1,17 +1,15 @@
 { stdenv, fetchFromGitHub, makeWrapper, lib
 , dnsutils, coreutils, openssl, nettools, utillinux, procps }:
 
-let
-  version = "2.9.5-7";
-
-in stdenv.mkDerivation rec {
-  name = "testssl.sh-${version}";
+stdenv.mkDerivation rec {
+  pname = "testssl.sh";
+  version = "3.0rc5";
 
   src = fetchFromGitHub {
     owner = "drwetter";
-    repo = "testssl.sh";
-    rev = "v${version}";
-    sha256 = "02xp0yi53xf6jw6v633zs2ws2iyyvq3mlkimg0cv3zvj7nw9x5wr";
+    repo = pname;
+    rev = version;
+    sha256 = "14b9n0h4f2dsa292wi9gnan5ncgqblis6wyh5978lhjzi1d7gyds";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -27,16 +25,15 @@ in stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace testssl.sh                                               \
       --replace /bin/pwd                    pwd                                \
-      --replace TESTSSL_INSTALL_DIR:-\"\"   TESTSSL_INSTALL_DIR:-\"$out\"
+      --replace TESTSSL_INSTALL_DIR:-\"\"   TESTSSL_INSTALL_DIR:-\"$out\"      \
+      --replace PROG_NAME=\"\$\(basename\ \"\$0\"\)\" PROG_NAME=\"testssl.sh\"
   '';
 
   installPhase = ''
-    install -Dt $out/bin testssl.sh
-
-    wrapProgram $out/bin/testssl.sh                                            \
-      --prefix PATH ':' ${lib.makeBinPath buildInputs}
-
+    install -D testssl.sh $out/bin/testssl.sh
     cp -r etc $out
+
+    wrapProgram $out/bin/testssl.sh --prefix PATH ':' ${lib.makeBinPath buildInputs}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 55b01bd7ec9a..91468eaf819b 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  version = "2.19.0";
+  version = "2.19.2";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0l2riidd9p84axj8h7fnrbwgpcpizj74i9mnm3pcqm9vlzvw6zzr";
+    sha256 = "0dfap1whga03r0fh3adi684dyp9agfdi96hb2aqskgr9jp0z69rb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index fa4fce267345..6608661364a0 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -28,11 +28,11 @@ let
 in stdenv.mkDerivation rec {
   name = "kicad-${version}";
   series = "5.0";
-  version = "5.0.2";
+  version = "5.1.2";
 
   src = fetchurl {
     url = "https://launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
-    sha256 = "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g";
+    sha256 = "12kp82ms2dwqkhilmh3mbhg5rsj5ykk99pnkhp4sx89nni86qdw4";
   };
 
   postPatch = ''
@@ -47,6 +47,7 @@ in stdenv.mkDerivation rec {
     # nix installs wxPython headers in wxPython package, not in wxwidget
     # as assumed. We explicitely set the header location.
     "-DCMAKE_CXX_FLAGS=-I${pythonPackages.wxPython}/include/wx-3.0"
+    "-DwxPYTHON_INCLUDE_DIRS=${pythonPackages.wxPython}/include/wx-3.0"
   ] ++ optionals (oceSupport) [ "-DKICAD_USE_OCE=ON" "-DOCE_DIR=${opencascade}" ]
     ++ optional (ngspiceSupport) "-DKICAD_SPICE=ON";
 
@@ -72,22 +73,22 @@ in stdenv.mkDerivation rec {
   dontWrapGApps = true;
 
   passthru = {
-    i18n = mkLib version "i18n" "1hkc240gymhmyv6r858mq5d2slz0vjqc47ah8wn82vvmb83fpnjy" {
+    i18n = mkLib version "i18n" "08a8lpz2j7bhwn155s0ii538qlynnnvq6fmdw1dxjfgmfy7y3r66" {
       buildInputs = [
         gettext
       ];
       meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
     };
-    symbols = mkLib version "symbols" "1rjh2pjcrc3bhcgyyskj5pssm7vffrjk0ymwr70fb7sjpmk96yjk" {
+    symbols = mkLib version "symbols" "0l5r53wcv0518x2kl0fh1zi0d50cckc7z1739fp9z3k5a4ddk824" {
       meta.license = licenses.cc-by-sa-40;
     };
-    footprints = mkLib version "footprints" "19khqyrbrqsdzxvm1b1vxfscxhss705fqky0ilrbvnbvf27fnx8w" {
+    footprints = mkLib version "footprints" "0q7y7m10pav6917ri37pzjvyh71c8lf4lh9ch258pdpl3w481zk6" {
       meta.license = licenses.cc-by-sa-40;
     };
-    templates = mkLib version "templates" "0rlzq1n09n0sf2kj5c9bvbnkvs6cpycjxmxwcswql0fbpcp0sql7" {
+    templates = mkLib version "templates" "1nva4ckq0l2lrah0l05355cawlwd7qfxcagcv32m8hcrn781455q" {
       meta.license = licenses.cc-by-sa-40;
     };
-    packages3d = mkLib version "packages3d" "135jyrljgknnv2y35skhnwcxg16yxxkfbcx07nad3vr4r76zk3am" {
+    packages3d = mkLib version "packages3d" "0xla9k1rnrs00fink90y9qz766iks5lyqwnf1h2i508djqhqm5zi" {
       hydraPlatforms = []; # this is a ~1 GiB download, occupies ~5 GiB in store
       meta.license = licenses.cc-by-sa-40;
     };
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 560e1576efc7..4f46fd556012 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -38,7 +38,7 @@ let
 
   git-fame = callPackage ./git-fame {};
 
-  gita = callPackage ./gita {};
+  gita = python3Packages.callPackage ./gita {};
 
   # The full-featured Git.
   gitFull = gitBase.override {
diff --git a/pkgs/applications/version-management/git-and-tools/gita/default.nix b/pkgs/applications/version-management/git-and-tools/gita/default.nix
index 899f33218a10..6ecf81779f20 100644
--- a/pkgs/applications/version-management/git-and-tools/gita/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gita/default.nix
@@ -1,15 +1,19 @@
-{ lib, python3Packages }:
+{ lib
+, buildPythonApplication
+, fetchPypi
+, pyyaml
+}:
 
-python3Packages.buildPythonApplication rec {
-  version = "0.8.2";
+buildPythonApplication rec {
+  version = "0.9.2";
   pname = "gita";
 
-  src = python3Packages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "16jpnl323x86dkrnh4acyvi9jknhgi3r0ccv63rkjcmd0srkaxkk";
+    sha256 = "1aycqq4crsa57ghpv7xc497rf4y8x43fcfd0v9prd2kn6h1793r0";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = [
     pyyaml
   ];
 
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 7536e9c47d88..376e00a3da87 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,29 +1,29 @@
 {
   "ce": {
-    "version": "11.9.8",
-    "repo_hash": "10xlabp7ziw1vpyy9dvhaiwf5l340d3yzvlh2aq6ly3xlqr5ip07",
-    "deb_hash": "0apw0w5grhpfxwl76w7as5xb6injr7ka8wwk2azllamrxrnn30dv",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.9.8-ce.0_amd64.deb/download.deb",
+    "version": "11.9.11",
+    "repo_hash": "08f824y6zla4076axdjwcn59hnybps2zvqjhrznfwnhwmak7zqr6",
+    "deb_hash": "17cp3vr8pq0l7pgrcmwrmlsygk7ggdvjhh71vjcdlmngaffmv5hm",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.9.11-ce.0_amd64.deb/download.deb",
     "owner": "gitlab-org",
     "repo": "gitlab-ce",
-    "rev": "v11.9.8",
+    "rev": "v11.9.11",
     "passthru": {
-      "GITALY_SERVER_VERSION": "1.27.1",
+      "GITALY_SERVER_VERSION": "1.27.2",
       "GITLAB_PAGES_VERSION": "1.5.0",
       "GITLAB_SHELL_VERSION": "8.7.1",
       "GITLAB_WORKHORSE_VERSION": "8.3.3"
     }
   },
   "ee": {
-    "version": "11.9.8",
-    "repo_hash": "0h6lpaiwsvyn5cdga08zbgr6cwp3k6xi5jpb7n37hc6y4c7b36ry",
-    "deb_hash": "1bsy8qrr2sjvavzv4nslx14x4cx5xjx55d2v7zz6fvjzmgb98hgv",
-    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.9.8-ee.0_amd64.deb/download.deb",
+    "version": "11.9.11",
+    "repo_hash": "0nsp3lxxh8gmkafa5a5jxi78n9w8v7gij4l4lka2d1wzfkhgzjph",
+    "deb_hash": "1qr8zbwlj99gqxj0cziy5z9hnaxb5lilgf46k4przkd2lhg5s0c0",
+    "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.9.11-ee.0_amd64.deb/download.deb",
     "owner": "gitlab-org",
     "repo": "gitlab-ee",
-    "rev": "v11.9.8-ee",
+    "rev": "v11.9.11-ee",
     "passthru": {
-      "GITALY_SERVER_VERSION": "1.27.1",
+      "GITALY_SERVER_VERSION": "1.27.2",
       "GITLAB_PAGES_VERSION": "1.5.0",
       "GITLAB_SHELL_VERSION": "8.7.1",
       "GITLAB_WORKHORSE_VERSION": "8.3.3"
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index d476e7c9038f..8bb365f3d141 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -7,14 +7,14 @@ let
     gemdir = ./.;
   };
 in buildGoPackage rec {
-  version = "1.27.1";
+  version = "1.27.2";
   name = "gitaly-${version}";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "0sr1jjw1rvyxrv6vaqvl138m0x2xgjksjdy92ajslrjxrnjlrjvp";
+    sha256 = "03v8c9ask1f2bk4z51scpm6zh815hcxi5crly5zn7932i2nfvva0";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
index da005d40499d..1fd519d8be41 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '5.0.7.1'
+gem 'rails', '5.0.7.2'
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Improves copy-on-write performance for MRI
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
index 5de32fba5d90..27a2821cedb2 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/Gemfile.lock
@@ -4,41 +4,41 @@ GEM
     RedCloth (4.3.2)
     abstract_type (0.0.7)
     ace-rails-ap (4.1.2)
-    actioncable (5.0.7.1)
-      actionpack (= 5.0.7.1)
+    actioncable (5.0.7.2)
+      actionpack (= 5.0.7.2)
       nio4r (>= 1.2, < 3.0)
       websocket-driver (~> 0.6.1)
-    actionmailer (5.0.7.1)
-      actionpack (= 5.0.7.1)
-      actionview (= 5.0.7.1)
-      activejob (= 5.0.7.1)
+    actionmailer (5.0.7.2)
+      actionpack (= 5.0.7.2)
+      actionview (= 5.0.7.2)
+      activejob (= 5.0.7.2)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.0.7.1)
-      actionview (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    actionpack (5.0.7.2)
+      actionview (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       rack (~> 2.0)
       rack-test (~> 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.0.7.1)
-      activesupport (= 5.0.7.1)
+    actionview (5.0.7.2)
+      activesupport (= 5.0.7.2)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.0.7.1)
-      activesupport (= 5.0.7.1)
+    activejob (5.0.7.2)
+      activesupport (= 5.0.7.2)
       globalid (>= 0.3.6)
-    activemodel (5.0.7.1)
-      activesupport (= 5.0.7.1)
-    activerecord (5.0.7.1)
-      activemodel (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    activemodel (5.0.7.2)
+      activesupport (= 5.0.7.2)
+    activerecord (5.0.7.2)
+      activemodel (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       arel (~> 7.0)
     activerecord_sane_schema_dumper (1.0)
       rails (>= 5, < 6)
-    activesupport (5.0.7.1)
+    activesupport (5.0.7.2)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -296,7 +296,7 @@ GEM
       omniauth (~> 1.3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    globalid (0.4.1)
+    globalid (0.4.2)
       activesupport (>= 4.2.0)
     gon (6.2.0)
       actionpack (>= 3.0)
@@ -386,7 +386,7 @@ GEM
       json (~> 1.8)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.2.0)
+    i18n (1.6.0)
       concurrent-ruby (~> 1.0)
     icalendar (2.4.1)
     ice_nine (0.11.2)
@@ -637,17 +637,17 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    rails (5.0.7.1)
-      actioncable (= 5.0.7.1)
-      actionmailer (= 5.0.7.1)
-      actionpack (= 5.0.7.1)
-      actionview (= 5.0.7.1)
-      activejob (= 5.0.7.1)
-      activemodel (= 5.0.7.1)
-      activerecord (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    rails (5.0.7.2)
+      actioncable (= 5.0.7.2)
+      actionmailer (= 5.0.7.2)
+      actionpack (= 5.0.7.2)
+      actionview (= 5.0.7.2)
+      activejob (= 5.0.7.2)
+      activemodel (= 5.0.7.2)
+      activerecord (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       bundler (>= 1.3.0)
-      railties (= 5.0.7.1)
+      railties (= 5.0.7.2)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.2)
       actionpack (~> 5.x, >= 5.0.1)
@@ -663,9 +663,9 @@ GEM
     rails-i18n (5.1.1)
       i18n (>= 0.7, < 2)
       railties (>= 5.0, < 6)
-    railties (5.0.7.1)
-      actionpack (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    railties (5.0.7.2)
+      actionpack (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
@@ -1111,7 +1111,7 @@ DEPENDENCIES
   rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.2.1)
   rack-proxy (~> 0.6.0)
-  rails (= 5.0.7.1)
+  rails (= 5.0.7.2)
   rails-controller-testing
   rails-deprecated_sanitizer (~> 1.0.3)
   rails-i18n (~> 5.1)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
index a60334eb3c27..123fa70678e3 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ce/gemset.nix
@@ -17,66 +17,80 @@
   };
   actioncable = {
     dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb";
+      sha256 = "14qy7aygsr35lhcrw2y0c1jxmkfjlcz10p7qcf9jxzhcfmk5rr3y";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm";
+      sha256 = "17whd0cjkb038g14pmkmakp89085j5950jdmfa5hmzqf1djnvc8r";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw";
+      sha256 = "1wyyj014n0gza5m2gpg9ab9av4yr6psvym047nrn1iz84v6fmkfb";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1";
+      sha256 = "0w96iqknr5jz7gzlcyixq1lvhbzbqijj4iq22pbfzscppbz1anvi";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv";
+      sha256 = "1281zl53a5dpl33vxswrg2jxv7kpcyl7mg5mckn4hcksna60356l";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activemodel = {
     dependencies = ["activesupport"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c";
+      sha256 = "0xphpzx3ippi8f2h27v2g3n82i39xwx2gq9yamhby9s2a9hh8shl";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c";
+      sha256 = "1jy2amhn2xsd9hy546mw27agh8493nqlgbmzqhlppx7p3nwikw63";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activerecord_sane_schema_dumper = {
     dependencies = ["rails"];
@@ -89,12 +103,14 @@
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb";
+      sha256 = "1bcbr490ryw6295p0ja7xigcw0ivkdys90x3qbsbs8c4n1zwcp7p";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -1163,12 +1179,14 @@
   };
   globalid = {
     dependencies = ["activesupport"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38";
+      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
       type = "gem";
     };
-    version = "0.4.1";
+    version = "0.4.2";
   };
   gon = {
     dependencies = ["actionpack" "multi_json" "request_store"];
@@ -1444,12 +1462,14 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.6.0";
   };
   icalendar = {
     source = {
@@ -2423,12 +2443,14 @@
   };
   rails = {
     dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w";
+      sha256 = "0amqbd8kl6vmilfhlkf2w0l33x688jssjbra7s717kjqzb4fmqiw";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2477,12 +2499,14 @@
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr";
+      sha256 = "064w0n33l0wik5i00b4ry7iqv1nb3xhdpjvm55ycx2abpqnlrhjd";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   rainbow = {
     source = {
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
index b2e42dc696c6..894832dac171 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '5.0.7.1'
+gem 'rails', '5.0.7.2'
 gem 'rails-deprecated_sanitizer', '~> 1.0.3'
 
 # Improves copy-on-write performance for MRI
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
index 4cd35f7555df..16be6ab2d663 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/Gemfile.lock
@@ -4,41 +4,41 @@ GEM
     RedCloth (4.3.2)
     abstract_type (0.0.7)
     ace-rails-ap (4.1.2)
-    actioncable (5.0.7.1)
-      actionpack (= 5.0.7.1)
+    actioncable (5.0.7.2)
+      actionpack (= 5.0.7.2)
       nio4r (>= 1.2, < 3.0)
       websocket-driver (~> 0.6.1)
-    actionmailer (5.0.7.1)
-      actionpack (= 5.0.7.1)
-      actionview (= 5.0.7.1)
-      activejob (= 5.0.7.1)
+    actionmailer (5.0.7.2)
+      actionpack (= 5.0.7.2)
+      actionview (= 5.0.7.2)
+      activejob (= 5.0.7.2)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 2.0)
-    actionpack (5.0.7.1)
-      actionview (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    actionpack (5.0.7.2)
+      actionview (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       rack (~> 2.0)
       rack-test (~> 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (5.0.7.1)
-      activesupport (= 5.0.7.1)
+    actionview (5.0.7.2)
+      activesupport (= 5.0.7.2)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.0.3)
-    activejob (5.0.7.1)
-      activesupport (= 5.0.7.1)
+    activejob (5.0.7.2)
+      activesupport (= 5.0.7.2)
       globalid (>= 0.3.6)
-    activemodel (5.0.7.1)
-      activesupport (= 5.0.7.1)
-    activerecord (5.0.7.1)
-      activemodel (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    activemodel (5.0.7.2)
+      activesupport (= 5.0.7.2)
+    activerecord (5.0.7.2)
+      activemodel (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       arel (~> 7.0)
     activerecord_sane_schema_dumper (1.0)
       rails (>= 5, < 6)
-    activesupport (5.0.7.1)
+    activesupport (5.0.7.2)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
@@ -321,7 +321,7 @@ GEM
       omniauth (~> 1.3)
       pyu-ruby-sasl (>= 0.0.3.3, < 0.1)
       rubyntlm (~> 0.5)
-    globalid (0.4.1)
+    globalid (0.4.2)
       activesupport (>= 4.2.0)
     gon (6.2.0)
       actionpack (>= 3.0)
@@ -413,7 +413,7 @@ GEM
       json (~> 1.8)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.2.0)
+    i18n (1.6.0)
       concurrent-ruby (~> 1.0)
     icalendar (2.4.1)
     ice_nine (0.11.2)
@@ -667,17 +667,17 @@ GEM
       rack
     rack-test (0.6.3)
       rack (>= 1.0)
-    rails (5.0.7.1)
-      actioncable (= 5.0.7.1)
-      actionmailer (= 5.0.7.1)
-      actionpack (= 5.0.7.1)
-      actionview (= 5.0.7.1)
-      activejob (= 5.0.7.1)
-      activemodel (= 5.0.7.1)
-      activerecord (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    rails (5.0.7.2)
+      actioncable (= 5.0.7.2)
+      actionmailer (= 5.0.7.2)
+      actionpack (= 5.0.7.2)
+      actionview (= 5.0.7.2)
+      activejob (= 5.0.7.2)
+      activemodel (= 5.0.7.2)
+      activerecord (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       bundler (>= 1.3.0)
-      railties (= 5.0.7.1)
+      railties (= 5.0.7.2)
       sprockets-rails (>= 2.0.0)
     rails-controller-testing (1.0.2)
       actionpack (~> 5.x, >= 5.0.1)
@@ -693,9 +693,9 @@ GEM
     rails-i18n (5.1.1)
       i18n (>= 0.7, < 2)
       railties (>= 5.0, < 6)
-    railties (5.0.7.1)
-      actionpack (= 5.0.7.1)
-      activesupport (= 5.0.7.1)
+    railties (5.0.7.2)
+      actionpack (= 5.0.7.2)
+      activesupport (= 5.0.7.2)
       method_source
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
@@ -1150,7 +1150,7 @@ DEPENDENCIES
   rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.2.1)
   rack-proxy (~> 0.6.0)
-  rails (= 5.0.7.1)
+  rails (= 5.0.7.2)
   rails-controller-testing
   rails-deprecated_sanitizer (~> 1.0.3)
   rails-i18n (~> 5.1)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
index 7fcada47777f..0116da7ca943 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv-ee/gemset.nix
@@ -17,66 +17,80 @@
   };
   actioncable = {
     dependencies = ["actionpack" "nio4r" "websocket-driver"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1443cal16yzc94hfxcx9ljagdbs5xs54bmr55wzmg84wx28bgvrb";
+      sha256 = "14qy7aygsr35lhcrw2y0c1jxmkfjlcz10p7qcf9jxzhcfmk5rr3y";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "077g5yg8l10rcs8r63pmmikakma1nr2bvxa1ifly1vbry8lajmhm";
+      sha256 = "17whd0cjkb038g14pmkmakp89085j5950jdmfa5hmzqf1djnvc8r";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zn3gw1naz1l6kcb4h5all24kisdv8fk733vm1niiaq2zmwbvlrw";
+      sha256 = "1wyyj014n0gza5m2gpg9ab9av4yr6psvym047nrn1iz84v6fmkfb";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053z1r9lbyqb7a8mvi7ppwgphqg1pn9ynhklwxavq65cym8qn9a1";
+      sha256 = "0w96iqknr5jz7gzlcyixq1lvhbzbqijj4iq22pbfzscppbz1anvi";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activejob = {
     dependencies = ["activesupport" "globalid"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w9rspq9y5a99kyljzam7k0cpvkxpzhfmlvs1j6a4flxn14qy7lv";
+      sha256 = "1281zl53a5dpl33vxswrg2jxv7kpcyl7mg5mckn4hcksna60356l";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activemodel = {
     dependencies = ["activesupport"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i808lgn542x0lyk2dlnziiqcf1nmxhxqf6125dq6brr08yxgr0c";
+      sha256 = "0xphpzx3ippi8f2h27v2g3n82i39xwx2gq9yamhby9s2a9hh8shl";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport" "arel"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qva7vdv9arliza0155k0xh5w1q6rzdajj3rmj7hv0f86ybd674c";
+      sha256 = "1jy2amhn2xsd9hy546mw27agh8493nqlgbmzqhlppx7p3nwikw63";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   activerecord_sane_schema_dumper = {
     dependencies = ["rails"];
@@ -89,12 +103,14 @@
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02dnmcmkvzijbzm5nlmrd55s5586b78s087kvpvkada3791b9agb";
+      sha256 = "1bcbr490ryw6295p0ja7xigcw0ivkdys90x3qbsbs8c4n1zwcp7p";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   acts-as-taggable-on = {
     dependencies = ["activerecord"];
@@ -1259,12 +1275,14 @@
   };
   globalid = {
     dependencies = ["activesupport"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02smrgdi11kziqi9zhnsy9i6yr2fnxrqlv3lllsvdjki3cd4is38";
+      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
       type = "gem";
     };
-    version = "0.4.1";
+    version = "0.4.2";
   };
   gon = {
     dependencies = ["actionpack" "multi_json" "request_store"];
@@ -1549,12 +1567,14 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "079sqshk08mqs3d6yzvshmqf4s175lpi2pp71f1p10l09sgmrixr";
+      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.6.0";
   };
   icalendar = {
     source = {
@@ -2552,12 +2572,14 @@
   };
   rails = {
     dependencies = ["actioncable" "actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
+    groups = ["default" "development" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0blacnfcn2944cml69wji2ywp9c13qjiciavnfsa9vpimk8ixq9w";
+      sha256 = "0amqbd8kl6vmilfhlkf2w0l33x688jssjbra7s717kjqzb4fmqiw";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2606,12 +2628,14 @@
   };
   railties = {
     dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
+    groups = ["default" "development" "mysql" "postgres" "test"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cfh2ijfalxj8hhf0rfw8bqhazsq6km7barsxczsvyl2a9islanr";
+      sha256 = "064w0n33l0wik5i00b4ry7iqv1nb3xhdpjvm55ycx2abpqnlrhjd";
       type = "gem";
     };
-    version = "5.0.7.1";
+    version = "5.0.7.2";
   };
   rainbow = {
     source = {
diff --git a/pkgs/misc/themes/tetra/default.nix b/pkgs/data/themes/tetra/default.nix
index 3f36ea8f01b9..2a7b6e595c45 100644
--- a/pkgs/misc/themes/tetra/default.nix
+++ b/pkgs/data/themes/tetra/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, gtk3, sassc }:
 
 stdenv.mkDerivation rec {
-  name = "tetra-gtk-theme-${version}";
-  version = "201903";
+  pname = "tetra-gtk-theme";
+  version = "201905";
 
   src = fetchFromGitHub {
     owner  = "hrdwrrsk";
-    repo   = "tetra-gtk-theme";
+    repo   = pname;
     rev    = version;
-    sha256 = "0ycxvz16gg8rjlg71dzbfnqlh0y62v35j8dvgs8rckfb48xm0xvs";
+    sha256 = "1j2w8na564f5yjm5am7843hq5qk28h1rq8rcbak4xsygdc3lbsfi";
   };
 
   preBuild = ''
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index c1bedc972df3..6e54b137ba1d 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -37,8 +37,22 @@ stdenv.mkDerivation rec {
     mate.mate-settings-daemon
   ];
 
+  patches = [
+    # look up keyboard shortcuts in system data dirs
+    ./mate-control-center.keybindings-dir.patch
+  ];
+
   configureFlags = [ "--disable-update-mimedb" ];
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # WM keyboard shortcuts
+      --prefix XDG_DATA_DIRS : "${mate.marco}/share"
+    )
+  '';
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Utilities to configure the MATE desktop";
     homepage = https://github.com/mate-desktop/mate-control-center;
diff --git a/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch b/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch
new file mode 100644
index 000000000000..4a3036ae16e2
--- /dev/null
+++ b/pkgs/desktops/mate/mate-control-center/mate-control-center.keybindings-dir.patch
@@ -0,0 +1,106 @@
+From faeb322b01d3856f3cf163470cc38f4e88a8527c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Sun, 28 Apr 2019 21:45:39 -0300
+Subject: [PATCH] Use system data dirs to locate key bindings
+
+---
+ capplets/keybindings/Makefile.am              |  3 +-
+ .../keybindings/mate-keybinding-properties.c  | 58 ++++++++++++-------
+ 2 files changed, 39 insertions(+), 22 deletions(-)
+
+diff --git a/capplets/keybindings/Makefile.am b/capplets/keybindings/Makefile.am
+index e5efb109..9501dd8f 100644
+--- a/capplets/keybindings/Makefile.am
++++ b/capplets/keybindings/Makefile.am
+@@ -33,8 +33,7 @@ AM_CPPFLAGS = \
+ 	$(MATECC_CAPPLETS_CFLAGS) \
+ 	-DMATELOCALEDIR="\"$(datadir)/locale\"" \
+ 	-DMATECC_DATA_DIR="\"$(pkgdatadir)\"" \
+-	-DMATECC_UI_DIR="\"$(uidir)\"" \
+-	-DMATECC_KEYBINDINGS_DIR="\"$(pkgdatadir)/keybindings\""
++	-DMATECC_UI_DIR="\"$(uidir)\""
+ CLEANFILES = \
+ 	$(MATECC_CAPPLETS_CLEANFILES) \
+ 	$(desktop_DATA) \
+diff --git a/capplets/keybindings/mate-keybinding-properties.c b/capplets/keybindings/mate-keybinding-properties.c
+index 4f257333..cf1891d2 100644
+--- a/capplets/keybindings/mate-keybinding-properties.c
++++ b/capplets/keybindings/mate-keybinding-properties.c
+@@ -1033,39 +1033,57 @@ static void
+ reload_key_entries (GtkBuilder *builder)
+ {
+   gchar **wm_keybindings;
+-  GDir *dir;
+-  const char *name;
+   GList *list, *l;
++  const gchar * const * data_dirs;
++  GHashTable *loaded_files;
++  guint i;
+ 
+   wm_keybindings = wm_common_get_current_keybindings();
+ 
+   clear_old_model (builder);
+ 
+-  dir = g_dir_open (MATECC_KEYBINDINGS_DIR, 0, NULL);
+-  if (!dir)
+-      return;
+-
+-  list = NULL;
+-  for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir))
++  loaded_files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
++  data_dirs = g_get_system_data_dirs ();
++  for (i = 0; data_dirs[i] != NULL; i++)
+     {
+-      if (g_str_has_suffix (name, ".xml"))
++      g_autofree gchar *dir_path = NULL;
++      GDir *dir;
++      const gchar *name;
++
++      dir_path = g_build_filename (data_dirs[i], "mate-control-center", "keybindings", NULL);
++      g_debug ("Keybinding dir: %s", dir_path);
++
++      dir = g_dir_open (dir_path, 0, NULL);
++      if (!dir)
++        continue;
++
++      for (name = g_dir_read_name (dir) ; name ; name = g_dir_read_name (dir))
+         {
+-      list = g_list_insert_sorted (list, g_strdup (name),
+-                       (GCompareFunc) g_ascii_strcasecmp);
+-    }
+-    }
+-  g_dir_close (dir);
++          if (g_str_has_suffix (name, ".xml") == FALSE)
++            continue;
++
++          if (g_hash_table_lookup (loaded_files, name) != NULL)
++            {
++              g_debug ("Not loading %s, it was already loaded from another directory", name);
++              continue;
++            }
+ 
++          g_hash_table_insert (loaded_files, g_strdup (name), g_strdup (dir_path));
++        }
++
++      g_dir_close (dir);
++    }
++  list = g_hash_table_get_keys (loaded_files);
++  list = g_list_sort(list, (GCompareFunc) g_str_equal);
+   for (l = list; l != NULL; l = l->next)
+     {
+-        gchar *path;
+-
+-    path = g_build_filename (MATECC_KEYBINDINGS_DIR, l->data, NULL);
+-        append_keys_to_tree_from_file (builder, path, wm_keybindings);
+-    g_free (l->data);
+-    g_free (path);
++      g_autofree gchar *path = NULL;
++      path = g_build_filename (g_hash_table_lookup (loaded_files, l->data), l->data, NULL);
++      g_debug ("Keybinding file: %s", path);
++      append_keys_to_tree_from_file (builder, path, wm_keybindings);
+     }
+   g_list_free (list);
++  g_hash_table_destroy (loaded_files);
+ 
+   /* Load custom shortcuts _after_ system-provided ones,
+    * since some of the custom shortcuts may also be listed
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 21cb26aaa39c..f5fbb0a51cfb 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.1.7";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1icz1is576d2w5a6wc06bnkg2vbsj5g6mz0b6ikzyjddr6j743ql";
+    sha256 = "1xpgkvcv3bylpaj7c80727vr55vilkgjvnlbw7d5pr56v6mv7n9j";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 405e2d934259..28b226bdedb9 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1kd1w3mxysg33niryrz5yp6fdayzjpg73ihvq7dlasj8ls5d0qyj";
+    sha256 = "17xl4l0znr91aj6kb9p0rswyii4gy8k16r9fvj7d96dd5szdp4mc";
   };
 
   passthru = {
diff --git a/pkgs/development/compilers/mint/default.nix b/pkgs/development/compilers/mint/default.nix
index de7e3bd6a07e..1c8e9fb7eb20 100644
--- a/pkgs/development/compilers/mint/default.nix
+++ b/pkgs/development/compilers/mint/default.nix
@@ -33,13 +33,13 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "0.3.1";
+  version = "0.5.0";
   name = "mint-${version}";
   src = fetchFromGitHub {
     owner = "mint-lang";
     repo = "mint";
     rev = version;
-    sha256 = "1f49ax045zdjj0ypc2j4ms9gx80rl63qcsfzm3r0k0lcavfp57zr";
+    sha256 = "0vxbx38c390rd2ysvbwgh89v2232sh5rbsp3nk9wzb70jybpslvl";
   };
 
   nativeBuildInputs = [ which crystal zlib openssl duktape libyaml ];
diff --git a/pkgs/development/compilers/mint/shards.nix b/pkgs/development/compilers/mint/shards.nix
index fbf85ef80426..dc6866e3af3d 100644
--- a/pkgs/development/compilers/mint/shards.nix
+++ b/pkgs/development/compilers/mint/shards.nix
@@ -8,8 +8,8 @@
   ameba = {
     owner = "veelenga";
     repo = "ameba";
-    rev = "v0.8.0";
-    sha256 = "0i9vc5xy05kzxgjid2rnvc7ksvxm9gba25qqi6939q2m1s07qjka";
+    rev = "v0.9.1";
+    sha256 = "05q2ki9dpg23pllalv5p27f1m287kiicp97ziz0z7vv0vg1r8smj";
   };
   baked_file_system = {
     owner = "schovi";
@@ -23,23 +23,23 @@
     rev = "51962dc36f9bbb1b926d557f7cb8993a6c73cc63";
     sha256 = "1nwnsxm8srfw8jg0yfi2v19x6j3dadx62hq0xpxra40qcqz9dbnp";
   };
-  duktape = {
-    owner = "jessedoyle";
-    repo = "duktape.cr";
-    rev = "v0.14.1";
-    sha256 = "0fkay3qspzych050xl8xjkrphmxpzaj0dcf9jl22xwz8cx1l89f1";
+  dotenv = {
+    owner = "gdotdesign";
+    repo = "cr-dotenv";
+    rev = "v0.2.0";
+    sha256 = "0zi2y1j2546xjhdzn7icmry0cjv82cx2cqmpgx5ml37c2pnb7kp7";
   };
   exception_page = {
     owner = "crystal-loot";
     repo = "exception_page";
-    rev = "v0.1.1";
-    sha256 = "0pimjm64p21cjhp0jhcgdmbgisx7amk8hhbkcprkbr44bj6rv9ay";
+    rev = "v0.1.2";
+    sha256 = "0j5ishhyriq9p339yaawrmawl9wgmp1paniq30a8d6a0568h3avq";
   };
   kemal = {
     owner = "kemalcr";
     repo = "kemal";
-    rev = "v0.24.0";
-    sha256 = "0sg7gy1lbhid9y9wh77m9sd00jygk92njm4mpb7w1fq8bjnm738k";
+    rev = "v0.25.1";
+    sha256 = "1334i905xj6vlmp8acyybwwlaxsgmf90b59da7brzpnf28wci782";
   };
   kilt = {
     owner = "jeromegn";
@@ -50,8 +50,8 @@
   radix = {
     owner = "luislavena";
     repo = "radix";
-    rev = "v0.3.8";
-    sha256 = "1kn2xxj8a8j6f6g1dr0s9mkrj1xqnpzw9wnbq24mbv8ach9a1hva";
+    rev = "v0.3.9";
+    sha256 = "19pksfr7ddc31hvikb433jg0zav1ar93k6zmsgaf3vsrjnvia3ix";
   };
   string_inflection = {
     owner = "mosop";
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
index 02ce07bdf471..12631cee38ae 100644
--- a/pkgs/development/interpreters/hy/default.nix
+++ b/pkgs/development/interpreters/hy/default.nix
@@ -1,18 +1,28 @@
-{ stdenv, fetchurl, pythonPackages }:
+{ stdenv, fetchurl, fetchpatch, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   name = "hy-${version}";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "mirror://pypi/h/hy/${name}.tar.gz";
-    sha256 = "01vzaib1imr00j5d7f7xk44v800h06s3yv9inhlqm6f3b25ywpl1";
+    sha256 = "00lq38ppikrpyw38fn5iy9iwrsamsv22507cp146dsjbzkwjpzrd";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "bytecode-error-handling.patch";
+      url = "https://github.com/hylang/hy/commit/57326785b97b7b0a89f6258fe3d04dccdc06cfc0.patch";
+      sha256 = "1lxxs7mxbh0kaaa25b1pbqs9d8asyjnlf2n86qg8hzsv32jfcq92";
+      excludes = [ "AUTHORS" "NEWS.rst" ];
+    })
+  ];
+
   propagatedBuildInputs = with pythonPackages; [
     appdirs
     astor
     clint
+    fastentrypoints
     funcparserlib
     rply
   ];
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 882de562114a..33d00afd9e70 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "17k8n5xar4pvvi4prhm6c51vlim9xqwkkhysbnss299mm3fyh36h";
+  cargoSha256 = "0xy8vazb4nc4q1098ws92j1yfwp9w7q30z0yk2gindkn898603bc";
 
   cargoPatches = [ ./cargo-lock.patch ];
 
diff --git a/pkgs/development/libraries/ethash/default.nix b/pkgs/development/libraries/ethash/default.nix
new file mode 100644
index 000000000000..da2fd13465f2
--- /dev/null
+++ b/pkgs/development/libraries/ethash/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, cmake, boost, cryptopp, opencl-headers, opencl-info,
+  openmpi, ocl-icd, mesa, gbenchmark, gtest }:
+
+stdenv.mkDerivation rec {
+  pname = "ethash";
+  version = "0.4.2";
+
+  src =
+    fetchFromGitHub {
+      owner = "chfast";
+      repo = "ethash";
+      rev = "v${version}";
+      sha256 = "0qiixvxbpl2gz7jh1qs8lmyk7wzv6ffnl7kckqgrpgm547nnn8zy";
+    };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    boost
+    cryptopp
+    opencl-headers
+    opencl-info
+    openmpi
+    ocl-icd
+    mesa
+  ];
+
+  checkInputs = [
+    gbenchmark
+    gtest
+  ];
+
+  #preConfigure = ''
+  #  sed -i 's/GTest::main//' test/unittests/CMakeLists.txt
+  #  cat test/unittests/CMakeLists.txt
+  #  ln -sfv ${gtest.src}/googletest gtest
+  #'';
+
+  # NOTE: disabling tests due to gtest issue
+  cmakeFlags = [
+    "-DHUNTER_ENABLED=OFF"
+    "-DETHASH_BUILD_TESTS=OFF"
+    #"-Dbenchmark_DIR=${gbenchmark}/lib/cmake/benchmark"
+    #"-DGTest_DIR=${gtest.dev}/lib/cmake/GTest"
+    #"-DGTest_DIR=${gtest.src}/googletest"
+    #"-DCMAKE_PREFIX_PATH=${gtest.dev}/lib/cmake"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "PoW algorithm for Ethereum 1.0 based on Dagger-Hashimoto";
+    homepage = https://github.com/ethereum/ethash;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ nand0p ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index 1c62d79ed328..b543d47a050d 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,10 +1,7 @@
-{ stdenv
-, fetchFromGitHub
-, cmake
-, python
-}:
+{ stdenv , fetchFromGitHub , cmake , python }:
+
 stdenv.mkDerivation rec {
-  name = "jsoncpp-${version}";
+  pname = "jsoncpp";
   version = "1.8.4";
 
   src = fetchFromGitHub {
@@ -36,13 +33,14 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
     "-DBUILD_STATIC_LIBS=OFF"
+    "-DJSONCPP_WITH_CMAKE_PACKAGE=ON"
   ];
 
   meta = with stdenv.lib; {
     inherit version;
     homepage = https://github.com/open-source-parsers/jsoncpp;
     description = "A C++ library for interacting with JSON.";
-    maintainers = with maintainers; [ ttuegel cpages ];
+    maintainers = with maintainers; [ ttuegel cpages nand0p ];
     license = licenses.mit;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
index 5f295009b994..1a177dc22374 100644
--- a/pkgs/development/libraries/liblinear/default.nix
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "liblinear-${version}";
-  version = "2.21";
+  version = "2.30";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/liblinear-${version}.tar.gz";
-    sha256 = "0jp0z3s32czf748i6dnlabs1psqx1dcn9w96c56m24xq5l789chs";
+    sha256 = "1b66jpg9fdwsq7r52fccr8z7nqcivrin5d8zg2f134ygqqwp0748";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/log4cplus/default.nix b/pkgs/development/libraries/log4cplus/default.nix
index 7fb79c549be8..cc86ab19379d 100644
--- a/pkgs/development/libraries/log4cplus/default.nix
+++ b/pkgs/development/libraries/log4cplus/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 let
-  name = "log4cplus-2.0.3";
+  name = "log4cplus-2.0.4";
 in
 stdenv.mkDerivation {
   inherit name;
 
   src = fetchurl {
     url = "mirror://sourceforge/log4cplus/${name}.tar.bz2";
-    sha256 = "0rwzwskvv94cqg2nn7jsvzlak7y01k37v345fcm040klrjvkbc3w";
+    sha256 = "0lh2i22znx573jchcfy4n5lrr9yjg2hd3iphhlih61zzmd67p2hc";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/smesh/default.nix b/pkgs/development/libraries/smesh/default.nix
new file mode 100644
index 000000000000..529f910c35ae
--- /dev/null
+++ b/pkgs/development/libraries/smesh/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, ninja, opencascade }:
+
+stdenv.mkDerivation rec {
+  pname = "smesh";
+  version = "6.7.6";
+
+  src = fetchFromGitHub {
+    owner = "tpaviot";
+    repo = "smesh";
+    rev = version;
+    sha256 = "1b07j3bw3lnxk8dk3x1kkl2mbsmfwi98si84054038lflaaijzi0";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ opencascade ];
+
+  meta = with stdenv.lib; {
+    description = "Extension to OCE providing advanced meshing features";
+    homepage = "https://github.com/tpaviot/smesh";
+    license = licenses.lgpl21;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/development/python-modules/fastentrypoints/default.nix b/pkgs/development/python-modules/fastentrypoints/default.nix
new file mode 100644
index 000000000000..4a921b2390d7
--- /dev/null
+++ b/pkgs/development/python-modules/fastentrypoints/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "fastentrypoints";
+  version = "0.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02s1j8i2dzbpbwgq2a3fiqwm3cnmhii2qzc0k42l0rdxd4a4ya7z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Makes entry_points specified in setup.py load more quickly";
+    homepage = https://github.com/ninjaaron/fast-entry_points;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ nixy ];
+  };
+}
diff --git a/pkgs/development/python-modules/pythonocc-core/default.nix b/pkgs/development/python-modules/pythonocc-core/default.nix
new file mode 100644
index 000000000000..b3a9cfe82ee4
--- /dev/null
+++ b/pkgs/development/python-modules/pythonocc-core/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, python, fetchFromGitHub, cmake, swig, ninja,
+  opencascade, smesh, freetype, libGL, libGLU, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "pythonocc-core";
+  version = "0.18.1";
+
+  src = fetchFromGitHub {
+    owner = "tpaviot";
+    repo = "pythonocc-core";
+    rev = version;
+    sha256 = "1jk4y7f75z9lyawffpfkr50qw5452xzi1imcdlw9pdvf4i0y86k3";
+  };
+
+  nativeBuildInputs = [ cmake swig ninja ];
+  buildInputs = [
+    python opencascade smesh
+    freetype libGL libGLU libX11
+  ];
+
+  cmakeFlags = [
+    "-Wno-dev"
+    "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
+
+    "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
+    "-DSMESH_LIB_PATH=${smesh}/lib"
+    "-DPYTHONOCC_WRAP_SMESH=TRUE"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Python wrapper for the OpenCASCADE 3D modeling kernel";
+    homepage = "https://github.com/tpaviot/pythonocc-core";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ gebner ];
+  };
+}
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index cb7a2f19b5e3..4e2de5c9caf2 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -23,7 +23,7 @@
 , cmake, libssh2, openssl, mysql, darwin, git, perl, pcre, gecode_3, curl
 , msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk_pixbuf, zeromq, czmq, graphicsmagick, libcxx
-, file, libvirt, glib, vips, taglib, libopus
+, file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf
 , libselinux ? null, libsepol ? null
 }@args:
 
@@ -79,6 +79,11 @@ in
     buildInputs = [ which icu zlib ];
   };
 
+  cld3 = attrs: {
+    nativeBuildInputs = [ pkgconfig ];
+    buildInputs = [ protobuf ];
+  };
+
   curb = attrs: {
     buildInputs = [ curl ];
   };
@@ -201,6 +206,10 @@ in
     buildFlags = lib.optional stdenv.isDarwin "--with-iconv-dir=${libiconv}";
   };
 
+  idn-ruby = attrs: {
+    buildInputs = [ libidn ];
+  };
+
   # disable bundle install as it can't install anything in addition to what is
   # specified in pkgs/applications/misc/jekyll/Gemfile anyway. Also do chmod_R
   # to compensate for read-only files in site_template in nix store.
@@ -340,6 +349,10 @@ in
     buildInputs = [ imagemagick which ];
   };
 
+  rpam2 = attrs: {
+    buildInputs = [ linux-pam ];
+  };
+
   ruby-libvirt = attrs: {
     buildInputs = [ libvirt pkgconfig ];
     buildFlags = [
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index ab00573965e8..5294bb46f18d 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pmd-${version}";
-  version = "6.13.0";
+  version = "6.14.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "1g8ds38zwprjswm71y7l10l15rbh2s6ha9xpp20wjy823q9agbpq";
+    sha256 = "0k40l93fxakms9vm641d4vlb68gfhkblrm24sb7slzvhq2v832dj";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index d4e5c5a38dcd..832e8e351645 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     ant
 
-    ./bin/buck build -c buck.release_version=${version} buck
+    PYTHONDONTWRITEBYTECODE=true ./bin/buck build -c buck.release_version=${version} buck
   '';
 
   installPhase = ''
diff --git a/pkgs/development/tools/gocode-gomod/default.nix b/pkgs/development/tools/gocode-gomod/default.nix
index 85e7c07b8cce..f93bd9d28c81 100644
--- a/pkgs/development/tools/gocode-gomod/default.nix
+++ b/pkgs/development/tools/gocode-gomod/default.nix
@@ -2,8 +2,8 @@
 
 buildGoPackage rec {
   name = "gocode-gomod-unstable-${version}";
-  version = "2019-02-12";
-  rev = "8cc90faaf4765d16de060350da41eadccc1a15d1";
+  version = "2019-03-27";
+  rev = "81059208699789f992bb4a4a3fedd734e335468d";
 
   goPackagePath = "github.com/stamblerre/gocode";
 
diff --git a/pkgs/development/tools/misc/cli11/default.nix b/pkgs/development/tools/misc/cli11/default.nix
new file mode 100644
index 000000000000..904119bd6ae3
--- /dev/null
+++ b/pkgs/development/tools/misc/cli11/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, cmake, gtest, python, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "cli11";
+  version = "1.7.1";
+
+  src = fetchFromGitHub {
+    owner = "CLIUtils";
+    repo = "CLI11";
+    rev = "v${version}";
+    sha256 = "0wddck970pczk7c201i2g6s85mkv4f2f4zxy6mndh3pfz41wcs2d";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  checkInputs = [ boost python ];
+
+  doCheck = true;
+
+  preConfigure = ''
+    rm -rfv extern/googletest
+    ln -sfv ${gtest.src} extern/googletest
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "CLI11 is a command line parser for C++11";
+    homepage = https://github.com/CLIUtils/CLI11;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ nand0p ];
+    license = licenses.unfreeRedistributable;
+  };
+
+}
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index cea86f090d6a..7141fdcee7e7 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libftdi, libusb1, pkgconfig, hidapi }:
+{ stdenv, lib, fetchurl, libftdi1, libusb1, pkgconfig, hidapi }:
 
 stdenv.mkDerivation rec {
   name = "openocd-${version}";
@@ -10,28 +10,28 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libftdi libusb1 hidapi ];
+  buildInputs = [ libftdi1 libusb1 hidapi ];
 
   configureFlags = [
     "--enable-jtag_vpi"
     "--enable-usb_blaster_libftdi"
-    "--enable-amtjtagaccel"
-    "--enable-gw16012"
+    (lib.enableFeature (! stdenv.isDarwin) "amtjtagaccel")
+    (lib.enableFeature (! stdenv.isDarwin) "gw16012")
     "--enable-presto_libftdi"
     "--enable-openjtag_ftdi"
-    "--enable-oocd_trace"
+    (lib.enableFeature (! stdenv.isDarwin) "oocd_trace")
     "--enable-buspirate"
-    "--enable-sysfsgpio"
+    (lib.enableFeature stdenv.isLinux "sysfsgpio")
     "--enable-remote-bitbang"
   ];
 
-  NIX_CFLAGS_COMPILE = [
+  NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [
     "-Wno-implicit-fallthrough"
     "-Wno-format-truncation"
     "-Wno-format-overflow"
   ];
 
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     mkdir -p "$out/etc/udev/rules.d"
     rules="$out/share/openocd/contrib/60-openocd.rules"
     if [ ! -f "$rules" ]; then
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     ln -s "$rules" "$out/etc/udev/rules.d/"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing";
     longDescription = ''
       OpenOCD provides on-chip programming and debugging support with a layered
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
     homepage = http://openocd.sourceforge.net/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ bjornfor ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index 20105f362cf0..7e73a64e1a99 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-cbindgen-${version}";
-  version = "0.8.0";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "07cizbhr02x3rh07xhs10hzzs3lmmpf61g08sa62b98cgadvs9fq";
+    sha256 = "08zlnk1k1nddjciccfdcplxqngsnz6ml3zxm57mijabzybry8zz1";
   };
 
   cargoSha256 = "00j5nm491zil6kpjns31qyd6z7iqd77b5qp4h7149s70qjwfq2cb";
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/misc/emulators/caprice32/default.nix
index 42b8e5229e99..a8068e9b47b6 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/misc/emulators/caprice32/default.nix
@@ -2,18 +2,22 @@
 
 stdenv.mkDerivation rec {
 
-  repo = "caprice32";
-  version = "unstable-2018-03-05";
-  rev = "317fe638111e245d67e301f6f295094d3c859a70";
-  name = "${repo}-${version}";
+  pname = "caprice32";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
-    inherit rev repo;
+    repo = "caprice32";
+    rev = "v${version}";
     owner = "ColinPitrat";
-    sha256 = "1bywpmkizixcnr057k8zq9nlw0zhcmwkiriln0krgdcm7d3h9b86";
+    sha256 = "056vrf5yq1574g93ix8hnjqqbdqza3qcjv0f8rvpsslqcbizma9y";
   };
 
   postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libpng SDL freetype zlib ];
+
+  #fix GIT_HASH avoid depend on git 
+  makeFlags = [ "GIT_HASH=${src.rev}" "DESTDIR=$(out)" "prefix=/"];
 
   meta = with stdenv.lib; {
     description = "A complete emulation of CPC464, CPC664 and CPC6128";
@@ -21,9 +25,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux;
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpng SDL freetype zlib ];
-  makeFlags = [ "GIT_HASH=${src.rev}" "DESTDIR=$(out)" "prefix=/"];
+  };  
 }
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 70fadf7683f1..ef22bd9a3ac7 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -31,24 +31,24 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "4.8.2";
+      version = "4.8.3";
       url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi";
-      sha256 = "1hvwhqdb11j9yzhhw86fjhj9bawg76zrh0wnx658pn5xghhk2jhy";
+      sha256 = "0xhavcjwwr21am3bxp2cxlvykwasw8y4g8p470j5fg7skc0izynn";
     };
   };
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "4.6";
+    version = "4.7";
     url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
-    sha256 = "1nk2nlkdklwpd0kbq8hx59gl05b5wglcla0v3892by6k4kwh341j";
+    sha256 = "1c5swx6jj0hz9w2jgyl30pdjcq9n62qp1rmqyq1d4q2a6n291jiv";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "0mripibsi1p8h2j9ngqszkcjppdxji027ss4shqwb0nypaydd9w2";
+    sha256 = "1sgyq57dyzchwnvkgx96bcx5rv821s0vidzdyz7x5711j7xmiv70";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch b/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
new file mode 100644
index 000000000000..92725cac5b45
--- /dev/null
+++ b/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
@@ -0,0 +1,105 @@
+From fbee2adffd39b03e10262b09779faef94c4d5a9d Mon Sep 17 00:00:00 2001
+From: Ben Wolsieffer <benwolsieffer@gmail.com>
+Date: Thu, 18 Apr 2019 15:50:24 -0400
+Subject: [PATCH] fdt: make compatible with dtc >=1.4.6
+
+Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
+---
+ include/libfdt_env.h         | 6 +++---
+ lib/libfdt/fdt.h             | 6 +++---
+ lib/libfdt/libfdt.h          | 6 +++---
+ lib/libfdt/libfdt_internal.h | 6 +++---
+ tools/dtoc/fdt.py            | 2 +-
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/include/libfdt_env.h b/include/libfdt_env.h
+index 6c6845f76c..1fbcd0ef83 100644
+--- a/include/libfdt_env.h
++++ b/include/libfdt_env.h
+@@ -6,8 +6,8 @@
+  * SPDX-License-Identifier:	LGPL-2.1+
+  */
+ 
+-#ifndef _LIBFDT_ENV_H
+-#define _LIBFDT_ENV_H
++#ifndef LIBFDT_ENV_H
++#define LIBFDT_ENV_H
+ 
+ #include "compiler.h"
+ #include "linux/types.h"
+@@ -32,4 +32,4 @@ typedef __be64 fdt64_t;
+ /* adding a ramdisk needs 0x44 bytes in version 2008.10 */
+ #define FDT_RAMDISK_OVERHEAD	0x80
+ 
+-#endif /* _LIBFDT_ENV_H */
++#endif /* LIBFDT_ENV_H */
+diff --git a/lib/libfdt/fdt.h b/lib/libfdt/fdt.h
+index 3134d78332..38cc182739 100644
+--- a/lib/libfdt/fdt.h
++++ b/lib/libfdt/fdt.h
+@@ -1,5 +1,5 @@
+-#ifndef _FDT_H
+-#define _FDT_H
++#ifndef FDT_H
++#define FDT_H
+ /*
+  * libfdt - Flat Device Tree manipulation
+  * Copyright (C) 2006 David Gibson, IBM Corporation.
+@@ -64,4 +64,4 @@ struct fdt_property {
+ #define FDT_V16_SIZE	FDT_V3_SIZE
+ #define FDT_V17_SIZE	(FDT_V16_SIZE + sizeof(fdt32_t))
+ 
+-#endif /* _FDT_H */
++#endif /* FDT_H */
+diff --git a/lib/libfdt/libfdt.h b/lib/libfdt/libfdt.h
+index cb533f4275..9345a59f05 100644
+--- a/lib/libfdt/libfdt.h
++++ b/lib/libfdt/libfdt.h
+@@ -1,5 +1,5 @@
+-#ifndef _LIBFDT_H
+-#define _LIBFDT_H
++#ifndef LIBFDT_H
++#define LIBFDT_H
+ /*
+  * libfdt - Flat Device Tree manipulation
+  * Copyright (C) 2006 David Gibson, IBM Corporation.
+@@ -2189,4 +2189,4 @@ int fdt_device_is_available(const void *blob, int node);
+ int fdt_node_offset_by_phandle_node(const void *fdt, int node, uint32_t phandle);
+ #endif /* SWIG */
+ 
+-#endif /* _LIBFDT_H */
++#endif /* LIBFDT_H */
+diff --git a/lib/libfdt/libfdt_internal.h b/lib/libfdt/libfdt_internal.h
+index 9a79fe85dd..8fdda7ee79 100644
+--- a/lib/libfdt/libfdt_internal.h
++++ b/lib/libfdt/libfdt_internal.h
+@@ -1,5 +1,5 @@
+-#ifndef _LIBFDT_INTERNAL_H
+-#define _LIBFDT_INTERNAL_H
++#ifndef LIBFDT_INTERNAL_H
++#define LIBFDT_INTERNAL_H
+ /*
+  * libfdt - Flat Device Tree manipulation
+  * Copyright (C) 2006 David Gibson, IBM Corporation.
+@@ -47,4 +47,4 @@ static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)
+ 
+ #define FDT_SW_MAGIC		(~FDT_MAGIC)
+ 
+-#endif /* _LIBFDT_INTERNAL_H */
++#endif /* LIBFDT_INTERNAL_H */
+diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
+index dbc338653b..ac2191fb37 100644
+--- a/tools/dtoc/fdt.py
++++ b/tools/dtoc/fdt.py
+@@ -360,7 +360,7 @@ class Fdt:
+         poffset = libfdt.fdt_first_property_offset(self._fdt, node._offset)
+         while poffset >= 0:
+             p = self._fdt_obj.get_property_by_offset(poffset)
+-            prop = Prop(node, poffset, p.name, p.value)
++            prop = Prop(node, poffset, p.name, p)
+             props_dict[prop.name] = prop
+ 
+             poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
+-- 
+2.21.0
+
diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix
index af8d044387a4..614d1ec1f8fb 100644
--- a/pkgs/misc/uboot/rock64.nix
+++ b/pkgs/misc/uboot/rock64.nix
@@ -15,6 +15,8 @@ in buildUBoot rec {
     sha256 = "0gclcd034qfhfbabrdqmky08i0hlwmn63n0zg6mndplms5qpcx75";
   };
 
+  patches = [ ./rock64-fdt-dtc-compatibility.patch ];
+
   extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
 
   # Close to being blob free, but the U-Boot TPL causes the kernel to hang after a few minutes
diff --git a/pkgs/misc/uboot/rockpro64.nix b/pkgs/misc/uboot/rockpro64.nix
index d8802e6d5f55..be5f7afa342c 100644
--- a/pkgs/misc/uboot/rockpro64.nix
+++ b/pkgs/misc/uboot/rockpro64.nix
@@ -15,6 +15,8 @@ in buildUBoot rec {
     sha256 = "0gclcd034qfhfbabrdqmky08i0hlwmn63n0zg6mndplms5qpcx75";
   };
 
+  patches = [ ./rock64-fdt-dtc-compatibility.patch ];
+
   # Upstream ATF hangs in SPL
   extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.17.elf" "u-boot.itb" "all" ];
 
diff --git a/pkgs/os-specific/linux/mbpfan/default.nix b/pkgs/os-specific/linux/mbpfan/default.nix
index 7351712b887d..9528b9be7f7d 100644
--- a/pkgs/os-specific/linux/mbpfan/default.nix
+++ b/pkgs/os-specific/linux/mbpfan/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "mbpfan-${version}";
-  version = "2.1.0";
+  version = "2.1.1";
   src = fetchFromGitHub {
     owner = "dgraziotin";
     repo = "mbpfan";
     rev = "v${version}";
-    sha256 = "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask";
+    sha256 = "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj";
   };
   installPhase = ''
     mkdir -p $out/bin $out/etc
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index f92314b2123a..d41c94eee562 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.3.1";
+  version = "10.3.2";
 
   # Impossible to build anything offline with dotnet
   src = fetchurl {
     url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
-    sha256 = "1j6jyrbc0ha348y63wk5jv9wjcjydma9cr3jxva1y85pjrmm7z90";
+    sha256 = "0cwmaq61xhdb34f53m2vhnw8v4zrj266vjzfdm106gyychpr46vz";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/mqtt/mosquitto/default.nix b/pkgs/servers/mqtt/mosquitto/default.nix
index ee1277292767..20effd5bceb4 100644
--- a/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/pkgs/servers/mqtt/mosquitto/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "mosquitto-${version}";
-  version = "1.6";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner  = "eclipse";
     repo   = "mosquitto";
     rev    = "v${version}";
-    sha256 = "1yvn0yj9hb502lvk2yrshpvrnq2fddjyarnw37ip34mhxynnz5gb";
+    sha256 = "0mpllj719cmirynbcgiankdzyg7bn6vpvxxhg8zr18lic5dvgm3p";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/X11/nx-libs/default.nix b/pkgs/tools/X11/nx-libs/default.nix
index 536644094857..97c8e05e83a3 100644
--- a/pkgs/tools/X11/nx-libs/default.nix
+++ b/pkgs/tools/X11/nx-libs/default.nix
@@ -2,12 +2,12 @@
   libpng, libtool, libxml2, pkgconfig, which, xorg }:
 stdenv.mkDerivation rec {
   name = "nx-libs-${version}";
-  version = "3.5.99.19";
+  version = "3.5.99.20";
   src = fetchFromGitHub {
     owner = "ArcticaProject";
     repo = "nx-libs";
     rev = version;
-    sha256 = "0vw333i59slz4rcmv32j4ydgiiihyqqy3fzgn1h6gj88qsbyfwqm";
+    sha256 = "1c3xjbmnylw53h04g77lk9va1sk1dgg7zhirwz3mpn73r6dkyzix";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig which
diff --git a/pkgs/tools/misc/docui/default.nix b/pkgs/tools/misc/docui/default.nix
new file mode 100644
index 000000000000..979b3be04933
--- /dev/null
+++ b/pkgs/tools/misc/docui/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  name = "docui-${version}";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "skanehira";
+    repo = "docui";
+    rev = version;
+    sha256 = "1kbap36hccwlj273is98cvgf5z5cl2c3s6p46nh6bnykz3zqzs71";
+  };
+
+  modSha256 = "1qma9bnd4k594cr5dcv74xns53mhfyl4jsm01chf85dxywjjd9vd";
+
+  meta = with stdenv.lib; {
+    description = "TUI Client for Docker";
+    homepage = https://github.com/skanehira/docui;
+    license = licenses.mit;
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix
new file mode 100644
index 000000000000..8a270ed0fef6
--- /dev/null
+++ b/pkgs/tools/misc/ethminer/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitHub, opencl-headers, cmake, jsoncpp, boost, makeWrapper,
+  cudatoolkit, mesa, ethash, opencl-info, ocl-icd, openssl, pkg-config, cli11 }:
+
+stdenv.mkDerivation rec {
+  pname = "ethminer";
+  version = "0.18.0-rc.0";
+
+  src =
+    fetchFromGitHub {
+      owner = "ethereum-mining";
+      repo = "ethminer";
+      rev = "v${version}";
+      sha256 = "0gwnwxahjfwr4d2aci7y3w206nc5ifssl28ildva98ys0d24wy7z";
+      fetchSubmodules = true;
+    };
+
+  # NOTE: dbus is broken
+  cmakeFlags = [
+    "-DHUNTER_ENABLED=OFF"
+    "-DETHASHCUDA=ON"
+    "-DAPICORE=ON"
+    "-DETHDBUS=OFF"
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    makeWrapper
+  ];
+
+  buildInputs = [
+    cli11
+    boost
+    opencl-headers
+    mesa
+    cudatoolkit
+    ethash
+    opencl-info
+    ocl-icd
+    openssl
+    jsoncpp
+  ];
+
+  preConfigure = ''
+    sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/ethminer --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Ethereum miner with OpenCL, CUDA and stratum support";
+    homepage = https://github.com/ethereum-mining/ethminer;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ nand0p ];
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/tools/misc/thin-provisioning-tools/default.nix b/pkgs/tools/misc/thin-provisioning-tools/default.nix
index b4683167f334..9b587c271546 100644
--- a/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/pkgs/tools/misc/thin-provisioning-tools/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       #    dynamically using sysconf(_SC_PAGE_SIZE) instead of hardcoded value that hopefully is correct.
       # [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
       # [2] http://www.openwall.com/lists/musl/2015/09/11/8
-      url = "https://raw.githubusercontent.com/voidlinux/void-packages/a0ece13ad7ab2aae760e09e41e0459bd999a3695/srcpkgs/thin-provisioning-tools/patches/musl.patch";
+      url = "https://raw.githubusercontent.com/void-linux/void-packages/a0ece13ad7ab2aae760e09e41e0459bd999a3695/srcpkgs/thin-provisioning-tools/patches/musl.patch";
       sha256 = "1m8r3vhrnsy8drgs0svs3fgpi3mmxzdcqsv6bmvc0j52cvfqvhvy";
       extraPrefix = ""; # empty means add 'a/' and 'b/'
     })
diff --git a/pkgs/tools/networking/opensm/default.nix b/pkgs/tools/networking/opensm/default.nix
index ea20306e26f2..d52cc9d8defb 100644
--- a/pkgs/tools/networking/opensm/default.nix
+++ b/pkgs/tools/networking/opensm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "opensm-${version}";
-  version = "3.3.21";
+  version = "3.3.22";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "opensm";
     rev = "${version}";
-    sha256 = "0iikw28vslxq3baq9qmmw08yay7l524wciz7dv7km09ylcbx23b7";
+    sha256 = "1nb6zl93ffbgb8z8728j0dxrmvk3pm0i6a1sn7mpn8ki1vkf2y0j";
   };
 
   nativeBuildInputs = [ autoconf automake libtool bison flex ];
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index 788c561da3c5..2dbbd93e13bf 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec {
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "0bzid5wrpcrghazv5652ghyv4amp298p5kfridswv175kmr9gg0x";
+  cargoSha256 = "02xrz7vq8nan70f07xyf335blfmdc6gaz9sbfjipsi1drgfccf09";
 
   meta = with lib; {
     description = "An unofficial lightweight implementation of the Bitwarden server API using Rust and SQLite";
diff --git a/pkgs/tools/security/lynis/default.nix b/pkgs/tools/security/lynis/default.nix
index dfbda2b5e073..198e33c8500e 100644
--- a/pkgs/tools/security/lynis/default.nix
+++ b/pkgs/tools/security/lynis/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lynis";
-  version = "2.7.3";
+  version = "2.7.4";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "CISOfy";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "0md1w86i3fy9l78i98ijr5136nbhdiik2dxyw9qnzmvdlvkqmw70";
+    sha256 = "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/mkp224o/default.nix b/pkgs/tools/security/mkp224o/default.nix
index b649c57b3462..0c927b7501b6 100644
--- a/pkgs/tools/security/mkp224o/default.nix
+++ b/pkgs/tools/security/mkp224o/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mkp224o-${version}";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "cathugger";
     repo = "mkp224o";
     rev = "v${version}";
-    sha256 = "1m7r0jfm6na6rk75v1kals3bx2cs6jsfxdgpxdljn39j3qr4mxvd";
+    sha256 = "1il12ahcs5pj52hxn4xvpjfz801xcg31zk2jnkl80frzlwq040qi";
   };
 
   buildCommand =
diff --git a/pkgs/tools/security/pdfcrack/default.nix b/pkgs/tools/security/pdfcrack/default.nix
index 3606e7b23f4b..55d2505ed1cb 100644
--- a/pkgs/tools/security/pdfcrack/default.nix
+++ b/pkgs/tools/security/pdfcrack/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pdfcrack-${version}";
-  version = "0.16";
+  version = "0.17";
 
   src = fetchurl {
     url = "mirror://sourceforge/pdfcrack/pdfcrack/pdfcrack-${version}.tar.gz";
-    sha256 = "1vvkrg3niinz0j9wwm31laxgmd7wdz201kn82b3dbksc0w1v4rbq";
+    sha256 = "15hfxwr9yfzkx842p0jjdjnjarny6qc5fwcpy2f6lnq047pb26sn";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix
index b3ec973368ca..29af5a5cc0a7 100644
--- a/pkgs/tools/security/signing-party/default.nix
+++ b/pkgs/tools/security/signing-party/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, automake, makeWrapper
+{ stdenv, fetchFromGitLab, autoconf, automake, makeWrapper
 , python3, perl, perlPackages
 , libmd, gnupg1, which, getopt, libpaper, nettools, qprint
 , sendmailPath ? "/run/wrappers/bin/sendmail" }:
@@ -13,12 +13,15 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "signing-party";
-  version = "2.9";
+  version = "2.10";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://debian/pool/main/s/${pname}/${pname}_${version}.orig.tar.gz";
-    sha256 = "14pgi45zqa0zd1ldfj9mnf9jgv5kfrhl78lr8iy7k88p9h6b9n7n";
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "signing-party-team";
+    repo = "signing-party";
+    rev = "v${version}";
+    sha256 = "0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r";
   };
 
   # TODO: Get this patch upstream...
diff --git a/pkgs/tools/security/ssh-audit/default.nix b/pkgs/tools/security/ssh-audit/default.nix
new file mode 100644
index 000000000000..e615cec945dd
--- /dev/null
+++ b/pkgs/tools/security/ssh-audit/default.nix
@@ -0,0 +1,53 @@
+{ fetchFromGitHub, python3Packages, stdenv }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "ssh-audit";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "arthepsy";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    sha256 = "0akrychkdym9f6830ysq787c9nc0bkyqvy4h72498lyghwvwc2ms";
+  };
+
+  checkInputs = [
+    python3Packages.pytest
+    python3Packages.pytestcov
+  ];
+
+  checkPhase = ''
+    py.test --cov-report= --cov=ssh-audit -v test
+  '';
+
+  postPatch = ''
+    printf %s "$setupPy" > setup.py
+    mkdir scripts
+    cp ssh-audit.py scripts/ssh-audit
+    mkdir ssh_audit
+    cp ssh-audit.py ssh_audit/__init__.py
+  '';
+
+  setupPy = /* py */ ''
+    from distutils.core import setup
+    setup(
+      author='arthepsy',
+      description='${meta.description}',
+      license='${meta.license.spdxId}',
+      name='${pname}',
+      packages=['ssh_audit'],
+      scripts=['scripts/ssh-audit'],
+      url='${meta.homepage}',
+      version='${version}',
+    )
+  '';
+
+  meta = {
+    description = "Tool for ssh server auditing";
+    homepage = "https://github.com/arthepsy/ssh-audit";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [
+      stdenv.lib.maintainers.tv
+    ];
+  };
+}
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index 17680de86f0d..badc36650f0d 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "inxi-${version}";
-  version = "3.0.33-1";
+  version = "3.0.34-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "19bfdid4zp39irsdq3m6yyqf2336c30da35qgslrzcr2vh815g8c";
+    sha256 = "0x2s40lwsan2pk292nspjgyw00f9f5fdfmwfvl50924pxhyxn2fh";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index a865859b1864..3bf016749776 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FanFicFare";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1ir3m8wknr8shdbmbpiaw73mdpa7mvidkl6pbs9ca23mgwivxa84";
+    sha256 = "1h4a1y9m65lf495r52gayprlbxpd43hpbhcbawadbkxf26gr1vkk";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 04461a825ee1..18fb45dbfe67 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -190,7 +190,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
   hardeningDisable = [ "format" ];
 
   inherit (core) nativeBuildInputs;
-  buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 ];
+  buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 libX11 ];
 
   configureFlags = common.configureFlags
     ++ withSystemLibs [ "kpathsea" "ptexenc" "cairo" "harfbuzz" "icu" "graphite2" ]
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5a0d9932d6b8..fb2bf87f4b4d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -177,6 +177,8 @@ in
 
   docker-sync = callPackage ../tools/misc/docker-sync { };
 
+  docui = callPackage ../tools/misc/docui { };
+
   dotfiles = callPackage ../applications/misc/dotfiles { };
 
   dotnetenv = callPackage ../build-support/dotnetenv {
@@ -2102,10 +2104,14 @@ in
 
   colormake = callPackage ../development/tools/build-managers/colormake { };
 
+  ethash = callPackage ../development/libraries/ethash { };
+
   cpuminer = callPackage ../tools/misc/cpuminer { };
 
   cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { };
 
+  ethminer = callPackage ../tools/misc/ethminer { };
+
   cuetools = callPackage ../tools/cd-dvd/cuetools { };
 
   u3-tool = callPackage ../tools/filesystems/u3-tool { };
@@ -5368,6 +5374,8 @@ in
 
   rambox = callPackage ../applications/networking/instant-messengers/rambox { };
 
+  rambox-pro = callPackage ../applications/networking/instant-messengers/rambox/pro.nix { };
+
   ranger = callPackage ../applications/misc/ranger { };
 
   rarcrack = callPackage ../tools/security/rarcrack { };
@@ -5760,6 +5768,8 @@ in
 
   smenu = callPackage ../tools/misc/smenu { };
 
+  smesh = callPackage ../development/libraries/smesh {};
+
   smugline = python3Packages.smugline;
 
   snabb = callPackage ../tools/networking/snabb { } ;
@@ -8901,6 +8911,8 @@ in
   libsigrok4dsl = callPackage ../applications/science/electronics/dsview/libsigrok4dsl.nix { };
   libsigrokdecode4dsl = callPackage ../applications/science/electronics/dsview/libsigrokdecode4dsl.nix { };
 
+  cli11 = callPackage ../development/tools/misc/cli11 { };
+
   dcadec = callPackage ../development/tools/dcadec { };
 
   dejagnu = callPackage ../development/tools/misc/dejagnu { };
@@ -15768,35 +15780,9 @@ in
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
-  inherit (let
-    dtc = buildPackages.dtc.overrideAttrs (old: rec {
-      version = "1.4.5";
-      src = fetchgit {
-        url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
-        rev = "refs/tags/v${version}";
-        sha256 = "10y5pbkcj5gkijcgnlvrh6q2prpnvsgihb9asz3zfp66mcjwzsy3";
-      };
-    });
-    # Newer dtc versions are incompatible with U-Boot 2017.09
-    inherit (callPackage ../misc/uboot {
-      inherit dtc;
-      buildPackages = buildPackages // {
-        python2 = buildPackages.python2.override (old: {
-          packageOverrides = pySelf: pySuper: {
-            libfdt = pySelf.toPythonModule dtc;
-          };
-        });
-      };
-    }) buildUBoot;
-  in {
-    ubootRock64 = callPackage ../misc/uboot/rock64.nix {
-      inherit buildUBoot;
-    };
+  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
 
-    ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix {
-      inherit buildUBoot;
-    };
-  }) ubootRock64 ubootRockPro64;
+  ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix { };
 
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
@@ -16426,6 +16412,8 @@ in
 
   termtekst = callPackage ../misc/emulators/termtekst { };
 
+  tetra-gtk-theme = callPackage ../data/themes/tetra { };
+
   tex-gyre = callPackages ../data/fonts/tex-gyre { };
 
   tex-gyre-math = callPackages ../data/fonts/tex-gyre-math { };
@@ -23500,8 +23488,6 @@ in
 
   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;
@@ -23514,6 +23500,8 @@ in
 
   ib-controller = callPackage ../applications/office/ib/controller { jdk=oraclejdk8; };
 
+  ssh-audit = callPackage ../tools/security/ssh-audit { };
+
   thermald = callPackage ../tools/system/thermald { };
 
   thinkfan = callPackage ../tools/system/thinkfan { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7d7a727ccd67..a51a6fffd536 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -782,6 +782,10 @@ in {
 
   python-mnist = callPackage ../development/python-modules/python-mnist { };
 
+  pythonocc-core = toPythonModule (callPackage ../development/python-modules/pythonocc-core {
+    inherit (pkgs.xorg) libX11;
+  });
+
   python-igraph = callPackage ../development/python-modules/python-igraph {
     pkgconfig = pkgs.pkgconfig;
     igraph = pkgs.igraph;
@@ -1917,6 +1921,8 @@ in {
 
   fastcache = callPackage ../development/python-modules/fastcache { };
 
+  fastentrypoints = callPackage ../development/python-modules/fastentrypoints { };
+
   functools32 = callPackage ../development/python-modules/functools32 { };
 
   future-fstrings = callPackage ../development/python-modules/future-fstrings { };