From f54612264edd7d743488e6469b5f774dbc07e7b7 Mon Sep 17 00:00:00 2001
From: Richard Marko <srk@48.io>
Date: Sat, 18 Jul 2020 13:32:48 +0200
Subject: [PATCH 01/59] nixos/jack,pulseaudio: fix pulse connection to jackd
 service

This fixes the case when Jack Audio Daemon is running
as a service via `services.jack.jackd` and Pulseaudio
running as a *user* service.

Two issues prevented connecting `pulse` with `jackd`:
* Missing `JACK_PROMISCUOUS_SERVER` environment variable for `pulse` user service,
  resulting in `pulse` trying to access `jackd` as if it was running as part of
  the users session.
* `jackd` not being able to access socket created by `pulse` due to socket
  created using user ID and `users` group. Change allows `jackd` to access
  the socket created by `pulse` correctly.

`pulse` now also autoloads `module-jack-sink` and `module-jack-source`
if `services.jack.jackd.enable` is set.

The default `pulse` package is now set to `pulseaudioFull` automatically
if `services.jack.jackd.enable` is set.
---
 nixos/modules/config/pulseaudio.nix   | 8 +++++++-
 nixos/modules/services/audio/jack.nix | 3 +++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 408d0a9c33f2..044fa48853db 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -36,6 +36,8 @@ let
         ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
         ${addModuleIf cfg.tcp.enable (concatStringsSep " "
            ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
+        ${addModuleIf config.services.jack.jackd.enable "module-jack-sink"}
+        ${addModuleIf config.services.jack.jackd.enable "module-jack-source"}
         ${cfg.extraConfig}
       '';
     };
@@ -144,7 +146,9 @@ in {
 
       package = mkOption {
         type = types.package;
-        default = pkgs.pulseaudio;
+        default = if config.services.jack.jackd.enable
+                  then pkgs.pulseaudioFull
+                  else pkgs.pulseaudio;
         defaultText = "pkgs.pulseaudio";
         example = literalExample "pkgs.pulseaudioFull";
         description = ''
@@ -284,6 +288,8 @@ in {
             RestartSec = "500ms";
             PassEnvironment = "DISPLAY";
           };
+        } // optionalAttrs config.services.jack.jackd.enable {
+          environment.JACK_PROMISCUOUS_SERVER = "jackaudio";
         };
         sockets.pulseaudio = {
           wantedBy = [ "sockets.target" ];
diff --git a/nixos/modules/services/audio/jack.nix b/nixos/modules/services/audio/jack.nix
index ceff366d0bbb..bee97dbfc6b3 100644
--- a/nixos/modules/services/audio/jack.nix
+++ b/nixos/modules/services/audio/jack.nix
@@ -246,6 +246,9 @@ in {
         description = "JACK Audio Connection Kit";
         serviceConfig = {
           User = "jackaudio";
+          SupplementaryGroups = lib.optional
+            (config.hardware.pulseaudio.enable
+            && !config.hardware.pulseaudio.systemWide) "users";
           ExecStart = "${cfg.jackd.package}/bin/jackd ${lib.escapeShellArgs cfg.jackd.extraOptions}";
           LimitRTPRIO = 99;
           LimitMEMLOCK = "infinity";

From b1073f27d9a9370c2c5e40a2e11144130f08624d Mon Sep 17 00:00:00 2001
From: Scriptkiddi <fritz@otlinghaus.it>
Date: Thu, 8 Oct 2020 12:55:29 +0200
Subject: [PATCH 02/59] pythonPackage.openrouteservice: init at 2.3.0

---
 .../openrouteservice/default.nix              | 29 +++++++++++++++++++
 pkgs/top-level/python-packages.nix            |  2 ++
 2 files changed, 31 insertions(+)
 create mode 100644 pkgs/development/python-modules/openrouteservice/default.nix

diff --git a/pkgs/development/python-modules/openrouteservice/default.nix b/pkgs/development/python-modules/openrouteservice/default.nix
new file mode 100644
index 000000000000..c35405f417b2
--- /dev/null
+++ b/pkgs/development/python-modules/openrouteservice/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchFromGitHub, requests, responses, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "openrouteservice";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "GIScience";
+    repo = "${pname}-py";
+    rev = "v${version}";
+    sha256 = "ySXzOQI9NcF1W/otbL7i3AY628/74ZkJjDMQ9ywVEPc=";
+  };
+
+  checkInputs = [ pytestCheckHook responses ];
+
+  disabledTests = [
+    # touches network
+    "test_optimized_waypoints"
+    "test_invalid_api_key"
+    "test_raise_timeout_retriable_requests"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/GIScience/openrouteservice-py";
+    description = "The Python API to consume openrouteservice(s) painlessly";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3d8980eb8add..e0b6f81704db 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4191,6 +4191,8 @@ in {
 
   openrazer-daemon = callPackage ../development/python-modules/openrazer/daemon.nix { };
 
+  openrouteservice = callPackage ../development/python-modules/openrouteservice/default.nix { };
+
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
   opentracing = callPackage ../development/python-modules/opentracing { };

From bc3556546341f70801d6bba652b3955f312e0bad Mon Sep 17 00:00:00 2001
From: rnhmjoj <rnhmjoj@inventati.org>
Date: Mon, 26 Oct 2020 13:33:12 +0100
Subject: [PATCH 03/59] nixos/activation-script: make scripts well-typed

---
 .../system/activation/activation-script.nix   | 36 ++++++++++++-------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index ddfd1af4a319..18c77948cb90 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -28,6 +28,20 @@ let
       utillinux # needed for mount and mountpoint
     ];
 
+  scriptType = with types;
+    let scriptOptions =
+      { deps = mkOption
+          { type = types.listOf types.str;
+            default = [ ];
+            description = "List of dependencies. The script will run after these.";
+          };
+        text = mkOption
+          { type = types.lines;
+            description = "The content of the script.";
+          };
+      };
+    in either str (submodule { options = scriptOptions; });
+
 in
 
 {
@@ -40,16 +54,14 @@ in
       default = {};
 
       example = literalExample ''
-        { stdio = {
-            text = '''
-              # Needed by some programs.
-              ln -sfn /proc/self/fd /dev/fd
-              ln -sfn /proc/self/fd/0 /dev/stdin
-              ln -sfn /proc/self/fd/1 /dev/stdout
-              ln -sfn /proc/self/fd/2 /dev/stderr
-            ''';
-            deps = [];
-          };
+        { stdio.text =
+          '''
+            # Needed by some programs.
+            ln -sfn /proc/self/fd /dev/fd
+            ln -sfn /proc/self/fd/0 /dev/stdin
+            ln -sfn /proc/self/fd/1 /dev/stdout
+            ln -sfn /proc/self/fd/2 /dev/stderr
+          ''';
         }
       '';
 
@@ -62,7 +74,7 @@ in
         idempotent and fast.
       '';
 
-      type = types.attrsOf types.unspecified; # FIXME
+      type = types.attrsOf scriptType;
 
       apply = set: {
         script =
@@ -125,7 +137,7 @@ in
         idempotent and fast.
       '';
 
-      type = types.attrsOf types.unspecified;
+      type = with types; attrsOf scriptType;
 
       apply = set: {
         script = ''

From a03c8a8f35613b4ca501d09c788545d1fd7376ec Mon Sep 17 00:00:00 2001
From: Johan Thomsen <jth@dbc.dk>
Date: Fri, 23 Oct 2020 14:09:39 +0200
Subject: [PATCH 04/59] vector: add sinks, sources and transforms as nixpkgs
 default features

Don't include transform-geoip unless this feature is explicitly selected
---
 pkgs/tools/misc/vector/default.nix | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 37595702b686..701e86dbf901 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -4,9 +4,11 @@
 , tzdata
 
 , features ?
-    (if stdenv.isAarch64
+    ((if stdenv.isAarch64
      then [ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
      else [ "leveldb" "leveldb/leveldb-sys-2" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
+     ++
+     [ "sinks" "sources" "transforms" ])
 , coreutils
 , CoreServices
 }:
@@ -38,9 +40,20 @@ rustPlatform.buildRustPackage rec {
   # vector.dev during the checkPhase, which obviously isn't going to work.
   # these tests in the DNS module are trivial though, so stubbing them out is
   # fine IMO.
+  #
+  # the geoip transform yields maxmindb.so which contains references to rustc.
+  # neither figured out why the shared object is included in the output
+  # (it doesn't seem to be a runtime dependencies of the geoip transform),
+  # nor do I know why it depends on rustc.
+  # However, in order for the closure size to stay at a reasonable level,
+  # transforms-geoip is patched out of Cargo.toml for now - unless explicitly asked for.
   patchPhase = ''
     substituteInPlace ./src/dns.rs \
       --replace "#[test]" ""
+
+    ${lib.optionalString (!builtins.elem "transforms-geoip" features) ''
+        substituteInPlace ./Cargo.toml --replace '"transforms-geoip",' ""
+    ''}
   '';
 
   meta = with stdenv.lib; {

From 1e3f24f5f44c40bc752d55134142fa1df676f27a Mon Sep 17 00:00:00 2001
From: Scriptkiddi <fritz@otlinghaus.it>
Date: Thu, 8 Oct 2020 12:47:43 +0200
Subject: [PATCH 05/59] pythonPackages.googlemaps: init at 4.4.2

---
 .../python-modules/googlemaps/default.nix     | 34 +++++++++++++++++++
 pkgs/top-level/python-packages.nix            |  2 ++
 2 files changed, 36 insertions(+)
 create mode 100644 pkgs/development/python-modules/googlemaps/default.nix

diff --git a/pkgs/development/python-modules/googlemaps/default.nix b/pkgs/development/python-modules/googlemaps/default.nix
new file mode 100644
index 000000000000..7e13aedec475
--- /dev/null
+++ b/pkgs/development/python-modules/googlemaps/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, requests
+, responses, pytestCheckHook, pytest, pytestcov, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "googlemaps";
+  version = "4.4.2";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "googlemaps";
+    repo = "google-maps-services-python";
+    rev = "v${version}";
+    sha256 = "DYhW1OGce/0gY7Jmwq6iM45PxLyXIYo4Cfg2u6Xuyg4=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ pytestCheckHook responses pytestcov ];
+
+  disabledTests = [
+    # touches network
+    "test_elevation_along_path_single"
+    "test_transit_without_time"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/googlemaps/google-maps-services-python";
+    description = "Python client library for Google Maps API Web Services";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3d8980eb8add..f0e9de879807 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2498,6 +2498,8 @@ in {
 
   google-i18n-address = callPackage ../development/python-modules/google-i18n-address { };
 
+  googlemaps = callPackage ../development/python-modules/googlemaps { };
+
   google-music = callPackage ../development/python-modules/google-music { };
 
   google-music-proto = callPackage ../development/python-modules/google-music-proto { };

From c9b669a2839b9a559470362c6c3de4f5a3ac4b3b Mon Sep 17 00:00:00 2001
From: Arnout Engelen <arnout@bzzt.net>
Date: Sun, 27 Sep 2020 13:45:57 +0200
Subject: [PATCH 06/59] nixos.manual: introduce Wayland section

Co-Authored-By: Nicolas Berbiche <nicolas@normie.dev>
---
 .../manual/configuration/configuration.xml    |  1 +
 nixos/doc/manual/configuration/wayland.xml    | 23 +++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 nixos/doc/manual/configuration/wayland.xml

diff --git a/nixos/doc/manual/configuration/configuration.xml b/nixos/doc/manual/configuration/configuration.xml
index 6eb8f50bacac..44ff1f1b571a 100644
--- a/nixos/doc/manual/configuration/configuration.xml
+++ b/nixos/doc/manual/configuration/configuration.xml
@@ -18,6 +18,7 @@
  <xi:include href="user-mgmt.xml" />
  <xi:include href="file-systems.xml" />
  <xi:include href="x-windows.xml" />
+ <xi:include href="wayland.xml" />
  <xi:include href="gpu-accel.xml" />
  <xi:include href="xfce.xml" />
  <xi:include href="networking.xml" />
diff --git a/nixos/doc/manual/configuration/wayland.xml b/nixos/doc/manual/configuration/wayland.xml
new file mode 100644
index 000000000000..231c219cf081
--- /dev/null
+++ b/nixos/doc/manual/configuration/wayland.xml
@@ -0,0 +1,23 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="sec-wayland">
+ <title>Wayland</title>
+
+ <para>
+  While X11 (see <xref linkend="sec-x11"/>) is still the primary display
+  technology on NixOS, Wayland support is steadily improving.
+  Where X11 separates the X Server and the window manager, on Wayland those
+  are combined: a Wayland Compositor is like an X11 window manager, but also
+  embeds the Wayland 'Server' functionality. This means it is sufficient to
+  install a Wayland Compositor such as <package>sway</package> without
+  separately enabling a Wayland server:
+<programlisting>
+<xref linkend="opt-programs.sway.enable"/> = true;
+</programlisting>
+  This installs the <package>sway</package> compositor along with some
+  essential utilities. Now you can start <package>sway</package> from the TTY
+  console.
+ </para>
+</chapter>

From 0c54b757e9c2eeeb086b0977b14dff4c456b7d4a Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 2 Nov 2020 14:01:01 +0100
Subject: [PATCH 07/59] qemu: apply patch for CVE-2020-27617

An assert(3) failure issue was found in the networking helper functions of QEMU. It could occur in the eth_get_gso_type() routine, if a packet does not have a valid networking L3 protocol (ex. IPv4, IPv6) value. A guest user may use this flaw to crash the QEMU process on the host resulting in DoS scenario.

Fixes: CVE-2020-27617
---
 .../virtualization/qemu/CVE-2020-27617.patch  | 43 +++++++++++++++++++
 .../virtualization/qemu/default.nix           |  1 +
 2 files changed, 44 insertions(+)
 create mode 100644 pkgs/applications/virtualization/qemu/CVE-2020-27617.patch

diff --git a/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
new file mode 100644
index 000000000000..fa708b298365
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
@@ -0,0 +1,43 @@
+From 6d19c0cc6c5a9bba308fc29d7c0edc2dc372c41b Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Wed, 21 Oct 2020 11:35:50 +0530
+Subject: [PATCH] net: remove an assert call in eth_get_gso_type
+
+eth_get_gso_type() routine returns segmentation offload type based on
+L3 protocol type. It calls g_assert_not_reached if L3 protocol is
+unknown, making the following return statement unreachable. Remove the
+g_assert call, it maybe triggered by a guest user.
+
+Reported-by: Gaoning Pan <pgn@zju.edu.cn>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+---
+ net/eth.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/net/eth.c b/net/eth.c
+index 0c1d413ee2..eee77071f9 100644
+--- a/net/eth.c
++++ b/net/eth.c
+@@ -16,6 +16,7 @@
+  */
+ 
+ #include "qemu/osdep.h"
++#include "qemu/log.h"
+ #include "net/eth.h"
+ #include "net/checksum.h"
+ #include "net/tap.h"
+@@ -71,9 +72,8 @@ eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4proto)
+             return VIRTIO_NET_HDR_GSO_TCPV6 | ecn_state;
+         }
+     }
+-
+-    /* Unsupported offload */
+-    g_assert_not_reached();
++    qemu_log_mask(LOG_GUEST_ERROR, "%s: probably not GSO frame, "
++        "unknown L3 protocol: 0x%04"PRIx16"\n", __func__, l3_proto);
+ 
+     return VIRTIO_NET_HDR_GSO_NONE | ecn_state;
+ }
+-- 
+2.28.0
+
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 3c8672057996..2bace4f258d7 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -82,6 +82,7 @@ stdenv.mkDerivation rec {
     ./no-etc-install.patch
     ./fix-qemu-ga.patch
     ./9p-ignore-noatime.patch
+    ./CVE-2020-27617.patch
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
     ++ optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {

From 56fb786f8239c76dd90dd100d06987e9acb9fb42 Mon Sep 17 00:00:00 2001
From: Okina Matara <okinan@protonmail.com>
Date: Sat, 7 Nov 2020 02:41:16 -0600
Subject: [PATCH 08/59] looking-glass-client: B1 -> B2

---
 .../looking-glass-client/default.nix          | 32 ++++++++-----------
 1 file changed, 13 insertions(+), 19 deletions(-)

diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index a0ec55dd895b..74370aafa40e 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,36 +1,30 @@
-{ stdenv, fetchFromGitHub, fetchpatch
-, cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
-, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp
-, libXfixes, libbfd
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_ttf, spice-protocol
+, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp
+, libXi, libXext, wayland, libffi, libGLU, expat, libbfd
 }:
 
 stdenv.mkDerivation rec {
   pname = "looking-glass-client";
-  version = "B1";
+  version = "B2";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia";
+    sha256 = "100b5kzh8gr81kzw5fdqz2jsms25hv3815d31vy3qd6lrlm5gs3d";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig
-    libX11 freefont_ttf nettle libconfig wayland libpthreadstubs
-    libXdmcp libXfixes libbfd cmake
+    SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle
+    libpthreadstubs libXau libXdmcp libXi libXext wayland libffi libGLU expat
+    libbfd
   ];
 
-  enableParallelBuilding = true;
-
   sourceRoot = "source/client";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv looking-glass-client $out/bin
-  '';
+  NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem.
 
   meta = with stdenv.lib; {
     description = "A KVM Frame Relay (KVMFR) implementation";
@@ -41,9 +35,9 @@ stdenv.mkDerivation rec {
       step required to move away from dual booting with other operating systems
       for legacy programs that require high performance graphics.
     '';
-    homepage = "https://looking-glass.hostfission.com/";
+    homepage = "https://looking-glass.io/";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.alexbakker ];
+    maintainers = with maintainers; [ alexbakker ];
     platforms = [ "x86_64-linux" ];
   };
 }

From 726d307d2c1ebd43ff616a8f1ff9282202657bcf Mon Sep 17 00:00:00 2001
From: Tim Steinbach <tim@nequissimus.com>
Date: Thu, 5 Nov 2020 21:17:06 -0500
Subject: [PATCH 09/59] linux-hardened: 5.8.x -> 5.9.x

---
 pkgs/top-level/all-packages.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index bdcf09ef4d21..39b4f5807ea7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18354,7 +18354,7 @@ in
   # Hardened Linux
   hardenedLinuxPackagesFor = kernel': overrides:
     let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates:
-      linux_latest_for_hardened = pkgs.linux_5_8;
+      linux_latest_for_hardened = pkgs.linux_5_9;
       kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides;
     in linuxPackagesFor (kernel.override {
       structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {

From ae17a85324be66255a27c16b4f9b2d2a225c5d89 Mon Sep 17 00:00:00 2001
From: Mario Rodas <marsam@users.noreply.github.com>
Date: Sun, 8 Nov 2020 04:20:00 +0000
Subject: [PATCH 10/59] dogdns: fix build on darwin

---
 pkgs/tools/networking/dogdns/default.nix | 6 ++++--
 pkgs/top-level/all-packages.nix          | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix
index 2875f2025151..0389d733599e 100644
--- a/pkgs/tools/networking/dogdns/default.nix
+++ b/pkgs/tools/networking/dogdns/default.nix
@@ -3,6 +3,7 @@
 , rustPlatform
 , pkg-config
 , openssl
+, Security
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,8 +17,9 @@ rustPlatform.buildRustPackage rec {
     sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ];
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
   cargoSha256 = "08scc6vh703245rg3xkffhalrk5pisd0wg54fd49d7gdbyjivgi6";
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9f881a85ccac..dec617067132 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3355,7 +3355,9 @@ in
 
   dog = callPackage ../tools/system/dog { };
 
-  dogdns = callPackage ../tools/networking/dogdns { };
+  dogdns = callPackage ../tools/networking/dogdns {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   dosfstools = callPackage ../tools/filesystems/dosfstools { };
 

From f4e11121fe4f6664c78b15f0891b96fb059a5b1b Mon Sep 17 00:00:00 2001
From: Mario Rodas <marsam@users.noreply.github.com>
Date: Sun, 8 Nov 2020 04:20:00 +0000
Subject: [PATCH 11/59] dogdns: install completions

---
 pkgs/tools/networking/dogdns/default.nix | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix
index 0389d733599e..71e065e5d14c 100644
--- a/pkgs/tools/networking/dogdns/default.nix
+++ b/pkgs/tools/networking/dogdns/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , openssl
 , Security
+, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -17,12 +18,17 @@ rustPlatform.buildRustPackage rec {
     sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy";
   };
 
-  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+  nativeBuildInputs = [ installShellFiles ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
   cargoSha256 = "08scc6vh703245rg3xkffhalrk5pisd0wg54fd49d7gdbyjivgi6";
 
+  postInstall = ''
+    installShellCompletion completions/dog.{bash,fish,zsh}
+  '';
+
   meta = with stdenv.lib; {
     description = "Command-line DNS client";
     homepage = "https://dns.lookup.dog";

From cea51f0cb92b120a1d60b2d34a4a1acc2808ce5f Mon Sep 17 00:00:00 2001
From: Mario Rodas <marsam@users.noreply.github.com>
Date: Sun, 8 Nov 2020 04:20:00 +0000
Subject: [PATCH 12/59] go-chromecast: init at 0.2.5

---
 .../video/go-chromecast/default.nix           | 24 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 ++
 2 files changed, 26 insertions(+)
 create mode 100644 pkgs/applications/video/go-chromecast/default.nix

diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
new file mode 100644
index 000000000000..89c2eb425ce6
--- /dev/null
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "go-chromecast";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "vishen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y1zwy1bxnjz409vdhqwykvfjhrsyy4j503v3rjrrhkcca6vfbyg";
+  };
+
+  vendorSha256 = "04mgm3afgczq0an6ys8bilxv1hgzfwvgjx21fyl82yxd573rsf5r";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/vishen/go-chromecast";
+    description = "CLI for Google Chromecast, Home devices and Cast Groups";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9f881a85ccac..f578815d61e3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2145,6 +2145,8 @@ in
 
   gdrive = callPackage ../applications/networking/gdrive { };
 
+  go-chromecast = callPackage ../applications/video/go-chromecast { };
+
   go-rice = callPackage ../tools/misc/go.rice {};
 
   go-2fa = callPackage ../tools/security/2fa {};

From b3e07c753289818df5e18a4f10a5121b699d73ce Mon Sep 17 00:00:00 2001
From: Konrad Borowski <konrad@borowski.pw>
Date: Sun, 8 Nov 2020 12:41:19 +0100
Subject: [PATCH 13/59] altcoins.freicoin: remove

---
 pkgs/applications/blockchains/freicoin.nix | 41 ----------------------
 pkgs/top-level/all-packages.nix            |  1 -
 2 files changed, 42 deletions(-)
 delete mode 100644 pkgs/applications/blockchains/freicoin.nix

diff --git a/pkgs/applications/blockchains/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix
deleted file mode 100644
index cc28fff96c47..000000000000
--- a/pkgs/applications/blockchains/freicoin.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  version = "0.8.6-2";
-  pname = "freicoin";
-
-  src = fetchFromGitHub {
-    owner = "freicoin";
-    repo = "freicoin";
-    rev = "v${version}";
-    sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
-  };
-
-  enableParallelBuilding = false;
-
-  qmakeFlags = ["USE_UPNP=-"];
-
-  # I think that openssl and zlib are required, but come through other
-  # packages
-
-  preBuild = "unset AR";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp freicoin-qt $out/bin
-  '';
-
-  nativeBuildInputs = [ qmake4Hook ];
-  buildInputs = [ db boost gmp mpfr qt4 ];
-
-  meta = with stdenv.lib; {
-    description = "Peer-to-peer currency with demurrage fee";
-    homepage = "http://freicoi.in/";
-    license = licenses.mit;
-    maintainers = [ maintainers.viric ];
-    platforms = platforms.linux;
-
-    # upstream doesn't support newer openssl versions, use 1.0.1 for testing
-    broken = true;
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e65aa28b25b8..16aa6b117053 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24793,7 +24793,6 @@ in
 
   exodus = callPackage ../applications/blockchains/exodus { };
 
-  freicoin = callPackage ../applications/blockchains/freicoin.nix { boost = boost155; };
   go-ethereum = callPackage ../applications/blockchains/go-ethereum.nix {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) IOKit;

From 412b1c3ee5f9c78caf4273f78f99af940e014c56 Mon Sep 17 00:00:00 2001
From: meutraa <paul@lost.host>
Date: Sun, 8 Nov 2020 14:03:32 +0000
Subject: [PATCH 14/59] androidStudioPackages.{canary,dev}: 4.2.0.15 ->
 4.2.0.16

---
 pkgs/applications/editors/android-studio/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 3a5bc63e1c38..cca7b0b2f41f 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -19,9 +19,9 @@ let
     sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88=";
   };
   latestVersion = { # canary & dev
-    version = "4.2.0.15"; # "Android Studio 4.2 Canary 15"
-    build = "202.6922807";
-    sha256Hash = "sha256-PXFNnPSJbdp9NtkMDR3Vq+vpWqd85Io2FmXPhRLRk/8=";
+    version = "4.2.0.16"; # "Android Studio 4.2 Canary 16"
+    build = "202.6939830";
+    sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE=";
   };
 in {
   # Attributes are named by their corresponding release channels

From a5c97364b3d88df3b76729a9fd181cc6189d24f2 Mon Sep 17 00:00:00 2001
From: Jonathan Strickland <djanatyn@gmail.com>
Date: Sun, 8 Nov 2020 20:03:25 -0500
Subject: [PATCH 15/59] fend: init at 0.1.9

---
 pkgs/tools/misc/fend/default.nix | 22 ++++++++++++++++++++++
 pkgs/top-level/all-packages.nix  |  2 ++
 2 files changed, 24 insertions(+)
 create mode 100644 pkgs/tools/misc/fend/default.nix

diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
new file mode 100644
index 000000000000..ee91c66cc82a
--- /dev/null
+++ b/pkgs/tools/misc/fend/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fend";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "printfn";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11cvpg7j2rvqri16cr3gb6dpm7dzgs3vywhdc91aa531f87qj16c";
+  };
+
+  cargoSha256 = "0q9gkvbay6rnb0nd14z71h3506yzn9610zc6g8wbpgmw6cpwvbg9";
+
+  meta = with lib; {
+    description = "Arbitrary-precision unit-aware calculator";
+    homepage = "https://github.com/printfn/fend";
+    license = licenses.mit;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fde911a0a7c2..6e6dd8c5fbf1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3790,6 +3790,8 @@ in
 
   feedreader = callPackage ../applications/networking/feedreaders/feedreader {};
 
+  fend = callPackage ../tools/misc/fend { };
+
   ferm = callPackage ../tools/networking/ferm { };
 
   ffsend = callPackage ../tools/misc/ffsend { };

From 523debafc4e8adf8d9d329f84a8fa2139e2f5e19 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Janne=20He=C3=9F?= <janne@hess.ooo>
Date: Mon, 9 Nov 2020 12:36:03 +0100
Subject: [PATCH 16/59] asterisk: Bump all packages

---
 pkgs/servers/asterisk/default.nix | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index c5c2f6d513d0..aa4b2a64150e 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -105,8 +105,8 @@ in rec {
   asterisk = asterisk_18;
 
   asterisk_13 = common {
-    version = "13.37.0";
-    sha256 = "09wc6cqh4f15wm62drzdppwvh7nwgnbwapvz1kgb0qdgixsshn3v";
+    version = "13.37.1";
+    sha256 = "1zc3104zw4y7i8bhhgrgy3snq0zr1904p64ykfc3ldh4xyfy3ld6";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -114,8 +114,8 @@ in rec {
   };
 
   asterisk_16 = common {
-    version = "16.14.0";
-    sha256 = "1y120p4jlhg4iwihdxlk64y3y3n8w7y785lwqxsyqg6zviz0ghx6";
+    version = "16.14.1";
+    sha256 = "1lhh3npyy8hvy29jwjgapnxfjv1ahp2qdi4iq1d6a61ffhd20vfs";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -123,8 +123,8 @@ in rec {
   };
 
   asterisk_17 = common {
-    version = "17.8.0";
-    sha256 = "0xhwh8s8n8xg43gcdkqjj484assva7lm5ah1b306a5nf6j8p9bjy";
+    version = "17.8.1";
+    sha256 = "0m7gw01kpvsc0f9lb1hiq5b4g1fdh4gdfyxlqxp6m37vgxh2a48p";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -132,8 +132,8 @@ in rec {
   };
 
   asterisk_18 = common {
-    version = "18.0.0";
-    sha256 = "174zasx8d7ragy2fz4vwc4pbra9wl471mnisz1z0a3b2qsbh4y4v";
+    version = "18.0.1";
+    sha256 = "1kyly10pk7bpfqg3mjbvb8p795fnj9lvd29yp2xsxwgsqi1dn9p8";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;

From 2f5593b3a39b1f94e21511f79839b79e25a6d2e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carles=20Pag=C3=A8s?= <page@ruiec.cat>
Date: Mon, 9 Nov 2020 14:36:21 +0100
Subject: [PATCH 17/59] kodi: 18.8 -> 18.9

---
 pkgs/applications/video/kodi/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index fcbb546a1fa1..a60250ee0ff1 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -45,14 +45,14 @@ assert useWayland -> wayland != null && wayland-protocols != null && waylandpp !
 
 let
   kodiReleaseDate = "20200728";
-  kodiVersion = "18.8";
+  kodiVersion = "18.9";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva";
+    sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
   };
 
   cmakeProto = fetchurl {

From 30b932e46b13a9ad6640c0429c97c2af20458228 Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Mon, 9 Nov 2020 14:25:24 +0000
Subject: [PATCH 18/59] =?UTF-8?q?glib:=202.66.1=20=E2=86=92=202.66.2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes compatibility with recent tzdata.

https://ftp.gnome.org/pub/GNOME/sources/glib/2.66/glib-2.66.2.news
---
 pkgs/development/libraries/glib/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 5a498991c670..de874a798b2b 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,11 +45,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.66.1";
+  version = "2.66.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0q7g70j6vjvcw4xf6bbfkm4j6mradcabdcdcy4gs5hxwkzkgysd2";
+    sha256 = "1i0pd8y6xz64qlzfj73wxyqp0x7x9j6mwf4gj6ggil4d9vnhnfgc";
   };
 
   patches = optionals stdenv.isDarwin [

From feb893a6f862db5d54a5b925815a2c1aaf43ec56 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 9 Nov 2020 17:56:06 +0100
Subject: [PATCH 19/59] element-web: 1.7.12 -> 1.7.13

https://github.com/vector-im/element-web/releases/tag/v1.7.13
---
 .../networking/instant-messengers/element/element-web.nix     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index 0d3e771630fd..93f9e34f8671 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.7.12";
+  version = "1.7.13";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "173hdg09cw13vqh0lvz6kl0mq4i3rsacjxhspkpydh2qd1g3hjrs";
+    sha256 = "13ylzyr1kkrppvp86kih60pqxlsvqlcsgz2gj4azgmrf2bijfby3";
   };
 
   installPhase = ''

From ad63addc5e97fa67272579fb3185d8226b3b6bc4 Mon Sep 17 00:00:00 2001
From: Maximilian Bosch <maximilian@mbosch.me>
Date: Mon, 9 Nov 2020 17:56:21 +0100
Subject: [PATCH 20/59] element-desktop: 1.7.12 -> 1.7.13

https://github.com/vector-im/element-desktop/releases/tag/v1.7.13
---
 .../instant-messengers/element/element-desktop-package.json   | 2 +-
 .../networking/instant-messengers/element/element-desktop.nix | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 364f5a25d0af..871850fd6a69 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "src/electron-main.js",
-  "version": "1.7.12",
+  "version": "1.7.13",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index b31841c5e79a..4f387045bb4b 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -8,12 +8,12 @@
 
 let
   executableName = "element-desktop";
-  version = "1.7.12";
+  version = "1.7.13";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-desktop";
     rev = "v${version}";
-    sha256 = "08d9llrglap5bbicdkbdl9l71wba2kkyhdyd0a4iqdz3l2jvv698";
+    sha256 = "04nm5amhc0bqqwcc1c9x88lnbjaaryfs0xhi4as65l5ac4jdkzjc";
   };
   electron = electron_9;
 

From bd25321863c63b1b1996e7f7deb471e0cc06a557 Mon Sep 17 00:00:00 2001
From: Michael Weiss <dev.primeos@gmail.com>
Date: Mon, 9 Nov 2020 18:24:45 +0100
Subject: [PATCH 21/59] sshfs: 3.7.0 -> 3.7.1

---
 pkgs/tools/filesystems/sshfs-fuse/default.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 018dfe7858e3..3922851af331 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub
-, meson, pkgconfig, ninja, docutils, makeWrapper
+, meson, pkg-config, ninja, docutils, makeWrapper
 , fuse3, glib
 , which, python3Packages
 , openssh
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.0";
+  version = "3.7.1";
   pname = "sshfs-fuse";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "sshfs";
     rev = "sshfs-${version}";
-    sha256 = "119qvjaai3nqs2psqk2kv4gxjchrnrcfnmlwk7yxnj3v59pgyxhv";
+    sha256 = "088mgcsqv9f2vly4xn6lvvkmqkgr9jjmjs9qp8938hl7j6rrgd17";
   };
 
-  nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ];
+  nativeBuildInputs = [ meson pkg-config ninja docutils makeWrapper ];
   buildInputs = [ fuse3 glib ];
   checkInputs = [ which python3Packages.pytest ];
 

From 51e55942cc43917cd57adf94e78b5574ff8400b9 Mon Sep 17 00:00:00 2001
From: Michael Weiss <dev.primeos@gmail.com>
Date: Mon, 9 Nov 2020 18:25:09 +0100
Subject: [PATCH 22/59] llvmPackages_latest: llvmPackages_10 -> llvmPackages_11

---
 pkgs/top-level/all-packages.nix | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8cb08bce062d..c62bcaedafb5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9624,7 +9624,7 @@ in
     stdenv = gcc7Stdenv;
   });
 
-  llvmPackages_latest = llvmPackages_10;
+  llvmPackages_latest = llvmPackages_11;
 
   llvmPackages_rocm = callPackage ../development/compilers/llvm/rocm { };
 

From e13120bb098f25ac552570c2f9ea5908ef102a50 Mon Sep 17 00:00:00 2001
From: "Markus S. Wamser" <github-dev@mail2013.wamser.eu>
Date: Tue, 13 Oct 2020 21:47:08 +0200
Subject: [PATCH 23/59] mupdf: 1.17.0 -> 1.18.0

fixes CVE-2017-5991
fixes CVE-2020-26519

also drops the patch for shared libs (not needed anymore)
---
 pkgs/applications/misc/mupdf/default.nix      | 14 ++++---
 .../misc/mupdf/mupdf-1.14-shared_libs.patch   | 39 -------------------
 2 files changed, 8 insertions(+), 45 deletions(-)
 delete mode 100644 pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch

diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 61eb32bbd5cd..ecefbd17cfe0 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
 , jbig2dec, libjpeg , darwin
+, gumbo
 , enableX11 ? true, libX11, libXext, libXi, libXrandr
 , enableCurl ? true, curl, openssl
 , enableGL ? true, freeglut, libGLU
@@ -13,27 +14,28 @@ let
 
 
 in stdenv.mkDerivation rec {
-  version = "1.17.0";
+  version = "1.18.0";
   pname = "mupdf";
 
   src = fetchurl {
     url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
-    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+    sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
   };
 
   patches =
-    # Use shared libraries to decrease size
-    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
-    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+    stdenv.lib.optional stdenv.isDarwin ./darwin.patch
   ;
 
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
   '';
 
+  # Use shared libraries to decrease size
+  buildFlags = [ "shared" ];
+
   makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ]
                 ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
                 ++ lib.optionals enableCurl [ curl openssl ]
                 ++ lib.optionals enableGL (
diff --git a/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch b/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch
deleted file mode 100644
index 131a1bbbf6bd..000000000000
--- a/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- mupdf-1.14.0-source.orig/Makefile	2018-11-02 06:57:12.114012496 +0100
-+++ mupdf-1.14.0-source/Makefile	2018-11-02 09:57:10.067945307 +0100
-@@ -20,7 +20,7 @@
- # Do not specify CFLAGS or LIBS on the make invocation line - specify
- # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
- # set a variable that was set on the command line.
--CFLAGS += $(XCFLAGS) -Iinclude
-+CFLAGS += $(XCFLAGS) -Iinclude -fPIC
- LIBS += $(XLIBS) -lm
- 
- ifneq ($(threading),no)
-@@ -190,17 +190,21 @@
- 
- # --- Library ---
- 
--MUPDF_LIB = $(OUT)/libmupdf.a
--THIRD_LIB = $(OUT)/libmupdf-third.a
--THREAD_LIB = $(OUT)/libmupdf-threads.a
--PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
-+MUPDF_LIB = $(OUT)/libmupdf.so
-+THIRD_LIB = $(OUT)/libmupdf-third.so
-+THREAD_LIB = $(OUT)/libmupdf-threads.so
-+PKCS7_LIB = $(OUT)/libmupdf-pkcs7.so
- 
--$(MUPDF_LIB) : $(MUPDF_OBJ)
-+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB)
-+	$(LINK_CMD) $(THIRD_LIBS) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined
- $(THIRD_LIB) : $(THIRD_OBJ)
-+	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so -Wl,--no-undefined
- $(THREAD_LIB) : $(THREAD_OBJ)
-+	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-threads.so -Wl,--no-undefined -lpthread
- $(PKCS7_LIB) : $(PKCS7_OBJ)
-+	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-pkcs7.so
- 
--INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
-+INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB)
- 
- # --- Main tools and viewers ---
- 

From bbcc8b020e3b2bf3154084174f66e5ae731ef065 Mon Sep 17 00:00:00 2001
From: "Markus S. Wamser" <github-dev@mail2013.wamser.eu>
Date: Tue, 13 Oct 2020 22:41:11 +0200
Subject: [PATCH 24/59] mupdf: adopt post-release bugfix-patches from upstream

---
 pkgs/applications/misc/mupdf/default.nix | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index ecefbd17cfe0..836d970a2b55 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -23,8 +23,23 @@ in stdenv.mkDerivation rec {
   };
 
   patches =
-    stdenv.lib.optional stdenv.isDarwin ./darwin.patch
-  ;
+    stdenv.lib.optional stdenv.isDarwin ./darwin.patch ++ [
+    (fetchpatch {
+        name = "pdfocr.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
+        sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
+      })
+    (fetchpatch {
+        name = "pdf-layer.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
+        sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
+      })
+    (fetchpatch {
+        name = "pixmap.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
+        sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
+      })
+    ];
 
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c

From 3c7e7b87b3fd3f7cf67015eddddee354def28594 Mon Sep 17 00:00:00 2001
From: "Markus S. Wamser" <github-dev@mail2013.wamser.eu>
Date: Tue, 13 Oct 2020 22:47:50 +0200
Subject: [PATCH 25/59] pymupdf: 1.17.6 -> 1.18.0

---
 pkgs/development/python-modules/pymupdf/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index bc2f2c6e95ff..c3cf43be01af 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
 buildPythonPackage rec {
   pname = "PyMuPDF";
-  version = "1.17.6";
+  version = "1.18.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5eef4ff61698016a296932858625a5a0039b923ba692043e2c98ca02966f1da2";
+    sha256 = "64ce58f92d9edd2631e447175fa13b4024ac3b6dce6e718e0b003c41de6f7952";
   };
 
   patchPhase = ''

From a08a95acd987f5ca748bdb4912c94bddaaca1fb3 Mon Sep 17 00:00:00 2001
From: "Markus S. Wamser" <github-dev@mail2013.wamser.eu>
Date: Wed, 14 Oct 2020 07:16:08 +0200
Subject: [PATCH 26/59] llpp: 32 -> 33

---
 pkgs/applications/misc/llpp/default.nix       | 10 +++----
 .../misc/llpp/fix-build-bash.patch            | 28 ++++++++++---------
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index d7752258df98..c16322ad84fa 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU, libGL, freetype, xclip, inotify-tools, procps }:
+{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz,
+libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
 stdenv.mkDerivation rec {
   pname = "llpp";
-  version = "32";
+  version = "33";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
     rev = "v${version}";
-    sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y";
+    sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs";
     fetchSubmodules = false;
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch
index fbc341c8af78..c12828f2d94d 100644
--- a/pkgs/applications/misc/llpp/fix-build-bash.patch
+++ b/pkgs/applications/misc/llpp/fix-build-bash.patch
@@ -1,8 +1,9 @@
 diff --git a/build.bash b/build.bash
 index 7c278b6..41494c5 100755
+with manual adjustments
 --- a/build.bash
 +++ b/build.bash
-@@ -29,7 +29,6 @@ srcd="$(dirname $0)"
+@@ -30,7 +30,6 @@ srcd="$(dirname $0)"
  mudir=$outd/mupdf
  muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
  
@@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755
  
  mkdir -p $outd/{$wsid,lablGL}
  :>$outd/ordered
-@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
- mbt=${mbt:-native}
- mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a
+@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
+ mulibst="$mudir/build/$mbt/libs"
+ mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
  
 -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
--isfresh "$mulibs" "$(eval $keycmd)" || (
+-isfresh "$mulibst" "$(eval $keycmd)" || (
 -    make -C "$mudir" build=$mbt -j $mjobs libs
--    eval $keycmd >$mudir/build/$mbt/libmupdf.a.past
+-    eval $keycmd >${mulibst}.past
 -) && vecho "fresh mupdf"
 -
  oincs() {
      local i=
      local incs1=
-@@ -89,34 +82,6 @@ mflags() {
+@@ -100,35 +93,6 @@ mflags() {
  }
  
  overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
--test "$overs" = "4.10.0" || {
--    url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz
+-test "$overs" = "4.11.1" || {
+-    url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz
 -    txz=$outd/$(basename $url)
 -    keycmd="printf $url; digest $txz;"
 -    isfresh $txz "$(eval $keycmd)" || {
@@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755
 -        tar xf $txz -C $outd
 -        bn=$(basename $url)
 -        cd $outd/${bn%.tar.xz}
--        ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix
+-        ./configure --disable-ocamldoc --disable-ocamltest      \
+-                    --enable-debugger=no --prefix=$absprefix
 -        make -j $mjobs world
 -        make install
 -        eval $keycmd >$absprefix/bin/ocamlc.past
@@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755
  
  ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
                        { read _ c; echo $c; })}
-@@ -230,7 +195,7 @@ bobjc() {
+@@ -243,7 +208,7 @@ bobjc() {
      } && vecho "fresh $o"
  }
  
@@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755
  
  cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
  keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
-@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do
+@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do
  done
  
  libs="str.cma unix.cma"
 -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
-+clibs="-lmupdf -lfreetype -lpthread"
++clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz"
  if $darwin; then
      mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
      clibs="$clibs -framework Cocoa -framework OpenGL"

From 9ed8e03a09a127e4dfdbd00524ede239b94cac78 Mon Sep 17 00:00:00 2001
From: "Markus S. Wamser" <github-dev@mail2013.wamser.eu>
Date: Wed, 14 Oct 2020 09:39:58 +0200
Subject: [PATCH 27/59] mupdf: mark 1.17 as insecure but as still required as
 dependency

---
 pkgs/applications/misc/k2pdfopt/default.nix   |  4 +-
 pkgs/applications/misc/mupdf/1.17.nix         | 95 +++++++++++++++++++
 .../misc/mupdf/mupdf-1.14-shared_libs.patch   | 39 ++++++++
 pkgs/os-specific/linux/jfbview/default.nix    |  4 +-
 pkgs/top-level/all-packages.nix               |  1 +
 5 files changed, 139 insertions(+), 4 deletions(-)
 create mode 100644 pkgs/applications/misc/mupdf/1.17.nix
 create mode 100644 pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch

diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 75e467d4cdf8..be61a76190a2 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -2,7 +2,7 @@
 , cmake, pkgconfig, zlib, libpng, makeWrapper
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
-, enableMuPDF ? true, mupdf
+, enableMuPDF ? true, mupdf_1_17
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
@@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
         cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
       '';
     };
-    mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: {
+    mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: {
       patches = patches ++ [ mupdf_patch ];
       # This function is missing in font.c, see font-win32.c
       postPatch = ''
diff --git a/pkgs/applications/misc/mupdf/1.17.nix b/pkgs/applications/misc/mupdf/1.17.nix
new file mode 100644
index 000000000000..c6243e5f1d6b
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/1.17.nix
@@ -0,0 +1,95 @@
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
+, jbig2dec, libjpeg , darwin
+, enableX11 ? true, libX11, libXext, libXi, libXrandr
+, enableCurl ? true, curl, openssl
+, enableGL ? true, freeglut, libGLU
+}:
+
+let
+
+  # OpenJPEG version is hardcoded in package source
+  openJpegVersion = with stdenv;
+    lib.versions.majorMinor (lib.getVersion openjpeg);
+
+
+in stdenv.mkDerivation rec {
+  version = "1.17.0";
+  pname = "mupdf";
+
+  src = fetchurl {
+    url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
+    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+  };
+
+  patches =
+    # Use shared libraries to decrease size
+    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+  ;
+
+  postPatch = ''
+    sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
+  '';
+
+  makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+                ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
+                ++ lib.optionals enableCurl [ curl openssl ]
+                ++ lib.optionals enableGL (
+                  if stdenv.isDarwin then
+                    with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
+                  else
+                    [ freeglut libGLU ])
+                ;
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  preConfigure = ''
+    # Don't remove mujs because upstream version is incompatible
+    rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: mupdf
+    Description: Library for rendering PDF documents
+    Version: ${version}
+    Libs: -L$out/lib -lmupdf -lmupdf-third
+    Cflags: -I$dev/include
+    EOF
+
+    moveToOutput "bin" "$bin"
+    ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
+    mkdir -p $bin/share/applications
+    cat > $bin/share/applications/mupdf.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Version=1.0
+    Name=mupdf
+    Comment=PDF viewer
+    Exec=$bin/bin/mupdf-x11 %f
+    Terminal=false
+    MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
+    EOF
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://mupdf.com";
+    repositories.git = "git://git.ghostscript.com/mupdf.git";
+    description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ vrthra fpletz ];
+    platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2020-26519: denial of service when parsing JBIG2"
+      "CVE-2017-5991: NULL pointer dereference"
+    ];
+  };
+}
diff --git a/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch b/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch
new file mode 100644
index 000000000000..131a1bbbf6bd
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch
@@ -0,0 +1,39 @@
+--- mupdf-1.14.0-source.orig/Makefile	2018-11-02 06:57:12.114012496 +0100
++++ mupdf-1.14.0-source/Makefile	2018-11-02 09:57:10.067945307 +0100
+@@ -20,7 +20,7 @@
+ # Do not specify CFLAGS or LIBS on the make invocation line - specify
+ # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
+ # set a variable that was set on the command line.
+-CFLAGS += $(XCFLAGS) -Iinclude
++CFLAGS += $(XCFLAGS) -Iinclude -fPIC
+ LIBS += $(XLIBS) -lm
+ 
+ ifneq ($(threading),no)
+@@ -190,17 +190,21 @@
+ 
+ # --- Library ---
+ 
+-MUPDF_LIB = $(OUT)/libmupdf.a
+-THIRD_LIB = $(OUT)/libmupdf-third.a
+-THREAD_LIB = $(OUT)/libmupdf-threads.a
+-PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
++MUPDF_LIB = $(OUT)/libmupdf.so
++THIRD_LIB = $(OUT)/libmupdf-third.so
++THREAD_LIB = $(OUT)/libmupdf-threads.so
++PKCS7_LIB = $(OUT)/libmupdf-pkcs7.so
+ 
+-$(MUPDF_LIB) : $(MUPDF_OBJ)
++$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB)
++	$(LINK_CMD) $(THIRD_LIBS) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined
+ $(THIRD_LIB) : $(THIRD_OBJ)
++	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so -Wl,--no-undefined
+ $(THREAD_LIB) : $(THREAD_OBJ)
++	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-threads.so -Wl,--no-undefined -lpthread
+ $(PKCS7_LIB) : $(PKCS7_OBJ)
++	$(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-pkcs7.so
+ 
+-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB)
++INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB)
+ 
+ # --- Main tools and viewers ---
+ 
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index f8e211fb289f..7984e2678070 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg
+, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf_1_17, ncurses, openjpeg
 , openssl
 
 , imageSupport ? true, imlib2 ? null }:
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   buildInputs = [
-    freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg
+    freetype harfbuzz jbig2dec libjpeg libX11 mupdf_1_17 ncurses openjpeg
     openssl
   ] ++ stdenv.lib.optionals imageSupport [
     imlib2
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8cb08bce062d..d2d7c0c1aacb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -22672,6 +22672,7 @@ in
   pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { };
 
   mupdf = callPackage ../applications/misc/mupdf { };
+  mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { };
 
   mystem = callPackage ../applications/misc/mystem { };
 

From 35294d8c5095e0df4dd88c6bb14f3b2c1ef5d5b1 Mon Sep 17 00:00:00 2001
From: Pavol Rusnak <pavol@rusnak.io>
Date: Mon, 9 Nov 2020 19:26:28 +0100
Subject: [PATCH 28/59] trezord: 2.0.29 -> 2.0.30

---
 pkgs/servers/trezord/default.nix | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index a59f74873dc5..a6841f7fabed 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, trezor-udev-rules }:
+{ stdenv
+, buildGoModule
+, fetchFromGitHub
+, trezor-udev-rules
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "trezord-go";
-  version = "2.0.29";
-
-  goPackagePath = "github.com/trezor/trezord-go";
+  version = "2.0.30";
 
   src = fetchFromGitHub {
     owner  = "trezor";
     repo   = "trezord-go";
     rev    = "v${version}";
-    sha256 = "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp";
+    sha256 = "1hzvk0wfgg7b4wpqjk3738yqxlv3pj5i7zxwm0jady2h97hmrqrr";
   };
 
+  vendorSha256 = "0wb959xzyvr5zzjvkfqc422frmf97q5nr460f02wwx0pj6ch0y61";
+
   propagatedBuildInputs = [ trezor-udev-rules ];
 
   meta = with stdenv.lib; {

From 48b2cb5126959524e0558ebe9377a2b33c79656d Mon Sep 17 00:00:00 2001
From: Michael Weiss <dev.primeos@gmail.com>
Date: Mon, 9 Nov 2020 19:33:02 +0100
Subject: [PATCH 29/59] google-cloud-cpp: Mark as broken

See https://hydra.nixos.org/build/129622012.
---
 pkgs/development/libraries/google-cloud-cpp/default.nix | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix
index 7eb69d075cab..b2d8856bfea1 100644
--- a/pkgs/development/libraries/google-cloud-cpp/default.nix
+++ b/pkgs/development/libraries/google-cloud-cpp/default.nix
@@ -58,5 +58,6 @@ in stdenv.mkDerivation rec {
     homepage = "https://github.com/googleapis/google-cloud-cpp";
     description = "C++ Idiomatic Clients for Google Cloud Platform services";
     maintainers = with maintainers; [ andir flokli ];
+    broken = true; # Broken on Hydra since 2020-05-19
   };
 }

From c1e5f8723ceb684c8d501d4d4ae738fef704747e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Domen=20Ko=C5=BEar?= <domen@dev.si>
Date: Mon, 9 Nov 2020 20:17:41 +0100
Subject: [PATCH 30/59] cachix: bump to 0.5.1

---
 pkgs/development/haskell-modules/configuration-nix.nix | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index a74b1eb05cd5..7c233ade7427 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -95,7 +95,15 @@ self: super: builtins.intersectAttrs super {
   sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
 
   # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8
-  cachix = disableLibraryProfiling super.cachix;
+  cachix = overrideSrc (disableLibraryProfiling super.cachix) {
+    src = (pkgs.fetchFromGitHub {
+      owner = "cachix";
+      repo = "cachix";
+      rev = "1471050f5906ecb7cd0d72115503d07d2e3beb17";
+      sha256 = "1lkrmhv5x9dpy53w33kxnhv4x4qm711ha8hsgccrjmxaqcsdm59g";
+    }) + "/cachix";
+    version = "0.5.1";
+  };
   hercules-ci-agent = disableLibraryProfiling super.hercules-ci-agent;
 
   # avoid compiling twice by providing executable as a separate output (with small closure size)

From 2472122bf39f2baf545bc113bda7b50681b7f138 Mon Sep 17 00:00:00 2001
From: Phillip Cloud <417981+cpcloud@users.noreply.github.com>
Date: Mon, 9 Nov 2020 14:43:52 -0500
Subject: [PATCH 31/59] arcanist: copy directly from $PWD to pick up any
 applied patches (#95879)

---
 .../tools/misc/arcanist/default.nix           | 32 +++++++++++--------
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index fcddf1d0cacc..14ef09ee7ed0 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchFromGitHub, php, flex }:
+{ bison
+, fetchFromGitHub
+, flex
+, php
+, stdenv
+}:
 
 # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
 # invoked and complains about it being an unknown toolset. We could use `makeWrapper`, but
 # then we’d need to still craft a script that does the `php libexec/arcanist/bin/...` dance
 # anyway... So just do everything at once.
 let makeArcWrapper = toolset: ''
-    cat << WRAPPER > $out/bin/${toolset}
-    #!$shell -e
-    export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
-    exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
-    WRAPPER
-    chmod +x $out/bin/${toolset}
+  cat << WRAPPER > $out/bin/${toolset}
+  #!$shell -e
+  export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
+  exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
+  WRAPPER
+  chmod +x $out/bin/${toolset}
 '';
 
 in
-
 stdenv.mkDerivation {
   pname = "arcanist";
   version = "20200711";
@@ -25,7 +29,7 @@ stdenv.mkDerivation {
     rev = "2565cc7b4d1dbce6bc7a5b3c4e72ae94be4712fe";
     sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
   };
-  buildInputs = [ php flex ];
+  buildInputs = [ bison flex php ];
 
   postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
     substituteInPlace support/xhpast/Makefile \
@@ -33,13 +37,15 @@ stdenv.mkDerivation {
   '';
 
   buildPhase = ''
+    make cleanall -C support/xhpast
     make xhpast -C support/xhpast
   '';
 
   installPhase = ''
     mkdir -p $out/bin $out/libexec
     make install -C support/xhpast
-    cp -R $src $out/libexec/arcanist
+    make cleanall -C support/xhpast
+    cp -R . $out/libexec/arcanist
 
     ${makeArcWrapper "arc"}
     ${makeArcWrapper "phage"}
@@ -53,9 +59,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Command line interface to Phabricator";
-    homepage    = "http://phabricator.org";
-    license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    homepage = "http://phabricator.org";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }

From e50d10b4aac7581f25b5825fdf243404585df122 Mon Sep 17 00:00:00 2001
From: 06kellyjac <dev@j-k.io>
Date: Mon, 9 Nov 2020 20:00:47 +0000
Subject: [PATCH 32/59] deno: 1.5.1 -> 1.5.2

---
 pkgs/development/web/deno/default.nix | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 0c60821102dd..00c9a1a29b82 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -18,16 +18,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19ki9qyg9q26jq4jkcf8b6xhy4g4cn30zqccgl3324mnijhl33jk";
+    sha256 = "0dpx74zp85a3qcabfmwnsh1kl0c74ygafybqzmyvwjmax0hdgkq6";
     fetchSubmodules = true;
   };
-  cargoSha256 = "1q3gmilphkbh54y7m711ccr1gr5slk2nn91qq61rmmphyylwkgv2";
+  cargoSha256 = "0358vbpda9x0ib0vla4crn052lk299x2hg14g8lzymg33277lk3p";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];

From 2cc1860fafda2d77254369d0f8db71e314e8bcf0 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Mon, 9 Nov 2020 17:32:21 -0300
Subject: [PATCH 33/59] Dockapps: cleanup

---
 .../windowmaker/dockapps/alsamixer.app.nix    | 27 ----------------
 .../windowmaker/dockapps/wmcalclock.nix       | 32 -------------------
 .../windowmaker/dockapps/wmsm.app.nix         | 29 -----------------
 .../windowmaker/dockapps/wmsystemtray.nix     | 20 ------------
 pkgs/top-level/all-packages.nix               |  8 -----
 5 files changed, 116 deletions(-)
 delete mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
 delete mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
 delete mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
 delete mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
deleted file mode 100644
index 4e1256399e76..000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
-
-stdenv.mkDerivation {
-  name = "alsamixer.app-0.2.1";
-  src = fetchgit {
-     url = "git://repo.or.cz/dockapps.git";
-     rev = "38c74350b02f35824554ce0c4f0f251d71762040";
-     sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext alsaLib ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
-
-  installPhase = ''
-    mkdir -pv $out/bin;
-    cp AlsaMixer.app $out/bin/AlsaMixer;
-    '';
-
-  meta = {
-    description = "Alsa mixer application for Windowmaker";
-    homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
deleted file mode 100644
index 48f4753d674b..000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmCalClock-1.25";
-  src = fetchurl {
-     url = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-1.25.tar.gz";
-     sha256 = "4b42b55bb7c1d7c58b5ee1f0058c683d3e4f3e3380d3a69c54a50b983c7c1b3f";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/Src";
-
-  buildPhase=''
-    make prefix=$out
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    mkdir -pv $out/man/man1
-    make DESTDIR=$out install
-  '';
-
-  meta = {
-    description = "Clock for Windowmaker";
-    homepage = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/time.html#wmcalclock";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
deleted file mode 100644
index ad255414a692..000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmsm.app-0.2.1";
-  src = fetchurl {
-     url = "http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2";
-     sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/wmsm";
-
-  NIX_CFLAGS_COMPILE = "-std=gnu89";
-
-  installPhase = ''
-    substituteInPlace Makefile --replace "PREFIX	= /usr/X11R6/bin" "" --replace "/usr/bin/install" "install"
-    mkdir -pv $out/bin;
-    make PREFIX=$out/bin install;
-    '';
-
-  meta = {
-    description = "System monitor for Windowmaker";
-    homepage = "http://linux-bsd-unix.strefa.pl";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
deleted file mode 100644
index 3e073cd8e91b..000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }:
-
-stdenv.mkDerivation {
-  name = "wmsystemtray-1.4";
-  src = fetchurl {
-     url = "mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-1.4.tar.gz";
-     sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext libXfixes libXmu ];
-
-  meta = {
-    description = "Systemtray for Windowmaker";
-    homepage = "http://wmsystemtray.sourceforge.net";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9f881a85ccac..db3cc203d8fa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24331,16 +24331,8 @@ in
 
   write_stylus = libsForQt5.callPackage ../applications/graphics/write_stylus { };
 
-  alsamixer.app = callPackage ../applications/window-managers/windowmaker/dockapps/alsamixer.app.nix { };
-
   wllvm = callPackage  ../development/tools/wllvm { };
 
-  wmcalclock = callPackage ../applications/window-managers/windowmaker/dockapps/wmcalclock.nix { };
-
-  wmsm.app = callPackage ../applications/window-managers/windowmaker/dockapps/wmsm.app.nix { };
-
-  wmsystemtray = callPackage ../applications/window-managers/windowmaker/dockapps/wmsystemtray.nix { };
-
   wmname = callPackage ../applications/misc/wmname { };
 
   wmctrl = callPackage ../tools/X11/wmctrl { };

From ce009bb0e26008a4272d06b7c35eeb1b6a2ff134 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:06:35 -0300
Subject: [PATCH 34/59] Dockapps: new structure

---
 .../window-managers/windowmaker/dockapps/default.nix          | 4 ++++
 pkgs/top-level/all-packages.nix                               | 1 +
 2 files changed, 5 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/default.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
new file mode 100644
index 000000000000..ffa2b92cb6f6
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -0,0 +1,4 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index db3cc203d8fa..bbd62d5355cc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -24322,6 +24322,7 @@ in
   windowlab = callPackage ../applications/window-managers/windowlab { };
 
   windowmaker = callPackage ../applications/window-managers/windowmaker { };
+  dockapps = callPackage ../applications/window-managers/windowmaker/dockapps { };
 
   wily = callPackage ../applications/editors/wily { };
 

From 8741edb2ec222c23b520bdc20cd9181238869d68 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:08:10 -0300
Subject: [PATCH 35/59] Dockapps: fetch sources

Most of dockapps live in a monorepo maintained by dockapps.net. Unfortunately
there is not an obvious way to fix a particular release, tag or whatever from
this monorepo.
---
 .../window-managers/windowmaker/dockapps/default.nix       | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index ffa2b92cb6f6..710408fc6e5c 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -1,4 +1,11 @@
 { config, lib, pkgs }:
 
 lib.makeScope pkgs.newScope (self: with self; {
+
+  dockapps-sources = pkgs.fetchgit {
+    url = "https://repo.or.cz/dockapps.git";
+    rev = "b2b9d872ee61c9b329e4597c301e4417cbd9c3ea";
+    sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w=";
+  };
+
 })

From 04e33d64aaf04881058bd951cd9cbfd0bd3794d2 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:12:25 -0300
Subject: [PATCH 36/59] libdockapp: init at 0.7.3

---
 .../windowmaker/dockapps/default.nix          |  1 +
 .../windowmaker/dockapps/libdockapp.nix       | 30 +++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index 710408fc6e5c..5668189402ca 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -8,4 +8,5 @@ lib.makeScope pkgs.newScope (self: with self; {
     sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w=";
   };
 
+  libdockapp = callPackage ./libdockapp.nix { };
 })
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
new file mode 100644
index 000000000000..bcdef42a78a0
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
@@ -0,0 +1,30 @@
+{ stdenv, dockapps-sources, autoreconfHook, pkg-config
+, libX11, libXext, libXpm, mkfontdir, fontutil }:
+
+stdenv.mkDerivation rec {
+  pname = "libdockapp";
+  version = "0.7.3";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  # There is a bug on --with-font
+  configureFlags = [
+    "--with-examples=no"
+    "--with-font=no"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library providing a framework for dockapps";
+    homepage = "https://www.dockapps.net/libdockapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}

From 7a7b4b49d594ebd244f0f1538a75954379a34629 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:22:43 -0300
Subject: [PATCH 37/59] AlsaMixer-app: stay at 0.2.1

---
 .../windowmaker/dockapps/AlsaMixer-app.nix    | 38 +++++++++++++++++++
 .../windowmaker/dockapps/default.nix          |  2 +
 2 files changed, 40 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
new file mode 100644
index 000000000000..4ec021644011
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsaLib }:
+
+stdenv.mkDerivation rec {
+  pname = "AlsaMixer.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libX11 libXpm libXext alsaLib ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  dontConfigure = true;
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -t ${placeholder "out"}/bin AlsaMixer.app
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    ln -s ${placeholder "out"}/bin/AlsaMixer.app ${placeholder "out"}/bin/AlsaMixer
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Alsa mixer application for Windowmaker";
+    homepage = "https://www.dockapps.net/alsamixerapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index 5668189402ca..3f96d3ef6b4d 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -9,4 +9,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   };
 
   libdockapp = callPackage ./libdockapp.nix { };
+
+  AlsaMixer-app = callPackage ./AlsaMixer-app.nix { };
 })

From 9f20bdc582f7adec3b96a8b67450f19d458339b2 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:24:51 -0300
Subject: [PATCH 38/59] wmCalClock: stay at 1.25

---
 .../windowmaker/dockapps/default.nix          |  2 +
 .../windowmaker/dockapps/wmCalClock.nix       | 38 +++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index 3f96d3ef6b4d..536c70445e2b 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -11,4 +11,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   libdockapp = callPackage ./libdockapp.nix { };
 
   AlsaMixer-app = callPackage ./AlsaMixer-app.nix { };
+
+  wmCalClock = callPackage ./wmCalClock.nix { };
 })
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
new file mode 100644
index 000000000000..f8ea781858a4
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources
+, libX11, libXpm, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "wmCalClock";
+  version = "1.25";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/Src)
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=(
+      CC="cc"
+      INCDIR="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXpm.dev}/include"
+      LIBDIR="-I${libX11}/lib -I${libXext}/lib -I${libXpm}/lib"
+    )
+  '';
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+    install -d ${placeholder "out"}/man/man1
+  '';
+
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "A Calendar clock with antialiased text";
+    homepage = "https://www.dockapps.net/wmcalclock";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
+  };
+}

From dc4a01d8f5bc8ebe107347e0e942fddafbba023c Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:28:03 -0300
Subject: [PATCH 39/59] wmsm-app: stay at 0.2.1

---
 .../windowmaker/dockapps/default.nix          |  2 +
 .../windowmaker/dockapps/wmsm-app.nix         | 43 +++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index 536c70445e2b..489bc8db7d89 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -13,4 +13,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   AlsaMixer-app = callPackage ./AlsaMixer-app.nix { };
 
   wmCalClock = callPackage ./wmCalClock.nix { };
+
+  wmsm-app = callPackage ./wmsm-app.nix { };
 })
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
new file mode 100644
index 000000000000..dd25ee2b2fce
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
@@ -0,0 +1,43 @@
+{ stdenv, dockapps-sources
+, libX11
+, libXpm
+, libXext
+, libdockapp }:
+
+stdenv.mkDerivation rec {
+  pname = "wmsm.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext libdockapp ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/wmsm)
+  '';
+
+  NIX_CFLAGS_COMPILE = "-std=gnu89";
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "PREFIX	= /usr/X11R6/bin" "" \
+      --replace "/usr/bin/install" "install"
+  '';
+
+  makeFlags = [ "CC=cc" ];
+
+  preInstall = ''
+    runHook preInstall
+    install -d ${placeholder "out"}/bin
+    runHook postInstall
+  '';
+
+  installFlags = [ "PREFIX=${placeholder "out"}/bin" ];
+
+  meta = with stdenv.lib; {
+    description = "System monitor for Windowmaker";
+    homepage = "https://www.dockapps.net/wmsmapp";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bstrik ];
+  };
+}

From 46bc1e2f8678fa223fdceb69c7a2bc22be270b30 Mon Sep 17 00:00:00 2001
From: AndersonTorres <torres.anderson.85@protonmail.com>
Date: Sun, 8 Nov 2020 23:29:15 -0300
Subject: [PATCH 40/59] wmsystemtray: stay at 1.4

---
 .../windowmaker/dockapps/default.nix          |  2 ++
 .../windowmaker/dockapps/wmsystemtray.nix     | 22 +++++++++++++++++++
 2 files changed, 24 insertions(+)
 create mode 100644 pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix

diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
index 489bc8db7d89..8a66fdbd67f2 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -15,4 +15,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   wmCalClock = callPackage ./wmCalClock.nix { };
 
   wmsm-app = callPackage ./wmsm-app.nix { };
+
+  wmsystemtray = callPackage ./wmsystemtray.nix { };
 })
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
new file mode 100644
index 000000000000..6ec62af5d36e
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }:
+
+stdenv.mkDerivation rec {
+  pname = "wmsystemtray";
+  version = "1.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}.tar.gz";
+     sha256 = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k=";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libX11 libXpm libXext libXfixes libXmu ];
+
+  meta = with stdenv.lib; {
+    description = "A system tray for Windowmaker";
+    homepage = "http://wmsystemtray.sourceforge.net";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
+  };
+}

From 42a115422d68db2d15e9dd599660bdc5e6c2779f Mon Sep 17 00:00:00 2001
From: 0x4A6F <0x4A6F@users.noreply.github.com>
Date: Mon, 9 Nov 2020 20:53:04 +0000
Subject: [PATCH 41/59] promscale: 0.1.1 -> 0.1.2

---
 pkgs/servers/monitoring/prometheus/promscale.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix
index 25ad49e7c8a8..f8827b1f1fed 100644
--- a/pkgs/servers/monitoring/prometheus/promscale.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256:00mhkp3nf6h2zsvmmwyza1lahvmm05isfi7rqkx24c0dmkmif3x9";
+    sha256 = "sha256-Yl61hX4YBddw0euTwheMIOy08jgS47rAU0cKyXiz9s4=";
   };
 
   vendorSha256 = "sha256:1ilciwf08678sciwwrjalwvcs5bp7x254nxc3nhdf88cf0bp2nxi";

From 7a2455a0fdacaebbd1d0f4d7063c071ff8161ceb Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Mon, 9 Nov 2020 22:24:11 +0100
Subject: [PATCH 42/59] batman-adv: 2020.3 -> 2020.4

---
 pkgs/os-specific/linux/batman-adv/version.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix
index e617881a570c..d93f8a6c46ed 100644
--- a/pkgs/os-specific/linux/batman-adv/version.nix
+++ b/pkgs/os-specific/linux/batman-adv/version.nix
@@ -1,9 +1,9 @@
 {
-  version = "2020.3";
+  version = "2020.4";
 
   sha256 = {
-    batman-adv = "0wrzh0k44zzjx2s5zj65hjkh4jm9y38qpis1s5cbx9cyj756slb5";
-    alfred = "13bvccz90pkjl09jyw68gj23pbrw9b05w1vhds9sjggwf3jkj5w2";
-    batctl = "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm";
+    batman-adv = "1cxr0zmn9nzisawkrfk0gzd9fx0pg6261c889kz47hwp4f545v6d";
+    alfred = "1ay69nifzghpbvy11fdca5cllkn852h6rg045lci4vzgqf7b2bd2";
+    batctl = "05rrpfbpdhxn5zgdps849qls2ifis6a94cjryb60d4y1nc2n0d7w";
   };
 }

From 24ff3949b01c0e2e7655ff7132964106930fc35a Mon Sep 17 00:00:00 2001
From: 06kellyjac <dev@j-k.io>
Date: Mon, 9 Nov 2020 21:36:07 +0000
Subject: [PATCH 43/59] deno: move to new installShellCompletion style

---
 pkgs/development/web/deno/default.nix | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 00c9a1a29b82..5fe6eb0575d9 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -52,15 +52,14 @@ rustPlatform.buildRustPackage rec {
   # Skipping until resolved
   doCheck = false;
 
-  # TODO: Move to enhanced installShellCompletion when merged: PR #83630
   postInstall = ''
     # remove test plugin and test server
     rm -rf $out/lib $out/bin/test_server
 
-    $out/bin/deno completions bash > deno.bash
-    $out/bin/deno completions fish > deno.fish
-    $out/bin/deno completions zsh  > _deno
-    installShellCompletion deno.{bash,fish} --zsh _deno
+    installShellCompletion --cmd deno \
+      --bash <($out/bin/deno completions bash) \
+      --fish <($out/bin/deno completions fish) \
+      --zsh <($out/bin/deno completions zsh)
   '';
 
   passthru.updateScript = ./update/update.ts;

From 3a5ba30c138d18ab79edbb60fa06beab62366d55 Mon Sep 17 00:00:00 2001
From: Jan Tojnar <jtojnar@gmail.com>
Date: Tue, 27 Oct 2020 07:29:44 +0100
Subject: [PATCH 44/59] =?UTF-8?q?fwupd:=201.4.6=20=E2=86=92=201.5.1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* https://github.com/fwupd/fwupd/releases/tag/1.5.0
* https://github.com/fwupd/fwupd/releases/tag/1.5.1

* The changelog mentions removed dependency on efivar but we still need the package because it also contains efiboot required dependency. https://github.com/fwupd/fwupd/pull/2485
* Blacklist options were renamed.
* Test firmware was moved to a separate repo. We need to install it or some tests will be skipped. https://github.com/fwupd/fwupd/pull/2330
* Initially, there was an option to configure dbx but in the end, it was removed in favour of bespoke dbxtool. https://github.com/fwupd/fwupd/pull/2061, https://github.com/fwupd/fwupd/pull/2318, https://github.com/fwupd/fwupd/pull/2329
* Fwupd now checks hashes of plug-ins and will complain loudly that it is tainted when “invalid” plug-in is loaded (during testing).
* Installed tests complain about not being able to access cdn, even though we are not setting CI_NETWORK env var. We need a patch to fix that.
---
 nixos/modules/services/hardware/fwupd.nix     | 18 ++++----
 nixos/tests/installed-tests/fwupd.nix         |  2 +-
 ...d-option-for-installation-sysconfdir.patch | 11 ++---
 .../linux/firmware/fwupd/default.nix          | 36 ++++++++++++----
 .../firmware/fwupd/installed-tests-path.patch | 42 +++++++++++++------
 5 files changed, 75 insertions(+), 34 deletions(-)

diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix
index 222ac8e487eb..51eca19dca32 100644
--- a/nixos/modules/services/hardware/fwupd.nix
+++ b/nixos/modules/services/hardware/fwupd.nix
@@ -11,8 +11,8 @@ let
     "fwupd/daemon.conf" = {
       source = pkgs.writeText "daemon.conf" ''
         [fwupd]
-        BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
-        BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
+        DisabledDevices=${lib.concatStringsSep ";" cfg.disabledDevices}
+        DisabledPlugins=${lib.concatStringsSep ";" cfg.disabledPlugins}
       '';
     };
     "fwupd/uefi.conf" = {
@@ -59,21 +59,21 @@ in {
         '';
       };
 
-      blacklistDevices = mkOption {
+      disabledDevices = mkOption {
         type = types.listOf types.str;
         default = [];
         example = [ "2082b5e0-7a64-478a-b1b2-e3404fab6dad" ];
         description = ''
-          Allow blacklisting specific devices by their GUID
+          Allow disabling specific devices by their GUID
         '';
       };
 
-      blacklistPlugins = mkOption {
+      disabledPlugins = mkOption {
         type = types.listOf types.str;
         default = [];
         example = [ "udev" ];
         description = ''
-          Allow blacklisting specific plugins
+          Allow disabling specific plugins
         '';
       };
 
@@ -105,11 +105,15 @@ in {
     };
   };
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "fwupd" "blacklistDevices"] [ "services" "fwupd" "disabledDevices" ])
+    (mkRenamedOptionModule [ "services" "fwupd" "blacklistPlugins"] [ "services" "fwupd" "disabledPlugins" ])
+  ];
 
   ###### implementation
   config = mkIf cfg.enable {
     # Disable test related plug-ins implicitly so that users do not have to care about them.
-    services.fwupd.blacklistPlugins = cfg.package.defaultBlacklistedPlugins;
+    services.fwupd.disabledPlugins = cfg.package.defaultDisabledPlugins;
 
     environment.systemPackages = [ cfg.package ];
 
diff --git a/nixos/tests/installed-tests/fwupd.nix b/nixos/tests/installed-tests/fwupd.nix
index 6a0ceb57dda4..a8a683a1af7b 100644
--- a/nixos/tests/installed-tests/fwupd.nix
+++ b/nixos/tests/installed-tests/fwupd.nix
@@ -5,7 +5,7 @@ makeInstalledTest {
 
   testConfig = {
     services.fwupd.enable = true;
-    services.fwupd.blacklistPlugins = lib.mkForce []; # don't blacklist test plugin
+    services.fwupd.disabledPlugins = lib.mkForce []; # don't disable test plugin
     services.fwupd.enableTestRemote = true;
     virtualisation.memorySize = 768;
   };
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index a727e5f4a85b..349fcbb23f3d 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -93,14 +93,11 @@ diff --git a/meson_options.txt b/meson_options.txt
 index 3da9b6c4..6c80275b 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -24,6 +24,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable
- option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
- option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
- option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
+@@ -1,3 +1,4 @@
 +option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
- option('tests', type : 'boolean', value : true, description : 'enable tests')
- option('udevdir', type: 'string', value: '', description: 'Directory for udev rules')
- option('efi-cc', type : 'string', value : 'gcc', description : 'the compiler to use for EFI modules')
+ option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type')
+ option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent')
+ option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support')
 diff --git a/plugins/ata/meson.build b/plugins/ata/meson.build
 index 8444bb8a..fa4a8ad1 100644
 --- a/plugins/ata/meson.build
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index d502d049ace4..85f5bbbf5b18 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -3,6 +3,7 @@
 { stdenv
 , fetchurl
 , fetchpatch
+, fetchFromGitHub
 , substituteAll
 , gtk-doc
 , pkg-config
@@ -88,7 +89,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "fwupd";
-    version = "1.4.6";
+    version = "1.5.1";
 
     # libfwupd goes to lib
     # daemon, plug-ins and libfwupdplugin go to out
@@ -97,7 +98,7 @@ let
 
     src = fetchurl {
       url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-      sha256 = "AKG5stioIveQc7ooYb/2UoOaBzbPUFzYk8tZK0rzvK0=";
+      sha256 = "0fpxcl6bighiipyl4qspjhi0lwisrgq8jdahm68mk34rmrx50sgf";
     };
 
     patches = [
@@ -118,6 +119,12 @@ let
         # Needs a different set of modules than po/make-images.
         inherit installedTestsPython;
       })
+
+      # Skip tests requiring network.
+      (fetchpatch {
+        url = "https://github.com/fwupd/fwupd/commit/db15442c7c217610954786bd40779c14ed0e034b.patch";
+        sha256 = "/jzpGMJcqLisjecKpSUfA8ZCU53n7BOPR6tMgEX/qL8=";
+      })
     ];
 
     nativeBuildInputs = [
@@ -229,6 +236,19 @@ let
       addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share"
     '';
 
+    postInstall =
+      let
+        testFw = fetchFromGitHub {
+          owner = "fwupd";
+          repo = "fwupd-test-firmware";
+          rev = "42b62c62dc85ecfb8e38099fe5de0625af87a722";
+          sha256 = "XUpxE003DZSeLJMtyV5UN5CNHH89/nEVKpCbMStm91Q=";
+        };
+      in ''
+        # These files have weird licenses so they are shipped separately.
+        cp --recursive --dereference "${testFw}/installed-tests/tests" "$installedTests/libexec/installed-tests/fwupd"
+      '';
+
     preFixup = let
       binPath = [
         efibootmgr
@@ -254,6 +274,8 @@ let
       done
     '';
 
+    separateDebugInfo = true;
+
     passthru = {
       filesInstalledToEtc = [
         "fwupd/ata.conf"
@@ -277,8 +299,8 @@ let
         "fwupd/remotes.d/dell-esrt.conf"
       ];
 
-      # BlacklistPlugins key in fwupd/daemon.conf
-      defaultBlacklistedPlugins = [
+      # DisabledPlugins key in fwupd/daemon.conf
+      defaultDisabledPlugins = [
         "test"
         "invalid"
       ];
@@ -302,9 +324,9 @@ let
 
           config = configparser.RawConfigParser()
           config.read('${self}/etc/fwupd/daemon.conf')
-          package_blacklisted_plugins = config.get('fwupd', 'BlacklistPlugins').rstrip(';').split(';')
-          passthru_blacklisted_plugins = ${listToPy passthru.defaultBlacklistedPlugins}
-          assert package_blacklisted_plugins == passthru_blacklisted_plugins, f'Default blacklisted plug-ins in the package {package_blacklisted_plugins} do not match those listed in passthru.defaultBlacklistedPlugins {passthru_blacklisted_plugins}'
+          package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';')
+          passthru_disabled_plugins = ${listToPy passthru.defaultDisabledPlugins}
+          assert package_disabled_plugins == passthru_disabled_plugins, f'Default disabled plug-ins in the package {package_disabled_plugins} do not match those listed in passthru.defaultDisabledPlugins {passthru_disabled_plugins}'
 
           pathlib.Path(os.getenv('out')).touch()
         '';
diff --git a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
index 432056cbe7fe..d8f1a533b824 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/installed-tests-path.patch
@@ -1,3 +1,5 @@
+diff --git a/data/device-tests/hardware.py b/data/device-tests/hardware.py
+index 7f1e1907..10fee1b8 100755
 --- a/data/device-tests/hardware.py
 +++ b/data/device-tests/hardware.py
 @@ -1,4 +1,4 @@
@@ -6,25 +8,41 @@
  # pylint: disable=wrong-import-position,too-many-locals,unused-argument,wrong-import-order
  #
  # Copyright (C) 2017 Richard Hughes <richard@hughsie.com>
+diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build
+index adadbcdd..1b51bb9c 100644
 --- a/data/installed-tests/meson.build
 +++ b/data/installed-tests/meson.build
-@@ -1,4 +1,4 @@
--installed_test_datadir = join_paths(datadir, 'installed-tests', 'fwupd')
-+installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', 'fwupd')
- 
- con2 = configuration_data()
- con2.set('installedtestsdir', installed_test_datadir)
-@@ -52,5 +52,5 @@ configure_file(
+@@ -65,5 +65,5 @@ configure_file(
    output : 'fwupd-tests.conf',
    configuration : con2,
    install: true,
 -  install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
 +  install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
  )
+diff --git a/meson.build b/meson.build
+index 772b7bbe..f59302cd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -177,8 +177,8 @@ else
+   datadir = join_paths(prefix, get_option('datadir'))
+   sysconfdir = join_paths(prefix, get_option('sysconfdir'))
+   localstatedir = join_paths(prefix, get_option('localstatedir'))
+-  installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
+-  installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
++  installed_test_bindir = join_paths(get_option('installed_test_prefix'), 'libexec', 'installed-tests', meson.project_name())
++  installed_test_datadir = join_paths(get_option('installed_test_prefix'), 'share', 'installed-tests', meson.project_name())
+ endif
+ mandir = join_paths(prefix, get_option('mandir'))
+ localedir = join_paths(prefix, get_option('localedir'))
+diff --git a/meson_options.txt b/meson_options.txt
+index 0a0e2853..5f68d78b 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
- option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type')
- option('agent', type : 'boolean', value : true, description : 'enable the fwupd agent')
- option('consolekit', type : 'boolean', value : true, description : 'enable ConsoleKit support')
+@@ -25,6 +26,7 @@ option('plugin_coreboot', type : 'boolean', value : true, description : 'enable
+ option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
+ option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemd’s installation directories on')
+ option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
++option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
+ option('tests', type : 'boolean', value : true, description : 'enable tests')
+ option('tpm', type : 'boolean', value : true, description : 'enable TPM support')
+ option('udevdir', type: 'string', value: '', description: 'Directory for udev rules')

From d9565b838638e9dbda077935e1a0696fabc40be0 Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Mon, 9 Nov 2020 23:37:09 +0000
Subject: [PATCH 45/59] qview: 3.0 -> 4.0

---
 pkgs/applications/graphics/qview/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix
index b6f25795665a..001616ab41dd 100644
--- a/pkgs/applications/graphics/qview/default.nix
+++ b/pkgs/applications/graphics/qview/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qview";
-  version = "3.0";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jurplel";
     repo = "qView";
     rev = version;
-    sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7";
+    sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr";
   };
 
   nativeBuildInputs = [ qmake ];

From de2112c03de506c39827e6b6aa7e16c951071357 Mon Sep 17 00:00:00 2001
From: Peter Hoeg <peter@hoeg.com>
Date: Mon, 9 Nov 2020 22:57:02 +0800
Subject: [PATCH 46/59] bolt: 0.8 -> 0.9

---
 pkgs/os-specific/linux/bolt/default.nix | 45 +++++++++++++++++++------
 1 file changed, 34 insertions(+), 11 deletions(-)

diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index 114a90129ac2..8bd442843b19 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -1,28 +1,49 @@
-{ stdenv, meson, ninja, pkgconfig, fetchFromGitLab,
-  python3, umockdev, gobject-introspection, dbus,
-  asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl,
-  glib, systemd, polkit
+{ stdenv
+, meson
+, ninja
+, pkgconfig
+, fetchFromGitLab
+, python3
+, umockdev
+, gobject-introspection
+, dbus
+, asciidoc
+, libxml2
+, libxslt
+, docbook_xml_dtd_45
+, docbook_xsl
+, glib
+, systemd
+, polkit
 }:
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = version;
-    sha256 = "1qamls0fll0qc27lqavf56hv1yj6v6n4ry90g7bcnwpvccmd82yd";
+    sha256 = "sha256-lcJE+bMK2S2GObHMy/Fu12WGb3T1HrWjsNyZPz4/f4E=";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig
-    asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl
+    asciidoc
+    docbook_xml_dtd_45
+    docbook_xsl
+    libxml2
+    libxslt
+    meson
+    ninja
+    pkgconfig
   ] ++ stdenv.lib.optional (!doCheck) python3;
 
   buildInputs = [
-    glib systemd polkit
+    glib
+    polkit
+    systemd
   ];
 
   doCheck = true;
@@ -32,7 +53,9 @@ stdenv.mkDerivation rec {
   '';
 
   checkInputs = [
-    dbus umockdev gobject-introspection
+    dbus
+    gobject-introspection
+    umockdev
     (python3.withPackages
       (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ]))
   ];
@@ -55,7 +78,7 @@ stdenv.mkDerivation rec {
     description = "Thunderbolt 3 device management daemon";
     homepage = "https://gitlab.freedesktop.org/bolt/bolt";
     license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.callahad ];
+    maintainers = with maintainers; [ callahad ];
     platforms = platforms.linux;
   };
 }

From fdca20391ce37ee54a618094c8f9dded88c85f9e Mon Sep 17 00:00:00 2001
From: Peter Hoeg <peter@hoeg.com>
Date: Mon, 9 Nov 2020 23:11:55 +0800
Subject: [PATCH 47/59] plasma-thunderbolt: init at 5.18.5

---
 pkgs/desktops/plasma-5/default.nix            |  1 +
 pkgs/desktops/plasma-5/plasma-thunderbolt.nix | 16 ++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +-
 3 files changed, 18 insertions(+), 1 deletion(-)
 create mode 100644 pkgs/desktops/plasma-5/plasma-thunderbolt.nix

diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 265c22b55655..39299d8c83c0 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -129,6 +129,7 @@ let
       plasma-integration = callPackage ./plasma-integration {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
+      plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
       plasma-vault = callPackage ./plasma-vault {};
       plasma-workspace = callPackage ./plasma-workspace {};
       plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {};
diff --git a/pkgs/desktops/plasma-5/plasma-thunderbolt.nix b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix
new file mode 100644
index 000000000000..1bb79c327ebf
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix
@@ -0,0 +1,16 @@
+{ mkDerivation
+, extra-cmake-modules
+, kcmutils
+, kcoreaddons
+, bolt
+}:
+
+mkDerivation {
+  name = "plasma-thunderbolt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcmutils
+    kcoreaddons
+    bolt
+  ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4c24ea21ce0d..a5a4230f1337 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15281,7 +15281,7 @@ in
       kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit
       kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration
       kwin kwrited milou oxygen plasma-browser-integration plasma-desktop
-      plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
+      plasma-integration plasma-nm plasma-pa plasma-thunderbolt plasma-vault plasma-workspace
       plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
       systemsettings user-manager xdg-desktop-portal-kde
     ;

From 3aca0e1e6c2d473525efc2fe083cffe47f44d46f Mon Sep 17 00:00:00 2001
From: gnidorah <gnidorah@users.noreply.github.com>
Date: Mon, 9 Nov 2020 13:19:38 +0300
Subject: [PATCH 48/59] vkquake: 1.05.0 -> 1.05.1

---
 pkgs/games/quakespasm/vulkan.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index 49f9e6832354..73639fd7553c 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.05.0";
+  version = "1.05.1";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "16ryjfkmnhlxv7b6yvyk3247q7ih4g90a7c4z501xiyp7h0wlsw8";
+    sha256 = "03b2vxpakp6zizb0m65q9lq800z67b052k01q251b3f04kr1waih";
   };
 
   sourceRoot = "source/Quake";

From 400b29acf141fab0c89ac3be4887f728f843459b Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Tue, 10 Nov 2020 02:38:09 +0000
Subject: [PATCH 49/59] qbs: 1.16.0 -> 1.17.0

---
 pkgs/development/tools/build-managers/qbs/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index d4f94c1aed97..359c942d189a 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041";
+    sha256 = "0sd4qwl1wh8b1hck846plrgddkrdwdfqwk2dgh5hdsrlrvx5xjrr";
   };
 
   nativeBuildInputs = [ qmake ];

From 6bc3e866628bd5253f7ea0004b0cd7924d4d91a6 Mon Sep 17 00:00:00 2001
From: r-burns <52847440+r-burns@users.noreply.github.com>
Date: Mon, 9 Nov 2020 20:12:31 -0800
Subject: [PATCH 50/59] bandwidth: fix build on darwin, fix license, adopt
 (#101522)

Cleaned up rules a bit for platform-independent building.
License was incorrectly listed as MIT, it is actually GPL2+.
Taking on maintainership as it appears to be orphaned.
---
 pkgs/tools/misc/bandwidth/default.nix | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 8cd926c5c272..024454a3472d 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -1,13 +1,8 @@
 { stdenv, fetchurl, nasm }:
 
 let
-  arch =
-    if      stdenv.hostPlatform.system == "x86_64-linux" then "bandwidth64"
-    else if stdenv.hostPlatform.system == "i686-linux" then "bandwidth32"
-    else if stdenv.hostPlatform.system == "x86_64-darwin" then "bandwidth-mac64"
-    else if stdenv.hostPlatform.system == "i686-darwin" then "bandwidth-mac32"
-    else if stdenv.hostPlatform.system == "i686-cygwin" then "bandwidth-win32"
-    else throw "Unknown architecture";
+  inherit (stdenv.hostPlatform.parsed.cpu) bits;
+  arch = "bandwidth${toString bits}";
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
@@ -18,21 +13,25 @@ stdenv.mkDerivation rec {
     sha256 = "0x798xj3vhiwq2hal0vmf92sq4h7yalp3i6ylqwhnnpv99m2zws4";
   };
 
-  buildInputs = [ nasm ];
+  postPatch = ''
+    sed -i 's,^CC=gcc .*,,' OOC/Makefile Makefile*
+    sed -i 's,ar ,$(AR) ,g' OOC/Makefile
+  '';
 
-  buildFlags = [ arch ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ "CC=clang" "LD=clang" ];
+  nativeBuildInputs = [ nasm ];
+
+  buildFlags = [ arch ];
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ${arch} $out/bin
-    ln -s ${arch} $out/bin/bandwidth
+    cp ${arch} $out/bin/bandwidth
   '';
 
   meta = with stdenv.lib; {
     homepage = "https://zsmith.co/bandwidth.html";
     description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
-    license = licenses.mit;
-    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
+    platforms = platforms.x86;
+    maintainers = with maintainers; [ r-burns ];
   };
 }

From fae02c06b8b3a0c5f224ce4954dabf828442e1ba Mon Sep 17 00:00:00 2001
From: Alexander Bich <quyse0@gmail.com>
Date: Mon, 2 Nov 2020 23:58:09 +0300
Subject: [PATCH 51/59] ocaml-libvirt: 0.6.1.4.2017-11-08-unstable -> 0.6.1.5

---
 .../virtualization/virt-top/default.nix       | 10 +++++++++-
 .../ocaml-modules/ocaml-libvirt/default.nix   | 20 ++++++++-----------
 2 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix
index 7ad60405f1b8..692b5f01b5c6 100644
--- a/pkgs/applications/virtualization/virt-top/default.nix
+++ b/pkgs/applications/virtualization/virt-top/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, ocamlPackages, autoreconfHook }:
+{ stdenv, fetchgit, fetchpatch, ocamlPackages, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "virt-top";
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0m7pm8lzlpngsj0vjv0hg8l9ck3gvwpva7r472f8f03xpjffwiga";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "ocaml-libvirt-0.6.1.5-fix.patch";
+      url = "http://git.annexia.org/?p=virt-top.git;a=patch;h=24a461715d5bce47f63cb0097606fc336230589f";
+      sha256 = "15w7w9iggvlw8m9w8g4h08251wzb3m3zkb58glr7ifsgi3flbn61";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt gettext-stub curses csv xml-light ];
 
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index 026aeb220e56..dc6cef0bbba1 100644
--- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -1,28 +1,24 @@
-{ stdenv, fetchgit, libvirt, autoconf, ocaml, findlib }:
+{ stdenv, fetchFromGitLab, libvirt, autoreconfHook, pkg-config, ocaml, findlib, perl }:
 
 stdenv.mkDerivation rec {
   pname = "ocaml-libvirt";
-  rev = "bab7f84ade84ceaddb08b6948792d49b3d04b897";
-  version = "0.6.1.4.2017-11-08-unstable"; # libguestfs-1.34+ needs ocaml-libvirt newer than the latest release 0.6.1.4
+  version = "0.6.1.5";
 
-  src = fetchgit {
-    url = "git://git.annexia.org/git/ocaml-libvirt.git";
-    rev = rev;
-    sha256 = "0vxgx1n58fp4qmly6i5zxiacr7303127d6j78a295xin1p3a8xcw";
+  src = fetchFromGitLab {
+    owner = "libvirt";
+    repo = "libvirt-ocaml";
+    rev = "v${version}";
+    sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k";
   };
 
   propagatedBuildInputs = [ libvirt ];
 
-  nativeBuildInputs = [ autoconf findlib ];
+  nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ];
 
   buildInputs = [ ocaml ];
 
   createFindlibDestdir = true;
 
-  preConfigure = ''
-    autoconf
-  '';
-
   buildPhase = "make all opt CPPFLAGS=-Wno-error";
 
   installPhase = "make install-opt";

From 42374a1329f8bab1902e8c3a2f97eaf64fbba5d5 Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Tue, 10 Nov 2020 05:44:31 +0000
Subject: [PATCH 52/59] python37Packages.pyvmomi: 7.0 -> 7.0.1

---
 pkgs/development/python-modules/pyvmomi/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix
index 25845c9847a3..8f8ca6f1d7ac 100644
--- a/pkgs/development/python-modules/pyvmomi/default.nix
+++ b/pkgs/development/python-modules/pyvmomi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyvmomi";
-  version = "7.0";
+  version = "7.0.1";
 
   src = fetchFromGitHub {
     owner = "vmware";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qqljrlc9h7kddx3xxc6479gk75fvaxspfikzjn6zj5mznsvfwj5";
+    sha256 = "1i7zni4ygdikc22wfrbnzwqh6qy402s3di6sdlfcvky2y7fzx52x";
   };
 
   # requires old version of vcrpy

From c183f1252fbe910c0e70eab54c6f0c521db0694e Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Tue, 10 Nov 2020 05:52:02 +0000
Subject: [PATCH 53/59] ansible-lint: 4.3.6 -> 4.3.7

---
 pkgs/development/python-modules/ansible-lint/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix
index 2c324bc42710..2718ba7670b5 100644
--- a/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/pkgs/development/python-modules/ansible-lint/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "4.3.6";
+  version = "4.3.7";
   # pip is not able to import version info on raumel.yaml
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fn7mdykm4id78k4faibi92q9yxbjbyxb90ww0by03c31m8z5348";
+    sha256 = "0kwwv9dv9rgsqvp15r2vma7hii9lkkqn0n2irvp5h32cbhzzq4hh";
   };
 
   format = "pyproject";

From 38763f10bd391783c38d15ee3a8df1294d029f37 Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Tue, 10 Nov 2020 07:00:04 +0000
Subject: [PATCH 54/59] python37Packages.pytest-pylint: 0.17.0 -> 0.18.0

---
 pkgs/development/python-modules/pytest-pylint/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/pytest-pylint/default.nix b/pkgs/development/python-modules/pytest-pylint/default.nix
index f7a9a3143065..e35d2ebc73e9 100644
--- a/pkgs/development/python-modules/pytest-pylint/default.nix
+++ b/pkgs/development/python-modules/pytest-pylint/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-pylint";
-  version = "0.17.0";
+  version = "0.18.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0c177d63f6e3f5b82fa2720a6570dd2ecff1616c26ed6d02d0cbf75fd98ddf9";
+    sha256 = "790c7a8019fab08e59bd3812db1657a01995a975af8b1c6ce95b9aa39d61da27";
   };
 
   nativeBuildInputs = [ pytestrunner ];

From 4defa325b815d40282a154c28be1e6463deb1f87 Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Tue, 10 Nov 2020 02:22:26 +0000
Subject: [PATCH 55/59] python37Packages.streamz: 0.5.5 -> 0.6.1

---
 pkgs/development/python-modules/streamz/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index d34a826a0604..d17aed6ae43a 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.5.5";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "787ade4796c5b2e79af2aac678841ba3748a65a3adce150697dcdd31c4f80365";
+    sha256 = "215703456479d24f524cdcd0365006250d4502d242f57e2f5db18e8638bc8694";
   };
 
   propagatedBuildInputs = [

From ebed0a25ddb7cedef2e6c18df75c8512528c2a44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= <fabianhjr@protonmail.com>
Date: Tue, 3 Nov 2020 19:53:33 -0600
Subject: [PATCH 56/59] maintainers: add fabianhjr

---
 maintainers/maintainer-list.nix | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 48f847b3d197..483a49172222 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2833,6 +2833,12 @@
       fingerprint = "50B7 11F4 3DFD 2018 DCE6  E8D0 8A52 A140 BEBF 7D2C";
     }];
   };
+  fabianhjr = {
+    email = "fabianhjr@protonmail.com";
+    github = "fabianhjr";
+    githubId = 303897;
+    name = "Fabián Heredia Montiel";
+  };
   fadenb = {
     email = "tristan.helmich+nixos@gmail.com";
     github = "fadenb";

From 4408345c9c8050ba4913fa969414c03064ea4fe6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= <fabianhjr@protonmail.com>
Date: Tue, 3 Nov 2020 23:14:13 -0600
Subject: [PATCH 57/59] pythonPackages.cpyparsing: init at 2.4.5.0.1.1

---
 .../python-modules/cpyparsing/default.nix     | 24 +++++++++++++++++++
 pkgs/top-level/python-packages.nix            |  2 ++
 2 files changed, 26 insertions(+)
 create mode 100644 pkgs/development/python-modules/cpyparsing/default.nix

diff --git a/pkgs/development/python-modules/cpyparsing/default.nix b/pkgs/development/python-modules/cpyparsing/default.nix
new file mode 100644
index 000000000000..66f173106e49
--- /dev/null
+++ b/pkgs/development/python-modules/cpyparsing/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchFromGitHub, cython, python }:
+
+buildPythonPackage rec {
+  pname = "cpyparsing";
+  version = "2.4.5.0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "evhub";
+    repo = pname;
+    rev = "aa8ee45daec5c55328446bad7202ab8f799ab0ce"; # No tags on repo
+    sha256 = "1mxa5q41cb0k4lkibs0d4lzh1w6kmhhdrsm0w0r1m3s80m05ffmw";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  checkPhase = "${python.interpreter} tests/cPyparsing_test.py";
+
+  meta = with lib; {
+    homepage = "https://github.com/evhub/cpyparsing";
+    description = "Cython PyParsing implementation";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fabianhjr ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e803e50c84f3..a1dbecdbc138 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1351,6 +1351,8 @@ in {
 
   cppy = callPackage ../development/python-modules/cppy { };
 
+  cpyparsing = callPackage ../development/python-modules/cpyparsing { };
+
   cram = callPackage ../development/python-modules/cram { };
 
   crashtest = callPackage ../development/python-modules/crashtest { };

From 674d77e68ab4dfd915ccee9c363d4cece9942d2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fabi=C3=A1n=20Heredia=20Montiel?= <fabianhjr@protonmail.com>
Date: Tue, 3 Nov 2020 23:16:55 -0600
Subject: [PATCH 58/59] coconut: init at 1.4.3

---
 .../python-modules/coconut/default.nix        | 52 +++++++++++++++++++
 pkgs/top-level/all-packages.nix               |  2 +
 pkgs/top-level/python-packages.nix            |  2 +
 3 files changed, 56 insertions(+)
 create mode 100644 pkgs/development/python-modules/coconut/default.nix

diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
new file mode 100644
index 000000000000..b75a82b6c2b2
--- /dev/null
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  buildPythonApplication,
+  fetchFromGitHub,
+  fetchpatch,
+
+  cpyparsing,
+  ipykernel,
+  mypy,
+  pygments,
+  pytest,
+  prompt_toolkit,
+  tkinter,
+  watchdog
+}:
+
+buildPythonApplication rec {
+  pname = "coconut";
+  version = "1.4.3";
+
+  src = fetchFromGitHub {
+    owner = "evhub";
+    repo = "coconut";
+    rev = "v${version}";
+    sha256 = "1pz13vza3yy95dbylnq89fzc3mwgcqr7ds096wy25k6vxd9dp9c3";
+  };
+
+  propagatedBuildInputs = [ cpyparsing pygments prompt_toolkit ipykernel mypy watchdog ];
+
+  patches = [
+    (fetchpatch {
+      name = "fix-setuptools-version-check.patch";
+      url = "https://github.com/LibreCybernetics/coconut/commit/2916a087da1e063cc4438b68d4077347fd1ea4a2.patch";
+      sha256 = "136jbd2rvnifw30y73vv667002nf7sbkm5qyihshj4db7ngysr6q";
+    })
+  ];
+
+  checkInputs = [ pytest tkinter ];
+  # Currently most tests do not work on Hydra due to external fetches.
+  checkPhase = ''
+    pytest tests/constants_test.py
+    pytest tests/main_test.py::TestShell::test_compile_to_file
+    pytest tests/main_test.py::TestShell::test_convenience
+  '';
+
+  meta = with lib; {
+    homepage = "http://coconut-lang.org/";
+    description = "Simple, elegant, Pythonic functional programming";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fabianhjr ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a66fefcf4495..b9254fadb87c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1064,6 +1064,8 @@ in
 
   cloud-custodian = python3Packages.callPackage ../tools/networking/cloud-custodian  { };
 
+  coconut = with python3Packages; toPythonApplication coconut;
+
   cod = callPackage ../tools/misc/cod { };
 
   codespell = with python3Packages; toPythonApplication codespell;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a1dbecdbc138..b2aadd1e42ac 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1250,6 +1250,8 @@ in {
 
   cnvkit = callPackage ../development/python-modules/cnvkit { };
 
+  coconut = callPackage ../development/python-modules/coconut { };
+
   cocotb = callPackage ../development/python-modules/cocotb { };
 
   codecov = callPackage ../development/python-modules/codecov { };

From d04287f130365228569b95c49df068e3ad1aea3a Mon Sep 17 00:00:00 2001
From: "R. RyanTM" <ryantm-bot@ryantm.com>
Date: Mon, 9 Nov 2020 23:15:30 +0000
Subject: [PATCH 59/59] python27Packages.rtslib: 2.1.72 -> 2.1.74

---
 pkgs/development/python-modules/rtslib/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 28b66ec5a521..aaf879d2a3f4 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "rtslib";
-  version = "2.1.72";
+  version = "2.1.74";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "${pname}-fb";
     rev = "v${version}";
-    sha256 = "13kycf9xkyxm1ik8yh3qpd96vird8y65daigyiyb4jvx0lmrd0kv";
+    sha256 = "1in10z6ckmkfhykar435k1fmswbfajysv4g9nsav893ij8g694fy";
   };
 
   propagatedBuildInputs = [ six pyudev pygobject3 ];