summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2020-08-28 09:54:31 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2020-08-28 09:54:31 +0200
commitefb45f7638ca900575a5ee8da8de77f9ca87ae42 (patch)
tree679d474497360146a94fc81026b0f987d75e7697
parentbef6fcbb4de8b89bcd2025ef91bfa7339c36d1dc (diff)
parent984ec92129e81ea52ab96f9a737e55081f9f6894 (diff)
downloadnixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar.gz
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar.bz2
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar.lz
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar.xz
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.tar.zst
nixpkgs-efb45f7638ca900575a5ee8da8de77f9ca87ae42.zip
Merge master into staging-next
-rw-r--r--maintainers/maintainer-list.nix10
-rw-r--r--nixos/lib/test-driver/test-driver.py15
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image.nix12
-rw-r--r--nixos/modules/services/security/physlock.nix10
-rw-r--r--nixos/modules/services/wayland/cage.nix1
-rw-r--r--pkgs/applications/audio/faust/faust2.nix6
-rw-r--r--pkgs/applications/audio/faust/faust2jack.nix2
-rw-r--r--pkgs/applications/audio/faust/faust2jaqt.nix2
-rw-r--r--pkgs/applications/audio/mooSpace/default.nix35
-rw-r--r--pkgs/applications/editors/code-browser/default.nix48
-rw-r--r--pkgs/applications/editors/kakoune/plugins/case.kak.nix27
-rw-r--r--pkgs/applications/editors/kakoune/plugins/default.nix1
-rw-r--r--pkgs/applications/editors/kibi/default.nix25
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix4
-rw-r--r--pkgs/applications/graphics/viewnior/default.nix46
-rw-r--r--pkgs/applications/misc/havoc/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/irc/convos/default.nix8
-rw-r--r--pkgs/applications/networking/ncgopher/default.nix37
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--pkgs/data/fonts/jetbrains-mono/default.nix8
-rw-r--r--pkgs/data/themes/marwaita/default.nix5
-rw-r--r--pkgs/desktops/enlightenment/terminology/default.nix9
-rw-r--r--pkgs/desktops/plasma-5/kde-cli-tools.nix16
-rw-r--r--pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch210
-rw-r--r--pkgs/desktops/plasma-5/powerdevil.nix5
-rw-r--r--pkgs/development/compilers/mit-scheme/default.nix15
-rw-r--r--pkgs/development/compilers/ocaml/4.11.nix4
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix8
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu/default.nix (renamed from pkgs/development/libraries/kde-frameworks/kdesu.nix)1
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch38
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix16
-rw-r--r--pkgs/development/libraries/qt-5/5.14/default.nix16
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix12
-rw-r--r--pkgs/development/python-modules/ansiconv/default.nix3
-rw-r--r--pkgs/development/python-modules/aria2p/default.nix2
-rwxr-xr-xpkgs/development/python-modules/atlassian-python-api/default.nix9
-rw-r--r--pkgs/development/python-modules/audiotools/default.nix2
-rw-r--r--pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix4
-rw-r--r--pkgs/development/python-modules/batchgenerators/default.nix2
-rw-r--r--pkgs/development/python-modules/bayesian-optimization/default.nix2
-rw-r--r--pkgs/development/python-modules/bespon/default.nix2
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/breathe/default.nix4
-rw-r--r--pkgs/development/python-modules/brotlipy/default.nix2
-rw-r--r--pkgs/development/python-modules/build/default.nix2
-rw-r--r--pkgs/development/python-modules/certipy/default.nix2
-rw-r--r--pkgs/development/python-modules/cftime/default.nix2
-rw-r--r--pkgs/development/python-modules/channels-redis/default.nix2
-rw-r--r--pkgs/development/python-modules/configparser/4.nix2
-rw-r--r--pkgs/development/python-modules/cookiecutter/default.nix2
-rw-r--r--pkgs/development/python-modules/cppy/default.nix2
-rw-r--r--pkgs/development/python-modules/cupy/default.nix2
-rw-r--r--pkgs/development/python-modules/cvxpy/default.nix17
-rw-r--r--pkgs/development/python-modules/django-auth-ldap/default.nix6
-rw-r--r--pkgs/development/python-modules/django-dynamic-preferences/default.nix2
-rw-r--r--pkgs/development/python-modules/django-multiselectfield/default.nix2
-rw-r--r--pkgs/development/python-modules/djangorestframework-simplejwt/default.nix8
-rw-r--r--pkgs/development/python-modules/fixtures/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-marshmallow/default.nix2
-rw-r--r--pkgs/development/python-modules/fluent-logger/default.nix2
-rw-r--r--pkgs/development/python-modules/fuse-python/default.nix3
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix6
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix10
-rw-r--r--pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch73
-rw-r--r--pkgs/development/python-modules/h5netcdf/default.nix2
-rw-r--r--pkgs/development/python-modules/helpdev/default.nix2
-rw-r--r--pkgs/development/python-modules/idna/default.nix2
-rw-r--r--pkgs/development/python-modules/imagecorruptions/default.nix2
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/jdcal/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyter-sphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix2
-rw-r--r--pkgs/development/python-modules/jwcrypto/default.nix4
-rw-r--r--pkgs/development/python-modules/kiwisolver/default.nix4
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix2
-rw-r--r--pkgs/development/python-modules/lazy/default.nix2
-rw-r--r--pkgs/development/python-modules/librosa/default.nix9
-rw-r--r--pkgs/development/python-modules/logfury/default.nix2
-rw-r--r--pkgs/development/python-modules/loguru/default.nix2
-rw-r--r--pkgs/development/python-modules/marionette-harness/default.nix4
-rw-r--r--pkgs/development/python-modules/marionette-harness/marionette_driver.nix2
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozhttpd.nix2
-rw-r--r--pkgs/development/python-modules/marionette-harness/moznetwork.nix2
-rw-r--r--pkgs/development/python-modules/markdown/3_1.nix4
-rw-r--r--pkgs/development/python-modules/markdown/default.nix4
-rw-r--r--pkgs/development/python-modules/marshmallow-polyfield/default.nix2
-rw-r--r--pkgs/development/python-modules/mask-rcnn/default.nix3
-rw-r--r--pkgs/development/python-modules/mock/2.nix2
-rw-r--r--pkgs/development/python-modules/morphys/default.nix2
-rw-r--r--pkgs/development/python-modules/mwoauth/default.nix2
-rw-r--r--pkgs/development/python-modules/nassl/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconflux/default.nix10
-rw-r--r--pkgs/development/python-modules/notify2/default.nix2
-rw-r--r--pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--pkgs/development/python-modules/opentracing/default.nix2
-rw-r--r--pkgs/development/python-modules/palettable/default.nix5
-rw-r--r--pkgs/development/python-modules/pathspec/default.nix2
-rw-r--r--pkgs/development/python-modules/pcpp/default.nix2
-rw-r--r--pkgs/development/python-modules/pep517/default.nix2
-rw-r--r--pkgs/development/python-modules/picos/default.nix4
-rw-r--r--pkgs/development/python-modules/pipx/default.nix11
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix2
-rw-r--r--pkgs/development/python-modules/pooch/default.nix46
-rw-r--r--pkgs/development/python-modules/preshed/default.nix2
-rw-r--r--pkgs/development/python-modules/py-multibase/default.nix2
-rw-r--r--pkgs/development/python-modules/py-multihash/default.nix2
-rw-r--r--pkgs/development/python-modules/py_stringmatching/default.nix2
-rw-r--r--pkgs/development/python-modules/pyphotonfile/default.nix2
-rw-r--r--pkgs/development/python-modules/pysnow/default.nix13
-rw-r--r--pkgs/development/python-modules/pytest-bdd/default.nix2
-rw-r--r--pkgs/development/python-modules/python-packer/default.nix5
-rw-r--r--pkgs/development/python-modules/pytorch-lightning/default.nix2
-rw-r--r--pkgs/development/python-modules/pyuavcan/default.nix2
-rw-r--r--pkgs/development/python-modules/pyvcf/default.nix6
-rw-r--r--pkgs/development/python-modules/pywbem/default.nix2
-rw-r--r--pkgs/development/python-modules/pyxdg/default.nix4
-rw-r--r--pkgs/development/python-modules/rhpl/builder.sh2
-rw-r--r--pkgs/development/python-modules/sanic-auth/default.nix10
-rw-r--r--pkgs/development/python-modules/sapi-python-client/default.nix23
-rw-r--r--pkgs/development/python-modules/spotipy/default.nix12
-rw-r--r--pkgs/development/python-modules/spyder-kernels/0.x.nix4
-rw-r--r--pkgs/development/python-modules/spyder/3.nix2
-rw-r--r--pkgs/development/python-modules/sqlitedict/default.nix8
-rw-r--r--pkgs/development/python-modules/suseapi/default.nix2
-rw-r--r--pkgs/development/python-modules/tinydb/default.nix2
-rw-r--r--pkgs/development/python-modules/trezor/default.nix48
-rw-r--r--pkgs/development/python-modules/untangle/default.nix6
-rw-r--r--pkgs/development/python-modules/varint/default.nix2
-rw-r--r--pkgs/development/python-modules/vertica-python/default.nix10
-rw-r--r--pkgs/development/python-modules/wasabi/default.nix17
-rw-r--r--pkgs/development/python-modules/zipp/1.nix2
-rwxr-xr-xpkgs/development/python-modules/zstandard/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/laminar/default.nix80
-rw-r--r--pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch26
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/os-specific/darwin/discrete-scroll/default.nix35
-rw-r--r--pkgs/os-specific/linux/conspy/default.nix8
-rw-r--r--pkgs/os-specific/linux/libfabric/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgrouting.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/networking/bgpq4/default.nix25
-rw-r--r--pkgs/tools/package-management/nix-du/default.nix6
-rw-r--r--pkgs/tools/security/1password-gui/default.nix6
-rwxr-xr-xpkgs/tools/security/1password-gui/update.sh5
-rw-r--r--pkgs/tools/security/gopass/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix16
-rw-r--r--pkgs/top-level/darwin-packages.nix4
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
162 files changed, 1142 insertions, 382 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 2507b7f20ba..41a39e3d699 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -8798,6 +8798,16 @@
       fingerprint = "B3C0 DA1A C18B 82E8 CA8B  B1D1 4F62 CD07 CE64 796A";
     }];
   };
+  vincentbernat = {
+    email = "vincent@bernat.ch";
+    github = "vincentbernat";
+    githubId = 631446;
+    name = "Vincent Bernat";
+    keys = [{
+      longkeyid = "rsa4096/0x95A42FE8353525F9";
+      fingerprint = "AEF2 3487 66F3 71C6 89A7  3600 95A4 2FE8 3535 25F9";
+    }];
+  };
   vinymeuh = {
     email = "vinymeuh@gmail.com";
     github = "vinymeuh";
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 99c6eb06de3..dc11eaa1982 100644
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -3,6 +3,7 @@ import argparse
 import atexit
 import base64
 import io
+import itertools
 import logging
 import os
 import pathlib
@@ -92,10 +93,17 @@ logging.basicConfig(format="%(message)s")
 logger = logging.getLogger("test-driver")
 logger.setLevel(logging.INFO)
 
+machine_colours_iter = (
+    "\x1b[{}m".format(x) for x in itertools.cycle(reversed(range(31, 37)))
+)
+
 
 class MachineLogAdapter(logging.LoggerAdapter):
     def process(self, msg: str, kwargs: Any) -> Tuple[str, Any]:
-        return f"{self.extra['machine']}: {msg}", kwargs
+        return (
+            f"{self.extra['colour_code']}{self.extra['machine']}\x1b[39m: {msg}",
+            kwargs,
+        )
 
 
 def make_command(args: list) -> str:
@@ -172,7 +180,10 @@ class Machine:
         self.socket = None
         self.monitor: Optional[socket.socket] = None
         self.allow_reboot = args.get("allowReboot", False)
-        self.logger = MachineLogAdapter(logger, extra=dict(machine=self.name))
+        self.logger = MachineLogAdapter(
+            logger,
+            extra=dict(machine=self.name, colour_code=next(machine_colours_iter)),
+        )
 
     @staticmethod
     def create_startcommand(args: Dict[str, str]) -> str:
diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix
index ddad1116c94..231c7bf0a6c 100644
--- a/nixos/modules/installer/cd-dvd/sd-image.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image.nix
@@ -108,6 +108,15 @@ in
       '';
     };
 
+    postBuildCommands = mkOption {
+      example = literalExample "'' dd if=\${pkgs.myBootLoader}/SPL of=$img bs=1024 seek=1 conv=notrunc ''";
+      default = "";
+      description = ''
+        Shell commands to run after the image is built.
+        Can be used for boards requiring to dd u-boot SPL before actual partitions.
+      '';
+    };
+
     compressImage = mkOption {
       type = types.bool;
       default = true;
@@ -197,6 +206,9 @@ in
         # Verify the FAT partition before copying it.
         fsck.vfat -vn firmware_part.img
         dd conv=notrunc if=firmware_part.img of=$img seek=$START count=$SECTORS
+
+        ${config.sdImage.postBuildCommands}
+
         if test -n "$compressImage"; then
             zstd -T$NIX_BUILD_CORES --rm $img
         fi
diff --git a/nixos/modules/services/security/physlock.nix b/nixos/modules/services/security/physlock.nix
index 690eb70079d..da5c22a90a0 100644
--- a/nixos/modules/services/security/physlock.nix
+++ b/nixos/modules/services/security/physlock.nix
@@ -52,6 +52,14 @@ in
         '';
       };
 
+      lockMessage = mkOption {
+        type = types.str;
+        default = "";
+        description = ''
+          Message to show on physlock login terminal.
+        '';
+      };
+
       lockOn = {
 
         suspend = mkOption {
@@ -111,7 +119,7 @@ in
                 ++ cfg.lockOn.extraTargets;
         serviceConfig = {
           Type = "forking";
-          ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}";
+          ExecStart = "${pkgs.physlock}/bin/physlock -d${optionalString cfg.disableSysRq "s"}${optionalString (cfg.lockMessage != "") " -p \"${cfg.lockMessage}\""}";
         };
       };
 
diff --git a/nixos/modules/services/wayland/cage.nix b/nixos/modules/services/wayland/cage.nix
index 50e424fccbf..14d84c4ce0f 100644
--- a/nixos/modules/services/wayland/cage.nix
+++ b/nixos/modules/services/wayland/cage.nix
@@ -82,6 +82,7 @@ in {
       auth    required pam_unix.so nullok
       account required pam_unix.so
       session required pam_unix.so
+      session required pam_env.so conffile=${config.system.build.pamEnvironment} readenv=0
       session required ${pkgs.systemd}/lib/security/pam_systemd.so
     '';
 
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index de90bd038be..9bf4d3a5704 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -21,13 +21,13 @@ with stdenv.lib.strings;
 
 let
 
-  version = "unstable-2020-08-03";
+  version = "unstable-2020-08-27";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
-    rev = "b6045f4592384076d3b383d116e602a95a000eb3";
-    sha256 = "1wcpilwnkc7rrbv9gbkj5hb7kamkh8nrc3r4hbcvbz5ar2pfc6d5";
+    rev = "c10f316fa90f338e248787ebf55e3795c3a0d70e";
+    sha256 = "068pm04ddafbsj2r8akdpqyzb0m8mp9ql0rgi83hcqs4ndr8v7sb";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/faust/faust2jack.nix b/pkgs/applications/audio/faust/faust2jack.nix
index 370c25ecd74..0f703704961 100644
--- a/pkgs/applications/audio/faust/faust2jack.nix
+++ b/pkgs/applications/audio/faust/faust2jack.nix
@@ -4,6 +4,7 @@
 , alsaLib
 , opencv2
 , libsndfile
+, which
 }:
 
 faust.wrapWithBuildEnv {
@@ -21,6 +22,7 @@ faust.wrapWithBuildEnv {
     alsaLib
     opencv2
     libsndfile
+    which
   ];
 
 }
diff --git a/pkgs/applications/audio/faust/faust2jaqt.nix b/pkgs/applications/audio/faust/faust2jaqt.nix
index a2f1c2139a1..753208c54c2 100644
--- a/pkgs/applications/audio/faust/faust2jaqt.nix
+++ b/pkgs/applications/audio/faust/faust2jaqt.nix
@@ -3,6 +3,7 @@
 , opencv2
 , qt4
 , libsndfile
+, alsaLib
 , which
 }:
 
@@ -20,6 +21,7 @@ faust.wrapWithBuildEnv {
     opencv2
     qt4
     libsndfile
+    alsaLib
     which
   ];
 
diff --git a/pkgs/applications/audio/mooSpace/default.nix b/pkgs/applications/audio/mooSpace/default.nix
new file mode 100644
index 00000000000..f6958c5e974
--- /dev/null
+++ b/pkgs/applications/audio/mooSpace/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+stdenv.mkDerivation rec {
+  pname = "mooSpace";
+  version = "unstable-2020-06-10";
+
+  src = fetchFromGitHub {
+    owner = "modularev";
+    repo = pname;
+    rev = "e5440407ea6ef9f7fcca838383b2b9a388c22874";
+    sha256 = "10vsbddf6d7i06040850v8xkmqh3bqawczs29kfgakair809wqxl";
+  };
+
+  buildInputs = [ faust2jaqt faust2lv2 ];
+
+  patchPhase = "mv ${pname}_faust.dsp ${pname}.dsp";
+
+  buildPhase = ''
+    faust2jaqt -time -vec -t 0 ${pname}.dsp
+    faust2lv2  -time -vec -t 0 -gui ${pname}.dsp
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ${pname} $out/bin/
+      mkdir -p $out/lib/lv2
+      cp -r ${pname}.lv2 $out/lib/lv2
+  '';
+
+  meta = {
+    description = "Variable reverb audio effect, jack and lv2";
+    homepage = "https://github.com/modularev/mooSpace";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/editors/code-browser/default.nix b/pkgs/applications/editors/code-browser/default.nix
new file mode 100644
index 00000000000..11476cae702
--- /dev/null
+++ b/pkgs/applications/editors/code-browser/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, fetchurl
+, copper
+, ruby
+, python3
+, qtbase
+, gtk3
+, pkg-config
+, withQt ? false
+, withGtk ? false, wrapQtAppsHook ? null
+}:
+stdenv.mkDerivation rec {
+  pname = "code-browser";
+  version = "7.1.20";
+  src = fetchurl {
+    url = "https://tibleiz.net/download/code-browser-${version}-src.tar.gz";
+    sha256 = "1svi0v3h42h2lrb8c7pjvqc8019v1p20ibsnl48pfhl8d96mmdnz";
+  };
+  postPatch = ''
+    substituteInPlace Makefile --replace "LFLAGS=-no-pie" "LFLAGS=-no-pie -L."
+    substituteInPlace libs/copper-ui/Makefile --replace "moc -o" "${qtbase.dev}/bin/moc -o"
+    patchShebangs .
+  '';
+  nativeBuildInputs = [ copper
+                        python3
+                        ruby
+                        qtbase
+                        gtk3
+                        pkg-config
+                      ]
+  ++ stdenv.lib.optionals withQt [ wrapQtAppsHook ];
+  buildInputs = stdenv.lib.optionals withQt [ qtbase ]
+                ++ stdenv.lib.optionals withGtk [ gtk3 ];
+  makeFlags = [
+    "prefix=$(out)"
+    "COPPER=${copper}/bin/copper-elf64"
+    "with-local-libs"
+    "QINC=${qtbase.dev}/include"
+  ]
+  ++ stdenv.lib.optionals withQt [ "UI=qt" ]
+  ++ stdenv.lib.optionals withGtk [ "UI=gtk" ];
+  meta = with stdenv.lib; {
+    description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code.";
+    homepage = "https://tibleiz.net/code-browser/";
+    license = licenses.gpl2;
+    platforms = platforms.x86_64;
+  };
+}
diff --git a/pkgs/applications/editors/kakoune/plugins/case.kak.nix b/pkgs/applications/editors/kakoune/plugins/case.kak.nix
new file mode 100644
index 00000000000..20df2872628
--- /dev/null
+++ b/pkgs/applications/editors/kakoune/plugins/case.kak.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitLab }:
+
+stdenv.mkDerivation {
+  name = "case.kak";
+  version = "unstable-2020-04-06";
+
+  src = fetchFromGitLab {
+    owner = "FlyingWombat";
+    repo = "case.kak";
+    rev = "6f1511820aa3abfa118e0f856118adc8113e2185";
+    sha256 = "002njrlwgakqgp74wivbppr9qyn57dn4n5bxkr6k6nglk9qndwdp";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/kak/autoload/plugins
+    cp -r rc/case.kak $out/share/kak/autoload/plugins
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Ease navigation between opened buffers in Kakoune";
+    homepage = "https://gitlab.com/FlyingWombat/case.kak";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ eraserhd ];
+    platform = platforms.all;
+  };
+}
+
diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix
index 915a5a9ec93..3926973f7ea 100644
--- a/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -3,6 +3,7 @@
 {
   inherit parinfer-rust;
 
+  case-kak = pkgs.callPackage ./case.kak.nix { };
   kak-ansi = pkgs.callPackage ./kak-ansi.nix { };
   kak-auto-pairs = pkgs.callPackage ./kak-auto-pairs.nix { };
   kak-buffers = pkgs.callPackage ./kak-buffers.nix { };
diff --git a/pkgs/applications/editors/kibi/default.nix b/pkgs/applications/editors/kibi/default.nix
new file mode 100644
index 00000000000..85ad49a01d6
--- /dev/null
+++ b/pkgs/applications/editors/kibi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "kibi";
+  version = "0.2.0";
+
+  cargoSha256 = "0zyqzb3k4ak7h58zjbg9b32hz1vgbbn9i9l85j4vd4aw8mhsz0n9";
+
+  src = fetchFromGitHub {
+    owner = "ilai-deutel";
+    repo = "kibi";
+    rev = "v${version}";
+    sha256 = "1cqnzw6gpsmrqcz82zn1x5i6najcr3i7shj0wnqzpwppff9a6yac";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A text editor in ≤1024 lines of code, written in Rust";
+    homepage = "https://github.com/ilai-deutel/kibi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ robertodr ];
+  };
+}
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 0bf0435d2fc..bedc8c60c70 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1yar8j6h39gpnq4givxh5cvi336p56sgc8pg32j6sasqk6mxv02c";
-    x86_64-darwin = "1d68xkqkd49z7v4y3230l2v77aw34d7jkdbgj0wnc04kv6n8wx88";
+    x86_64-linux = "1i4vq8a81jgshn9iqkj8rp0yqihq2bjim27c8sh4vl9d6a8a6vcr";
+    x86_64-darwin = "090xj8pq3fdn7dcfrzvgvx906k6gs2xm04xkymz8vpm3a4rq1svn";
   }.${system};
 in
   callPackage ./generic.nix rec {
@@ -21,7 +21,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.48.1";
+    version = "1.48.2";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index edb55264354..5039fa4707c 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0f8p25963i7bbm2zxb4ra935maxk3sxims6j873wqwqnzn701diq";
-    x86_64-darwin = "0k8ylcbiqvb0cnvbz3059rbyjqxmvig8zf7bfqgln1w591i411c4";
+    x86_64-linux = "17frdyli375l20mb7sb5bmw000p9cplj4pagmhnb6nibi9wqypdx";
+    x86_64-darwin = "1dh5k36fjdfwhidlsg1grjwy3s9jik3pg6xpdgi6946vzqv1vxll";
   }.${system};
 
   sourceRoot = {
@@ -27,7 +27,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.48.1";
+    version = "1.48.2";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index f1bd85bae0c..d23c02dbbdf 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "nomacs";
-  version = "3.17.2045";
+  version = "3.17.2206";
 
   src = fetchFromGitHub {
     owner = "nomacs";
     repo = "nomacs";
     rev = version;
-    sha256 = "1lchdmmw2sg0xbpcnsk3sxh120xpcv1lh2khf4h5zzdlccbklq7l";
+    sha256 = "1bq7bv4p7w67172y893lvpk90d6fgdpnylynbj2kn8m2hs6khya4";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/viewnior/default.nix b/pkgs/applications/graphics/viewnior/default.nix
index 41463a7627a..1addb2d7bd5 100644
--- a/pkgs/applications/graphics/viewnior/default.nix
+++ b/pkgs/applications/graphics/viewnior/default.nix
@@ -1,24 +1,38 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk2, libpng, exiv2, lcms
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, desktop-file-utils, gtk2, libpng, exiv2, lcms
 , intltool, gettext, shared-mime-info, glib, gdk-pixbuf, perl}:
 
 stdenv.mkDerivation rec {
   pname = "viewnior";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchFromGitHub {
-    owner = "xsisqox";
+    owner = "hellosiyan";
     repo = "Viewnior";
     rev = "${pname}-${version}";
-    sha256 = "06ppv3r85l3id4ij6h4y5fgm3nib2587fdrdv9fccyi75zk7fs0p";
+    sha256 = "0y4hk3vq8psba5k615w18qj0kbdfp5w0lm98nv5apy6hmcpwfyig";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs =
-    [ pkgconfig gtk2 libpng exiv2 lcms intltool gettext
-      shared-mime-info glib gdk-pixbuf perl
-    ];
-
-  meta = {
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    desktop-file-utils
+    intltool
+    gettext
+  ];
+
+  buildInputs = [
+    gtk2
+    libpng
+    exiv2
+    lcms
+    shared-mime-info
+    glib
+    gdk-pixbuf
+    perl
+  ];
+
+  meta = with stdenv.lib; {
     description = "Fast and simple image viewer";
     longDescription =
       '' Viewnior is insipred by big projects like Eye of Gnome, because of it's
@@ -27,13 +41,9 @@ stdenv.mkDerivation rec {
          with the quality of it's functions. The program is made with better integration
          in mind (follows Gnome HIG2).
       '';
-
-    license = stdenv.lib.licenses.gpl3;
-
+    license = licenses.gpl3;
     homepage = "http://siyanpanayotov.com/project/viewnior/";
-
-    maintainers = [ stdenv.lib.maintainers.smironov ];
-
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ smironov artturin ];
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/havoc/default.nix b/pkgs/applications/misc/havoc/default.nix
index fc4cc680ca4..a6d5278fc3c 100644
--- a/pkgs/applications/misc/havoc/default.nix
+++ b/pkgs/applications/misc/havoc/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
 
   pname = "havoc";
-  version = "2019-12-08";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "ii8";
     repo = pname;
-    rev = "507446c92ed7bf8380a58c5ba2b14aba5cdf412c";
-    sha256 = "13nfnan1gmy4cqxmqv0rc8a4mcb1g62v73d56hy7z2psv4am7a09";
+    rev = version;
+    sha256 = "1g05r9j6srwz1krqvzckx80jn8fm48rkb4xp68953gy9yp2skg3k";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 3822f453a30..fb7d2e2d6a5 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "0.8.6";
+  version = "0.8.7";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "0f1cqxjf26sy1c4aw6y7pyd9lrz0vknby4q5j6xj77a1pab9073m";
+    sha256 = "1sjk0cghldygx1jgx4bqv83qky7shk64n6xkkfxl92f12wyvsq9j";
   };
 
   vendorSha256 = null;
@@ -16,7 +16,7 @@ buildGoModule rec {
   doCheck = false;
 
   buildFlagsArray = [
-    "-ldflags=-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=${version}"
+    "-ldflags=-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
   ];
 
   subPackages = [
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 8aa1f4a44fe..dd1da887cb4 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -132,8 +132,8 @@ in rec {
   });
 
   terraform_0_13 = pluggable (generic {
-    version = "0.13.0";
-    sha256 = "0kangddd99ix50w67hi0pwa9js9c0hjxqvrc0lxaa6msjvjsxyyq";
+    version = "0.13.1";
+    sha256 = "0a2sjjb79ziv42ifhplpkvqgsg8gxvr1wdgkhdj59dwahqv64pm2";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/irc/convos/default.nix b/pkgs/applications/networking/irc/convos/default.nix
index 6adcaa7b3d6..7a30737c047 100644
--- a/pkgs/applications/networking/irc/convos/default.nix
+++ b/pkgs/applications/networking/irc/convos/default.nix
@@ -6,13 +6,13 @@ with stdenv.lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "convos";
-  version = "4.29";
+  version = "4.33";
 
   src = fetchFromGitHub {
     owner = "Nordaaker";
     repo = pname;
     rev = version;
-    sha256 = "07m9lhwgqq77hi4n2zrya7n8apkjv8xi166bxa0n7pnlknlp74ar";
+    sha256 = "0mxq4jpjk4vvhi5lqslj614dvk84iq12rsdyykxr8h9cnjjs57im";
   };
 
   nativeBuildInputs = [ makeWrapper ]
@@ -33,6 +33,10 @@ perlPackages.buildPerlPackage rec {
   '';
 
   preCheck = ''
+    # Remove online test
+    #
+    rm t/web-pwa.t
+
     # A test fails since gethostbyaddr(127.0.0.1) fails to resolve to localhost in
     # the sandbox, we replace the this out from a substitution expression
     #
diff --git a/pkgs/applications/networking/ncgopher/default.nix b/pkgs/applications/networking/ncgopher/default.nix
new file mode 100644
index 00000000000..2e5e840d50d
--- /dev/null
+++ b/pkgs/applications/networking/ncgopher/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, ncurses6
+, openssl
+, sqlite
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "ncgopher";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "jansc";
+    repo = "ncgopher";
+    rev = "v${version}";
+    sha256 = "1mv89sanmr49b9za95jl5slpq960b246j2054r8xfafzqmbp44af";
+  };
+
+  cargoSha256 = "12r4vgrg2bkr3p61yxcsg02kppg84vn956l0v1vb08i94rxzc8zk";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    ncurses6
+    openssl
+    sqlite
+  ];
+
+  meta = with lib; {
+    description = "A gopher and gemini client for the modern internet";
+    homepage = "https://github.com/jansc/ncgopher";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 76c991f2283..a7d8080708e 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "2.15.3";
+  version = "2.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kpfi1w1jnn7v7mny71jil3sc9mm08lz47l9v3hzgs5z3ham98jb";
+    sha256 = "0n2lrsjs3flfv7650yfhck1c96wkn41cv49440m7csy5yw16zlim";
   };
 
   nativeBuildInputs = [ installShellFiles pbr ];
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 8cec24534d4..7154b8e614c 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -18,11 +18,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "070jj6kbiw23sd2p4xhvmyb8gd83imwgisdf18ahkwp7dq85db3c";
+    sha256 = "16sd08bfa2b1qgpnd3q6k7glw0w1wyrqyf47fz2220yafrryrmyz";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
diff --git a/pkgs/data/fonts/jetbrains-mono/default.nix b/pkgs/data/fonts/jetbrains-mono/default.nix
index f81c0ed90f9..b198486327d 100644
--- a/pkgs/data/fonts/jetbrains-mono/default.nix
+++ b/pkgs/data/fonts/jetbrains-mono/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchzip }:
 
 let
-  version = "2.001";
+  version = "2.002";
 in
 fetchzip {
   name = "JetBrainsMono-${version}";
 
-  url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrains.Mono.${version}.zip";
+  url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
 
-  sha256 = "06rh8dssq6qzgb9rri3an2ka24j47c0i8yhgq81yyg471spc39h1";
+  sha256 = "018lhxi9m8aprls6cnpndzdg5snijwzm22m2pxxi6zcqxrcxh8vb";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -21,7 +21,7 @@ fetchzip {
   meta = with lib; {
     description = "A typeface made for developers";
     homepage = "https://jetbrains.com/mono/";
-    license = licenses.asl20;
+    license = licenses.ofl;
     maintainers = [ maintainers.marsam ];
     platforms = platforms.all;
   };
diff --git a/pkgs/data/themes/marwaita/default.nix b/pkgs/data/themes/marwaita/default.nix
index 6426f2a222f..7a473567589 100644
--- a/pkgs/data/themes/marwaita/default.nix
+++ b/pkgs/data/themes/marwaita/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "7.4.2";
+  version = "7.4.3";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "0kq7d8nqp8m0kbh2k9s0yybfdkyfkhbkjsv22lplnzh1p84pnlx7";
+    sha256 = "1g8xyv0najy4lpwa9xplx3ylxvn86dyi58j7qanc6r9yddy85ln9";
   };
 
   buildInputs = [
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     runHook preInstall
     mkdir -p $out/share/themes
     cp -a Marwaita* $out/share/themes
-    rm $out/share/themes/*/COPYING
     runHook postInstall
   '';
 
diff --git a/pkgs/desktops/enlightenment/terminology/default.nix b/pkgs/desktops/enlightenment/terminology/default.nix
index 72aab761754..e70b9cdc9b5 100644
--- a/pkgs/desktops/enlightenment/terminology/default.nix
+++ b/pkgs/desktops/enlightenment/terminology/default.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, efl, pcre, mesa, makeWrapper }:
+{ stdenv, fetchurl, meson, ninja, pkg-config, efl, pcre, mesa }:
 
 stdenv.mkDerivation rec {
   pname = "terminology";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0pvn8mdzxlx7181xdha32fbr0w8xl7hsnb3hfxr5099g841v1xf6";
+    sha256 = "1fxqjf7g30ix4qxi6366rrax27s3maxq43z2vakwnhz4mp49m9h4";
   };
 
   nativeBuildInputs = [
     meson
     ninja
-    pkgconfig
-    makeWrapper
+    pkg-config
   ];
 
   buildInputs = [
diff --git a/pkgs/desktops/plasma-5/kde-cli-tools.nix b/pkgs/desktops/plasma-5/kde-cli-tools.nix
index 3364ee2c063..d84b7bc9801 100644
--- a/pkgs/desktops/plasma-5/kde-cli-tools.nix
+++ b/pkgs/desktops/plasma-5/kde-cli-tools.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, extra-cmake-modules, kdoctools,
+  lib, mkDerivation, extra-cmake-modules, kdoctools,
   kcmutils, kconfig, kdesu, ki18n, kiconthemes, kinit, kio, kwindowsystem,
   qtsvg, qtx11extras, kactivities, plasma-workspace
 }:
@@ -11,4 +11,18 @@ mkDerivation {
     kcmutils kconfig kdesu ki18n kiconthemes kinit kio kwindowsystem qtsvg
     qtx11extras kactivities plasma-workspace
   ];
+  postInstall = ''
+    # install a symlink in bin so that kdesu can eventually be found in PATH
+    mkdir -p $out/bin
+    ln -s $out/libexec/kf5/kdesu $out/bin
+  '';
+  dontWrapQtApps = true;
+  preFixup = ''
+    for program in $out/bin/*; do
+      wrapQtApp $program
+    done
+
+    # kdesu looks for kdeinit5 in PATH
+    wrapQtApp $out/libexec/kf5/kdesu --suffix PATH : ${lib.getBin kinit}/bin
+  '';
 }
diff --git a/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch b/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
new file mode 100644
index 00000000000..d8d54a117eb
--- /dev/null
+++ b/pkgs/desktops/plasma-5/patches/0001-Add-a-logging-category-config-file.patch
@@ -0,0 +1,210 @@
+From e63a0dc2a7b185906a93d60e9d5d6deee4950efc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com>
+Date: Wed, 20 May 2020 14:02:07 +0200
+Subject: [PATCH] Add a logging category config file
+
+Makes powerdevil default logging level Warning
+---
+ CMakeLists.txt                     |  2 ++
+ daemon/CMakeLists.txt              |  6 ++++++
+ daemon/actions/dpms/CMakeLists.txt |  2 +-
+ daemon/backends/CMakeLists.txt     |  6 +++---
+ daemon/powerdevil_debug.cpp        | 21 ---------------------
+ daemon/powerdevil_debug.h          | 26 --------------------------
+ kcmodule/activities/CMakeLists.txt |  2 +-
+ kcmodule/common/CMakeLists.txt     |  2 +-
+ kcmodule/profiles/CMakeLists.txt   |  2 +-
+ powerdevil.categories              |  1 +
+ 10 files changed, 16 insertions(+), 54 deletions(-)
+ delete mode 100644 daemon/powerdevil_debug.cpp
+ delete mode 100644 daemon/powerdevil_debug.h
+ create mode 100644 powerdevil.categories
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5ded8f5a..52a7318c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,6 +11,7 @@ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
+ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+ 
+ include(ECMSetupVersion)
++include(ECMQtDeclareLoggingCategory)
+ include(FeatureSummary)
+ include(KDEInstallDirs)
+ include(KDECMakeSettings)
+@@ -76,6 +77,7 @@ add_subdirectory(daemon)
+ add_subdirectory(kcmodule)
+ add_subdirectory(doc)
+ 
++install( FILES powerdevil.categories  DESTINATION  ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
+ install( FILES powerdevil.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFY5RCDIR} )
+ 
+ feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
+diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt
+index 33ca655b..96cc9b7b 100644
+--- a/daemon/CMakeLists.txt
++++ b/daemon/CMakeLists.txt
+@@ -48,6 +48,12 @@ set(powerdevilcore_SRCS
+     kwinkscreenhelpereffect.cpp
+ )
+ 
++ecm_qt_declare_logging_category(powerdevilcore_SRCS
++   HEADER powerdevil_debug.h
++   IDENTIFIER POWERDEVIL
++   CATEGORY_NAME org.kde.powerdevil
++   DEFAULT_SEVERITY Warning)
++
+ kconfig_add_kcfg_files(powerdevilcore_SRCS ../PowerDevilSettings.kcfgc)
+ 
+ # Action DBus Adaptors
+diff --git a/daemon/actions/dpms/CMakeLists.txt b/daemon/actions/dpms/CMakeLists.txt
+index f8ca4e20..3b8bd95b 100644
+--- a/daemon/actions/dpms/CMakeLists.txt
++++ b/daemon/actions/dpms/CMakeLists.txt
+@@ -3,7 +3,7 @@ include_directories(${PowerDevil_SOURCE_DIR}/daemon
+                     ${CMAKE_CURRENT_BINARY_DIR})
+ 
+ set(powerdevildpmsaction_SRCS
+-    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
++    ${CMAKE_CURRENT_BINARY_DIR}/../../powerdevil_debug.cpp
+     powerdevildpmsaction.cpp
+     abstractdpmshelper.cpp
+     xcbdpmshelper.cpp
+diff --git a/daemon/backends/CMakeLists.txt b/daemon/backends/CMakeLists.txt
+index 89400446..05c4263e 100644
+--- a/daemon/backends/CMakeLists.txt
++++ b/daemon/backends/CMakeLists.txt
+@@ -4,7 +4,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/upower
+                     ${X11_Xrandr_INCLUDE_PATH})
+ 
+ set(powerdevilupowerbackend_SRCS
+-    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
++    ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp
+     upower/upowersuspendjob.cpp
+     upower/login1suspendjob.cpp
+     upower/powerdevilupowerbackend.cpp
+@@ -33,14 +33,14 @@ ${CMAKE_CURRENT_SOURCE_DIR}/upower/dbus/org.freedesktop.UPower.KbdBacklight.xml
+ upower_kbdbacklight_interface)
+ 
+ ## backlight helper executable
+-add_executable(backlighthelper upower/backlighthelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${backlighthelper_mocs})
++add_executable(backlighthelper upower/backlighthelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${backlighthelper_mocs})
+ target_link_libraries(backlighthelper Qt5::Core KF5::AuthCore KF5::I18n)
+ install(TARGETS backlighthelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
+ kauth_install_helper_files(backlighthelper org.kde.powerdevil.backlighthelper root)
+ kauth_install_actions(org.kde.powerdevil.backlighthelper ${CMAKE_CURRENT_SOURCE_DIR}/upower/backlight_helper_actions.actions)
+ 
+ ## discrete gpu helper executable
+-add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp ${discretegpuhelper_mocs})
++add_executable(discretegpuhelper upower/discretegpuhelper.cpp ${CMAKE_CURRENT_BINARY_DIR}/../powerdevil_debug.cpp ${discretegpuhelper_mocs})
+ target_link_libraries(discretegpuhelper Qt5::Core KF5::AuthCore)
+ install(TARGETS discretegpuhelper DESTINATION ${KAUTH_HELPER_INSTALL_DIR})
+ kauth_install_helper_files(discretegpuhelper org.kde.powerdevil.discretegpuhelper root)
+diff --git a/daemon/powerdevil_debug.cpp b/daemon/powerdevil_debug.cpp
+deleted file mode 100644
+index 86172c1b..00000000
+--- a/daemon/powerdevil_debug.cpp
++++ /dev/null
+@@ -1,21 +0,0 @@
+-/*  This file is part of the KDE project
+-    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#include "powerdevil_debug.h"
+-Q_LOGGING_CATEGORY(POWERDEVIL, "powerdevil")
+diff --git a/daemon/powerdevil_debug.h b/daemon/powerdevil_debug.h
+deleted file mode 100644
+index fcd9c10f..00000000
+--- a/daemon/powerdevil_debug.h
++++ /dev/null
+@@ -1,26 +0,0 @@
+-/*  This file is part of the KDE project
+-    Copyright (C) 2014 Hrvoje Senjan <hrvoje.senjan@gmail.com>
+-
+-    This library is free software; you can redistribute it and/or
+-    modify it under the terms of the GNU Library General Public
+-    License as published by the Free Software Foundation; either
+-    version 2 of the License, or (at your option) any later version.
+-
+-    This library is distributed in the hope that it will be useful,
+-    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-    Library General Public License for more details.
+-
+-    You should have received a copy of the GNU Library General Public License
+-    along with this library; see the file COPYING.LIB.  If not, write to
+-    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+-    Boston, MA 02110-1301, USA.
+-*/
+-
+-#ifndef PROCESSCORE_DEBUG_H
+-#define PROCESSCORE_DEBUG_H
+-
+-#include <QLoggingCategory>
+-Q_DECLARE_LOGGING_CATEGORY(POWERDEVIL)
+-
+-#endif
+diff --git a/kcmodule/activities/CMakeLists.txt b/kcmodule/activities/CMakeLists.txt
+index 41a6da48..6e248e91 100644
+--- a/kcmodule/activities/CMakeLists.txt
++++ b/kcmodule/activities/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilactivitiesconfig\")
+ 
+ set( kcm_powerdevil_activities_SRCS
+-     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
++     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
+      activitypage.cpp
+      activitywidget.cpp
+      ../common/ErrorOverlay.cpp
+diff --git a/kcmodule/common/CMakeLists.txt b/kcmodule/common/CMakeLists.txt
+index ca483fa7..400b7746 100644
+--- a/kcmodule/common/CMakeLists.txt
++++ b/kcmodule/common/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ add_definitions(-DTRANSLATION_DOMAIN=\"libpowerdevilcommonconfig\")
+ 
+ set( powerdevil_config_common_private_SRCS
+-    ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
++    ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
+     actionconfigwidget.cpp
+     actioneditwidget.cpp
+     ErrorOverlay.cpp
+diff --git a/kcmodule/profiles/CMakeLists.txt b/kcmodule/profiles/CMakeLists.txt
+index ac5c96e0..32279089 100644
+--- a/kcmodule/profiles/CMakeLists.txt
++++ b/kcmodule/profiles/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ add_definitions(-DTRANSLATION_DOMAIN=\"powerdevilprofilesconfig\")
+ 
+ set( kcm_powerdevil_profiles_SRCS
+-     ${PowerDevil_SOURCE_DIR}/daemon/powerdevil_debug.cpp
++     ${CMAKE_CURRENT_BINARY_DIR}/../../daemon/powerdevil_debug.cpp
+      EditPage.cpp
+      ${PowerDevil_SOURCE_DIR}/daemon/powerdevilprofilegenerator.cpp
+ )
+diff --git a/powerdevil.categories b/powerdevil.categories
+new file mode 100644
+index 00000000..3147de54
+--- /dev/null
++++ b/powerdevil.categories
+@@ -0,0 +1 @@
++org.kde.powerdevil Powerdevil DEFAULT_SEVERITY [WARNING] IDENTIFIER [POWERDEVIL]
+-- 
+2.25.4
+
diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix
index e6b2c472bc8..47cfd644ad7 100644
--- a/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/pkgs/desktops/plasma-5/powerdevil.nix
@@ -27,5 +27,10 @@ mkDerivation {
       url = "https://invent.kde.org/plasma/powerdevil/-/commit/fcb26be2fb279e6ad3b7b814d26a5921d16201eb.patch";
       sha256 = "0gdyaa0nd1c1d6x2h0m933lascm8zm5sikd99wxmkf7hhaby6k2s";
     })
+    # This is a backport of
+    # https://invent.kde.org/plasma/powerdevil/-/commit/c7590f9065ec9547b7fabad77a548bbc0c693113.patch,
+    # which doesn't apply cleanly to 5.17.5.  It should make it into 5.20, so
+    # this patch can be removed when we upgrade to 5.20.
+    ./patches/0001-Add-a-logging-category-config-file.patch
   ];
 }
diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix
index b2fa8fba0dd..a3b320c384f 100644
--- a/pkgs/development/compilers/mit-scheme/default.nix
+++ b/pkgs/development/compilers/mit-scheme/default.nix
@@ -2,12 +2,11 @@
   enableX11 ? false, xlibsWrapper ? null }:
 
 let
-  version = "9.2";
+  version = "10.1.10";
   bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64);
 
   arch = if      stdenv.isi686   then "-i386"
-         else if stdenv.isx86_64 then "-x86-64"
-         else                         "";
+         else                         "-x86-64";
 in
 stdenv.mkDerivation {
   name = if enableX11 then "mit-scheme-x11-${version}" else "mit-scheme-${version}";
@@ -20,14 +19,10 @@ stdenv.mkDerivation {
     if stdenv.isi686
     then fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz";
-      sha256 = "1fmlpnhf5a75db93phajh4ysbdgrgl72v45lk3kznriprl0a7jc6";
-    } else if stdenv.isx86_64
-    then fetchurl {
+      sha256 = "117lf06vcdbaa5432hwqnskpywc6x8ai0gj99h480a4wzkp3vhy6";
+  } else fetchurl {
       url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz";
-      sha256 = "1skzxxhr0iq96bf0j5m7mvf3i4sppfyfa6gpqn34mwgkw1fx8274";
-    } else fetchurl {
-      url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz";
-      sha256 = "0w5ib5vsidihb4hb6fma3sp596ykr8izagm57axvgd6lqzwicsjg";
+      sha256 = "1rljv6iddrbssm91c0nn08myj92af36hkix88cc6qwq38xsxs52g";
     };
 
   buildInputs = if enableX11 then [xlibsWrapper] else [];
diff --git a/pkgs/development/compilers/ocaml/4.11.nix b/pkgs/development/compilers/ocaml/4.11.nix
index 74e3d354f12..13cae5ae539 100644
--- a/pkgs/development/compilers/ocaml/4.11.nix
+++ b/pkgs/development/compilers/ocaml/4.11.nix
@@ -1,6 +1,6 @@
 import ./generic.nix {
   major_version = "4";
   minor_version = "11";
-  patch_version = "0+beta3";
-  sha256 = "18lpgirxil00pgy805cyi97v6ycmg93sdvbkc60i35ili030v1f7";
+  patch_version = "0";
+  sha256 = "04b13yfismkqh21ag641q9dl0i602khgh4427g1a7pb77c4skr7z";
 }
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index e58e51c63ae..230320671a7 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -2,14 +2,14 @@
 
 let params = {
   "8.11" = rec {
-    version = "1.5.0";
+    version = "1.6.0_8.11";
     rev = "v${version}";
-    sha256 = "0dlw869j6ib58i8fhbr7x3hq2cy088arihhfanv8i08djqml6g8x";
+    sha256 = "0ahxjnzmd7kl3gl38kyjqzkfgllncr2ybnw8bvgrc6iddgga7bpq";
   };
   "8.12" = rec {
-    version = "1.5.1";
+    version = "1.6.0";
     rev = "v${version}";
-    sha256 = "1znjc8c8rivsawmz5bgm9ddl69p62p2pwxphvpap1gfmi5cp8lwi";
+    sha256 = "0kf99i43mlf750fr7fric764mm495a53mg5kahnbp6zcjcxxrm0b";
   };
 };
   param = params.${coq.coq-version};
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index ac378a8e646..89305baaee8 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -20,6 +20,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     description = "Intel Graphics Memory Management Library";
     platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ danieldk ];
   };
 }
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 5c7d7718be8..966d89e4cbf 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -150,7 +150,7 @@ let
       kdeclarative = callPackage ./kdeclarative.nix {};
       kded = callPackage ./kded.nix {};
       kdesignerplugin = callPackage ./kdesignerplugin.nix {};
-      kdesu = callPackage ./kdesu.nix {};
+      kdesu = callPackage ./kdesu {};
       kdewebkit = callPackage ./kdewebkit.nix {};
       kemoticons = callPackage ./kemoticons.nix {};
       kglobalaccel = callPackage ./kglobalaccel.nix {};
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu.nix b/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
index df60511b511..cd7055c4ea8 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesu.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
@@ -11,4 +11,5 @@ mkDerivation {
   buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
   propagatedBuildInputs = [ kpty ];
   outputs = [ "out" "dev" ];
+  patches = [ ./kdesu-search-for-wrapped-daemon-first.patch ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
new file mode 100644
index 00000000000..ffc7edadfab
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
@@ -0,0 +1,38 @@
+From 01af4d2a098e5819c09bca37568941dcd4b89d0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Thu, 16 Jul 2020 13:21:42 -0300
+Subject: [PATCH] Search for the daemon first in /run/wrappers/bin
+
+If looking first in libexec, the eventually wrapped one in
+/run/wrappers/bin can not be found.
+---
+ src/client.cpp | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/src/client.cpp b/src/client.cpp
+index 44fbacd..6b5abf5 100644
+--- a/src/client.cpp
++++ b/src/client.cpp
+@@ -378,11 +378,14 @@ int KDEsuClient::stopServer()
+ 
+ static QString findDaemon()
+ {
+-    QString daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
+-    if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
+-        daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
+-        if (daemon.isEmpty()) {
+-            qWarning() << "kdesud daemon not found.";
++    QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
++    if (!QFile::exists(daemon)) { // if not in wrappers
++        daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
++        if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
++            daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
++            if (daemon.isEmpty()) {
++                qWarning() << "kdesud daemon not found.";
++            }
+         }
+     }
+     return daemon;
+-- 
+2.27.0
+
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index e89c0a8b403..fcceb6d6cf2 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -101,11 +101,17 @@ let
       ./qtwebengine-darwin-no-platform-check.patch
       ./qtwebengine-darwin-fix-failed-static-assertion.patch
     ];
-    qtwebkit = [ ./qtwebkit.patch ]
-      ++ optionals stdenv.isDarwin [
-        ./qtwebkit-darwin-no-readline.patch
-        ./qtwebkit-darwin-no-qos-classes.patch
-      ];
+    qtwebkit = [
+      (fetchpatch {
+        name = "qtwebkit-bison-3.7-build.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
+        sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
+      })
+      ./qtwebkit.patch
+    ] ++ optionals stdenv.isDarwin [
+      ./qtwebkit-darwin-no-readline.patch
+      ./qtwebkit-darwin-no-qos-classes.patch
+    ];
     qttools = [ ./qttools.patch ];
   };
 
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index 1a90c610a5b..469157a5f72 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -72,11 +72,17 @@ let
     qtserialport = [ ./qtserialport.patch ];
     qtwebengine = [ ]
       ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
-    qtwebkit = [ ./qtwebkit.patch ]
-      ++ optionals stdenv.isDarwin [
-        ./qtwebkit-darwin-no-readline.patch
-        ./qtwebkit-darwin-no-qos-classes.patch
-      ];
+    qtwebkit = [
+      (fetchpatch {
+        name = "qtwebkit-bison-3.7-build.patch";
+        url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
+        sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
+      })
+      ./qtwebkit.patch
+    ] ++ optionals stdenv.isDarwin [
+      ./qtwebkit-darwin-no-readline.patch
+      ./qtwebkit-darwin-no-qos-classes.patch
+    ];
     qttools = [ ./qttools.patch ];
   };
 
diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix
index e3594d72eda..82a0d063570 100644
--- a/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/pkgs/development/libraries/science/math/petsc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.13.3";
+  version = "3.13.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "0fhydhws57hvxv7mkldlicm2xmmnb9f4nhd8n16idxg4snck38vz";
+    sha256 = "1n2paqw5c0ja392s1qhp7q2ypwav8s5drxxz2w5m2cn31vbspy1c";
   };
 
   nativeBuildInputs = [ blas gfortran gfortran.cc.lib lapack python ];
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 93e29d3d34a..865c5448c5b 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -1,19 +1,19 @@
 { lib, fetchzip, buildDunePackage, camlp5
-, ppx_tools_versioned, ppx_deriving, re
+, ppxlib, ppx_deriving, re, perl, ncurses
 }:
 
 buildDunePackage rec {
   pname = "elpi";
-  version = "1.11.2";
+  version = "1.11.4";
 
    src = fetchzip {
      url = "https://github.com/LPCIC/elpi/releases/download/v${version}/elpi-v${version}.tbz";
-     sha256 = "15hamy9ifr05kczadwh3yj2gmr12a9z1jwppmp5yrns0vykjbj76";
+     sha256 = "1hmjp2z52j17vwhhdkj45n9jx11jxkdg2dwa0n04yyw0qqy4m7c1";
    };
 
   minimumOCamlVersion = "4.04";
 
-  buildInputs = [ ppx_tools_versioned ];
+  buildInputs = [ perl ncurses ppxlib ];
 
   propagatedBuildInputs = [ camlp5 ppx_deriving re ];
 
@@ -24,5 +24,9 @@ buildDunePackage rec {
     homepage = "https://github.com/LPCIC/elpi";
   };
 
+  postPatch = ''
+    substituteInPlace elpi_REPL.ml --replace "tput cols" "${ncurses}/bin/tput cols"
+  '';
+
   useDune2 = true;
 }
diff --git a/pkgs/development/python-modules/ansiconv/default.nix b/pkgs/development/python-modules/ansiconv/default.nix
index 7ad683b8c36..d2de4837e07 100644
--- a/pkgs/development/python-modules/ansiconv/default.nix
+++ b/pkgs/development/python-modules/ansiconv/default.nix
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     repo = pname;
     rev = "v${version}";
     sha256 = "0ljfpl8x069arzginvpi1v6hlaq4x2qpjqj01qds2ylz33scq8r4";
-  };  
+  };
 
   checkInputs = [ pytest ];
 
@@ -21,4 +21,3 @@ buildPythonPackage rec {
   };
 
 }
-
diff --git a/pkgs/development/python-modules/aria2p/default.nix b/pkgs/development/python-modules/aria2p/default.nix
index 51b523c010a..9126969c22d 100644
--- a/pkgs/development/python-modules/aria2p/default.nix
+++ b/pkgs/development/python-modules/aria2p/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     rev = "v${version}";
     sha256 = "1inak3y2win58zbzykfzy6xp00f276sqsz69h2nfsd93mpr74wf6";
   };
-  
+
   nativeBuildInputs = [ poetry ];
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/atlassian-python-api/default.nix b/pkgs/development/python-modules/atlassian-python-api/default.nix
index 57e54d24ae3..37cd2211833 100755
--- a/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/pkgs/development/python-modules/atlassian-python-api/default.nix
@@ -17,16 +17,16 @@
 buildPythonPackage rec {
   pname = "atlassian-python-api";
   version = "1.16.0";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "1sp036192vdl5nqifcswg2j838vf8i9k8bfd0w4qh1vz4f0pjz7y";
   };
-  
+
   checkInputs = [ pytestrunner pytest ];
-  
+
   propagatedBuildInputs = [ oauthlib requests requests_oauthlib six ];
-  
+
   meta = with lib; {
     description = "Python Atlassian REST API Wrapper";
     homepage = "https://github.com/atlassian-api/atlassian-python-api";
@@ -34,4 +34,3 @@ buildPythonPackage rec {
     maintainers = [ maintainers.arnoldfarkas ];
   };
 }
-
diff --git a/pkgs/development/python-modules/audiotools/default.nix b/pkgs/development/python-modules/audiotools/default.nix
index ee029726d1c..1ad21608274 100644
--- a/pkgs/development/python-modules/audiotools/default.nix
+++ b/pkgs/development/python-modules/audiotools/default.nix
@@ -25,4 +25,4 @@ buildPythonPackage rec {
     homepage = "http://audiotools.sourceforge.net/";
     license = lib.licenses.gpl2Plus;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index ecffc5b2a21..38b580df252 100644
--- a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "0.16.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "308aeabdff61bf35ceb7a3d6dd19f1ab69a041bd92c85ee24d98a624968697f3";
+    sha256 = "e08b37aea8e6b62596f55f9beb924e1759b2dc424c180ab2e752153a2b01b723";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
index ded4531b48a..b6f0dadf225 100644
--- a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.6.0";
+  version = "1.7.0";
   pname = "azure-mgmt-hdinsight";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b1d06279307c41da5e0a5c9722aa6b36ce3b2c212534a54767210639451b9800";
+    sha256 = "9d1120bd9760687d87594ec5ce9257b7335504afbe55b3cda79462c1e07a095b";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/batchgenerators/default.nix b/pkgs/development/python-modules/batchgenerators/default.nix
index bfc52c99ef5..b0f3cdb6e11 100644
--- a/pkgs/development/python-modules/batchgenerators/default.nix
+++ b/pkgs/development/python-modules/batchgenerators/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     repo = pname;
     rev = "v${version}";
     sha256 = "0cc3i4wznqb7lk8n6jkprvkpsby6r7khkxqwn75k8f01mxgjfpvf";
-    
+
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/bayesian-optimization/default.nix b/pkgs/development/python-modules/bayesian-optimization/default.nix
index 990d471bc6b..69494a4fa1f 100644
--- a/pkgs/development/python-modules/bayesian-optimization/default.nix
+++ b/pkgs/development/python-modules/bayesian-optimization/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     scikitlearn
     scipy
   ];
-  
+
   checkInputs = [ pytest ];
   checkPhase = ''
     pytest tests
diff --git a/pkgs/development/python-modules/bespon/default.nix b/pkgs/development/python-modules/bespon/default.nix
index 40cf72ac394..51e29e55d07 100644
--- a/pkgs/development/python-modules/bespon/default.nix
+++ b/pkgs/development/python-modules/bespon/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ ];
   # upstream doesn't contain tests
   doCheck = false;
-  
+
   pythonImportsCheck = [ "bespon" ];
   meta = with stdenv.lib; {
     description = "Encodes and decodes data in the BespON format.";
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index c6a82d8ec42..1e995af3920 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "45bba08bc142781ec7e18a847735219390808f9b6279c356252edddaee1f5fcd";
+    sha256 = "567631fc922b1c2c528c376795f18dcc0604d18702e0b8b50e8e35f0474214a5";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index d6fd70031aa..5afb3bfffcf 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k, isPy27 }:
 
 buildPythonPackage rec {
-  version = "4.19.2";
+  version = "4.20.0";
   pname = "breathe";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mzcggfr61lqkn6sghg842ah9slfjr0ikc776vbx60iqqw9l1gvn";
+    sha256 = "d7e1e1ee9b0615423b7e9abc64f0afe12e7bcf32c817a8fd1d9c8c3c4b3d71c9";
   };
 
   propagatedBuildInputs = [ docutils six sphinx ];
diff --git a/pkgs/development/python-modules/brotlipy/default.nix b/pkgs/development/python-modules/brotlipy/default.nix
index 1dd2a070480..f914d2d6c97 100644
--- a/pkgs/development/python-modules/brotlipy/default.nix
+++ b/pkgs/development/python-modules/brotlipy/default.nix
@@ -33,4 +33,4 @@ buildPythonPackage rec {
     homepage = "https://github.com/python-hyper/brotlipy/";
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/build/default.nix b/pkgs/development/python-modules/build/default.nix
index baf583c45e0..97a7f9a201b 100644
--- a/pkgs/development/python-modules/build/default.nix
+++ b/pkgs/development/python-modules/build/default.nix
@@ -43,4 +43,4 @@ buildPythonPackage rec {
     description = "A simple, correct PEP517 package builder";
     license = lib.licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/certipy/default.nix b/pkgs/development/python-modules/certipy/default.nix
index 12706ab3d8a..5d34eede311 100644
--- a/pkgs/development/python-modules/certipy/default.nix
+++ b/pkgs/development/python-modules/certipy/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [ pyopenssl ];
-  
+
   doCheck = false; #no tests were included
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/cftime/default.nix b/pkgs/development/python-modules/cftime/default.nix
index ee639553b82..1a29e51b35f 100644
--- a/pkgs/development/python-modules/cftime/default.nix
+++ b/pkgs/development/python-modules/cftime/default.nix
@@ -28,4 +28,4 @@ buildPythonPackage rec {
     description = "Time-handling functionality from netcdf4-python";
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/channels-redis/default.nix b/pkgs/development/python-modules/channels-redis/default.nix
index b8a95387571..fb0774478a0 100644
--- a/pkgs/development/python-modules/channels-redis/default.nix
+++ b/pkgs/development/python-modules/channels-redis/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   #   pytest
   #   pytest-asyncio
   # ];
-  # 
+  #
   # # Fails with : ConnectionRefusedError: [Errno 111] Connect call failed ('127.0.0.1', 6379)
   # # (even with a local redis instance running)
   # checkPhase = ''
diff --git a/pkgs/development/python-modules/configparser/4.nix b/pkgs/development/python-modules/configparser/4.nix
index 038ee49d2c6..9c6c631d9c2 100644
--- a/pkgs/development/python-modules/configparser/4.nix
+++ b/pkgs/development/python-modules/configparser/4.nix
@@ -23,4 +23,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     homepage = "https://github.com/jaraco/configparser";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/cookiecutter/default.nix b/pkgs/development/python-modules/cookiecutter/default.nix
index 873cbe142d9..23bc8bcec52 100644
--- a/pkgs/development/python-modules/cookiecutter/default.nix
+++ b/pkgs/development/python-modules/cookiecutter/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jinja2 future binaryornot click whichcraft poyo jinja2_time requests python-slugify
   ];
-  
+
   # requires network access for cloning git repos
   doCheck = false;
   checkPhase = ''
diff --git a/pkgs/development/python-modules/cppy/default.nix b/pkgs/development/python-modules/cppy/default.nix
index c6477c15533..fffa9174424 100644
--- a/pkgs/development/python-modules/cppy/default.nix
+++ b/pkgs/development/python-modules/cppy/default.nix
@@ -24,4 +24,4 @@ buildPythonPackage rec {
     homepage = "https://github.com/nucleic/cppy";
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index 44e940ababa..2bbd20a16d7 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   preConfigure = ''
       export CUDA_PATH=${cudatoolkit}
-  ''; 
+  '';
 
   propagatedBuildInputs = [
     cudatoolkit
diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix
index 8d2b6398c4b..29b19414151 100644
--- a/pkgs/development/python-modules/cvxpy/default.nix
+++ b/pkgs/development/python-modules/cvxpy/default.nix
@@ -11,18 +11,19 @@
 , scs
 , six
   # Check inputs
+, pytestCheckHook
 , nose
 }:
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.1.4";
+  version = "1.1.5";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f37da2f891508ebc2bbb2b75c46a2076be39a60a45c8a88261e000e8aabeef2";
+    sha256 = "7c826a874db2e4cefe54e63ebd3a3763d0d72e55a17c7d1cfec80008a87b8d81";
   };
 
   propagatedBuildInputs = [
@@ -36,15 +37,19 @@ buildPythonPackage rec {
     six
   ];
 
-  checkInputs = [ nose ];
-  checkPhase = ''
-    nosetests cvxpy
-  '';
+  checkInputs = [ pytestCheckHook nose ];
+  pytestFlagsArray = [ "./cvxpy" ];
+  # Disable the slowest benchmarking tests, cuts test time in half
+  disabledTests = [
+    "test_tv_inpainting"
+    "test_diffcp_sdp_example"
+  ];
 
   meta = with lib; {
     description = "A domain-specific language for modeling convex optimization problems in Python.";
     homepage = "https://www.cvxpy.org/";
     downloadPage = "https://github.com/cvxgrp/cvxpy/releases";
+    changelog = "https://github.com/cvxgrp/cvxpy/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ drewrisinger ];
   };
diff --git a/pkgs/development/python-modules/django-auth-ldap/default.nix b/pkgs/development/python-modules/django-auth-ldap/default.nix
index c419fff7902..84b9df28bce 100644
--- a/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi, isPy27
-, ldap , django 
+, ldap , django
 , mock
 }:
 
@@ -14,8 +14,8 @@ buildPythonPackage rec {
     sha256 = "11af1773b08613339d2c3a0cec1308a4d563518f17b1719c3759994d0b4d04bf";
   };
 
-  propagatedBuildInputs = [ ldap django ]; 
-  checkInputs = [ mock ]; 
+  propagatedBuildInputs = [ ldap django ];
+  checkInputs = [ mock ];
 
   # django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
   doCheck = false;
diff --git a/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
index aebe236c66c..34fb7a1d7b5 100644
--- a/pkgs/development/python-modules/django-dynamic-preferences/default.nix
+++ b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     sha256 = "2310291c7f40606be045938d65e117383549aa8a979c6c4b700464c6a6204a34";
   };
 
-  propagatedBuildInputs = [ six django persisting-theory ]; 
+  propagatedBuildInputs = [ six django persisting-theory ];
 
   # django.core.exceptions.ImproperlyConfigured: Requested setting DYNAMIC_PREFERENCES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
   doCheck = false;
diff --git a/pkgs/development/python-modules/django-multiselectfield/default.nix b/pkgs/development/python-modules/django-multiselectfield/default.nix
index 3561f1d8c1c..046c60989a7 100644
--- a/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -23,4 +23,4 @@ buildPythonPackage rec {
     homepage = "https://github.com/goinnn/django-multiselectfield";
     license = lib.licenses.lgpl3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
index 626d704f1d8..f4c50a71149 100644
--- a/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
+++ b/pkgs/development/python-modules/djangorestframework-simplejwt/default.nix
@@ -3,17 +3,17 @@
 buildPythonPackage rec {
   pname = "djangorestframework_simplejwt";
   version = "4.4.0";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "c315be70aa12a5f5790c0ab9acd426c3a58eebea65a77d0893248c5144a5080c";
   };
-  
+
   propagatedBuildInputs = [ django djangorestframework pyjwt ];
-  
+
   # Test raises django.core.exceptions.ImproperlyConfigured
   doCheck = false;
-  
+
   meta = with lib; {
     description = "A minimal JSON Web Token authentication plugin for Django REST Framework";
     homepage = "https://github.com/davesque/django-rest-framework-simplejwt";
diff --git a/pkgs/development/python-modules/fixtures/default.nix b/pkgs/development/python-modules/fixtures/default.nix
index 35bf7cb90df..3042acbbe84 100644
--- a/pkgs/development/python-modules/fixtures/default.nix
+++ b/pkgs/development/python-modules/fixtures/default.nix
@@ -27,4 +27,4 @@ buildPythonPackage rec {
     homepage = "https://pypi.python.org/pypi/fixtures";
     license = lib.licenses.asl20;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/flask-marshmallow/default.nix b/pkgs/development/python-modules/flask-marshmallow/default.nix
index 6ef3291af6c..5d783f6c7c4 100644
--- a/pkgs/development/python-modules/flask-marshmallow/default.nix
+++ b/pkgs/development/python-modules/flask-marshmallow/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/marshmallow-code/flask-marshmallow";
     description = "Flask + marshmallow for beautiful APIs";
     license = lib.licenses.mit;
-  }; 
+  };
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/fluent-logger/default.nix b/pkgs/development/python-modules/fluent-logger/default.nix
index d47465c9723..e99ececc24e 100644
--- a/pkgs/development/python-modules/fluent-logger/default.nix
+++ b/pkgs/development/python-modules/fluent-logger/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [ msgpack ];
-  
+
   # Tests fail because absent in package
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/fuse-python/default.nix b/pkgs/development/python-modules/fuse-python/default.nix
index 8c69ead0ae0..ab87f57be39 100644
--- a/pkgs/development/python-modules/fuse-python/default.nix
+++ b/pkgs/development/python-modules/fuse-python/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   buildInputs = [ fuse ];
   nativeBuildInputs = [ pkgconfig ];
-  
+
   # no tests in the Pypi archive
   doCheck = false;
 
@@ -22,4 +22,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ psyanticy ];
   };
 }
-
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index f7a89732467..ead4b297b8b 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -23,11 +23,11 @@ buildPythonPackage rec {
 
   # No tests in archive
   doCheck = false;
-  
+
   checkInputs = [ flake8 nose2 mock ];
-  
+
   propagatedBuildInputs = [ requests pyjwt  ];
- 
+
   meta = with lib; {
     description = "A convenient Pythonic interface to Globus REST APIs, including the Transfer API and the Globus Auth API.";
     homepage =  "https://github.com/globus/globus-sdk-python";
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index fcb2867050d..f531c547f9c 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.10.1";
+  version = "0.14.1";
 
   # patch does not apply to PyPI tarball due to different line endings
   src = fetchFromGitHub {
     owner = "xflr6";
     repo = "graphviz";
     rev = version;
-    sha256 = "1vqk4xy45c72la56j24z9jmjp5a0aa2k32fybnlbkzqjvvbl72d8";
+    sha256 = "02bdiac5x93f2mjw5kpgs6kv81hzg07y0mw1nxvhyg8aignzmh3c";
   };
 
   patches = [
@@ -30,9 +30,9 @@ buildPythonPackage rec {
     })
   ];
 
-  # Fontconfig error: Cannot load default config file 
-  FONTCONFIG_FILE = makeFontsConf { 
-    fontDirectories = [ freefont_ttf ]; 
+  # Fontconfig error: Cannot load default config file
+  FONTCONFIG_FILE = makeFontsConf {
+    fontDirectories = [ freefont_ttf ];
   };
 
   checkInputs = [ mock pytest pytest-mock pytestcov ];
diff --git a/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch b/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
index ad632974c28..d6da1ff47ce 100644
--- a/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
+++ b/pkgs/development/python-modules/graphviz/hardcode-graphviz-path.patch
@@ -1,38 +1,39 @@
 diff --git a/graphviz/backend.py b/graphviz/backend.py
-index 704017b..fe4aefe 100644
+index 6f4cc0c..bc4781e 100644
 --- a/graphviz/backend.py
 +++ b/graphviz/backend.py
-@@ -114,7 +114,7 @@ def command(engine, format, filepath=None, renderer=None, formatter=None):
-     suffix = '.'.join(reversed(format_arg))
-     format_arg = ':'.join(format_arg)
+@@ -122,7 +122,7 @@ def command(engine, format_, filepath=None, renderer=None, formatter=None):
+         raise ValueError('unknown formatter: %r' % formatter)
  
--    cmd = [engine, '-T%s' % format_arg]
-+    cmd = [os.path.join('@graphviz@/bin', engine), '-T%s' % format_arg]
-     rendered = None
-     if filepath is not None:
-         cmd.extend(['-O', filepath])
-@@ -217,7 +217,7 @@ def version():
+     output_format = [f for f in (format_, renderer, formatter) if f is not None]
+-    cmd = [engine, '-T%s' % ':'.join(output_format)]
++    cmd = [os.path.join('@graphviz@/bin', engine), '-T%s' % ':'.join(output_format)]
+ 
+     if filepath is None:
+         rendered = None
+@@ -255,7 +255,7 @@ def version():
          subprocess.CalledProcessError: If the exit status is non-zero.
          RuntimmeError: If the output cannot be parsed into a version number.
      """
 -    cmd = ['dot', '-V']
 +    cmd = ['@graphviz@/bin/dot', '-V']
-     out, _ = run(cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- 
-     info = out.decode('ascii')
+     out, _ = run(cmd, check=True, encoding='ascii',
+                  stdout=subprocess.PIPE,
+                  stderr=subprocess.STDOUT)
 diff --git a/tests/test_backend.py b/tests/test_backend.py
-index 7ec12f7..2e8550d 100644
+index 9f307f5..e43bf5b 100644
 --- a/tests/test_backend.py
 +++ b/tests/test_backend.py
-@@ -47,6 +47,7 @@ def test_render_formatter_unknown():
-         render('dot', 'ps', 'nonfilepath', 'ps', '')
+@@ -50,7 +50,7 @@ def test_run_encoding_mocked(mocker, Popen, input=u'sp\xe4m', encoding='utf-8'):
+         m.decode.assert_called_once_with(encoding)
  
  
+-@pytest.exe
 +@pytest.mark.skip(reason='empty $PATH has no effect')
  @pytest.mark.usefixtures('empty_path')
- def test_render_missing_executable():
-     with pytest.raises(ExecutableNotFound, match=r'execute'):
-@@ -85,7 +86,7 @@ def test_render_mocked(capsys, mocker, Popen, quiet):
+ @pytest.mark.parametrize('func, args', [
+     (render, ['dot', 'pdf', 'nonfilepath']),
+@@ -143,7 +143,7 @@ def test_render_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
  
      assert render('dot', 'pdf', 'nonfilepath', quiet=quiet) == 'nonfilepath.pdf'
  
@@ -40,25 +41,17 @@ index 7ec12f7..2e8550d 100644
 +    Popen.assert_called_once_with(['@graphviz@/bin/dot', '-Tpdf', '-O', 'nonfilepath'],
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.PIPE,
-                                   startupinfo=mocker.ANY)
-@@ -94,6 +95,7 @@ def test_render_mocked(capsys, mocker, Popen, quiet):
-     assert capsys.readouterr() == ('', '' if quiet else 'stderr')
- 
- 
-+@pytest.mark.skip(reason='empty $PATH has no effect')
- @pytest.mark.usefixtures('empty_path')
- def test_pipe_missing_executable():
-     with pytest.raises(ExecutableNotFound, match=r'execute'):
-@@ -143,7 +145,7 @@ def test_pipe_pipe_invalid_data_mocked(mocker, py2, Popen, quiet):  # noqa: N803
-     assert e.value.returncode is mocker.sentinel.returncode
+                                   cwd=None, startupinfo=mocker.ANY)
+@@ -201,7 +201,7 @@ def test_pipe_pipe_invalid_data_mocked(mocker, py2, Popen, quiet):  # noqa: N803
      assert e.value.stdout is mocker.sentinel.out
-     assert e.value.stderr is err
+     e.value.stdout = mocker.sentinel.new_stdout
+     assert e.value.stdout is mocker.sentinel.new_stdout
 -    Popen.assert_called_once_with(['dot', '-Tpng'],
 +    Popen.assert_called_once_with(['@graphviz@/bin/dot', '-Tpng'],
                                    stdin=subprocess.PIPE,
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.PIPE,
-@@ -166,7 +168,7 @@ def test_pipe_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
+@@ -224,7 +224,7 @@ def test_pipe_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
  
      assert pipe('dot', 'png', b'nongraph', quiet=quiet) is mocker.sentinel.out
  
@@ -67,16 +60,8 @@ index 7ec12f7..2e8550d 100644
                                    stdin=subprocess.PIPE,
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.PIPE,
-@@ -176,6 +178,7 @@ def test_pipe_mocked(capsys, mocker, Popen, quiet):  # noqa: N803
-     assert capsys.readouterr() == ('', '' if quiet else 'stderr')
- 
- 
-+@pytest.mark.skip(reason='empty $PATH has no effect')
- @pytest.mark.usefixtures('empty_path')
- def test_version_missing_executable():
-     with pytest.raises(ExecutableNotFound, match=r'execute'):
-@@ -196,7 +199,7 @@ def test_version_parsefail_mocked(mocker, Popen):
-     with pytest.raises(RuntimeError):
+@@ -250,7 +250,7 @@ def test_version_parsefail_mocked(mocker, Popen):  # noqa: N803
+     with pytest.raises(RuntimeError, match=r'nonversioninfo'):
          version()
  
 -    Popen.assert_called_once_with(['dot', '-V'],
@@ -84,9 +69,9 @@ index 7ec12f7..2e8550d 100644
                                    stdout=subprocess.PIPE,
                                    stderr=subprocess.STDOUT,
                                    startupinfo=mocker.ANY)
-@@ -211,7 +214,7 @@ def test_version_mocked(mocker, Popen):
+@@ -269,7 +269,7 @@ def test_version_mocked(mocker, Popen, stdout, expected):  # noqa: N803
  
-     assert version() == (1, 2, 3)
+     assert version() == expected
  
 -    Popen.assert_called_once_with(['dot', '-V'],
 +    Popen.assert_called_once_with(['@graphviz@/bin/dot', '-V'],
diff --git a/pkgs/development/python-modules/h5netcdf/default.nix b/pkgs/development/python-modules/h5netcdf/default.nix
index 3d66291aed8..316c5bc4d48 100644
--- a/pkgs/development/python-modules/h5netcdf/default.nix
+++ b/pkgs/development/python-modules/h5netcdf/default.nix
@@ -35,4 +35,4 @@ buildPythonPackage rec {
     license = lib.licenses.bsd3;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/helpdev/default.nix b/pkgs/development/python-modules/helpdev/default.nix
index c4caf0e46ad..34b4d697447 100644
--- a/pkgs/development/python-modules/helpdev/default.nix
+++ b/pkgs/development/python-modules/helpdev/default.nix
@@ -27,4 +27,4 @@ buildPythonPackage rec {
     license = lib.licenses.mit;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/idna/default.nix b/pkgs/development/python-modules/idna/default.nix
index 3c0a67e6260..613fde773a7 100644
--- a/pkgs/development/python-modules/idna/default.nix
+++ b/pkgs/development/python-modules/idna/default.nix
@@ -17,4 +17,4 @@ buildPythonPackage rec {
     description = "Internationalized Domain Names in Applications (IDNA)";
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/imagecorruptions/default.nix b/pkgs/development/python-modules/imagecorruptions/default.nix
index f77e2dcab0d..3ebd22ffeb2 100644
--- a/pkgs/development/python-modules/imagecorruptions/default.nix
+++ b/pkgs/development/python-modules/imagecorruptions/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "'opencv-python >= 3.4.5'," ""
   '';
-  
+
   propagatedBuildInputs = [
     numpy
     scikitimage
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index edf9d0863a1..c8539598fe6 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -42,9 +42,9 @@ buildPythonPackage rec {
     "test_subprocess_print"
     "test_subprocess_error"
     "test_ipython_start_kernel_no_userns"
-    
+
     # https://github.com/ipython/ipykernel/issues/506
-    "test_unc_paths"    
+    "test_unc_paths"
   ] ++ lib.optionals (pythonOlder "3.8") [
     # flaky test https://github.com/ipython/ipykernel/issues/485
     "test_shutdown"
diff --git a/pkgs/development/python-modules/jdcal/default.nix b/pkgs/development/python-modules/jdcal/default.nix
index 4fd89c83abc..c2dd66ac663 100644
--- a/pkgs/development/python-modules/jdcal/default.nix
+++ b/pkgs/development/python-modules/jdcal/default.nix
@@ -25,4 +25,4 @@ buildPythonPackage rec {
     license = lib.licenses.bsd2;
     maintainers = with lib.maintainers; [ lihop ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/jupyter-sphinx/default.nix b/pkgs/development/python-modules/jupyter-sphinx/default.nix
index 9f2143e2f20..4d2efcf00b7 100644
--- a/pkgs/development/python-modules/jupyter-sphinx/default.nix
+++ b/pkgs/development/python-modules/jupyter-sphinx/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     description = "Jupyter Sphinx Extensions";
     homepage = "https://github.com/jupyter/jupyter-sphinx/";
     license = licenses.bsd3;
-  };    
+  };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
index 3aa3cebbfa5..38fac27ad43 100644
--- a/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
+++ b/pkgs/development/python-modules/jupyterhub-ldapauthenticator/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   # No tests implemented
   doCheck = false;
-   
+
   propagatedBuildInputs = [ jupyterhub ldap3 ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/jwcrypto/default.nix b/pkgs/development/python-modules/jwcrypto/default.nix
index 997e3aedf53..42ed4cf8794 100644
--- a/pkgs/development/python-modules/jwcrypto/default.nix
+++ b/pkgs/development/python-modules/jwcrypto/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "jwcrypto";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "002i60yidafpr642qcxrd74d8frbc4ci8vfysm05vqydcri1zgmd";
+    sha256 = "b7fee2635bbefdf145399392f5be26ad54161c8271c66b5fe107b4b452f06c24";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/kiwisolver/default.nix b/pkgs/development/python-modules/kiwisolver/default.nix
index 23cff218e83..393e2d134cc 100644
--- a/pkgs/development/python-modules/kiwisolver/default.nix
+++ b/pkgs/development/python-modules/kiwisolver/default.nix
@@ -14,9 +14,9 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "247800260cd38160c362d211dcaf4ed0f7816afb5efe56544748b21d6ad6d17f";
   };
-  
+
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
-  
+
   nativeBuildInputs = [
     cppy
   ];
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index a3dc365908c..ad8d2853b1d 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ jinja2 requests pillow rasterio shapely ];
 
   # Test cases are not running on pypi or GitHub
-  doCheck = false;   
+  doCheck = false;
 
   meta = with lib; {
     homepage = "https://github.com/Labelbox/Labelbox";
diff --git a/pkgs/development/python-modules/lazy/default.nix b/pkgs/development/python-modules/lazy/default.nix
index ff967d62dc6..1e5f72ff803 100644
--- a/pkgs/development/python-modules/lazy/default.nix
+++ b/pkgs/development/python-modules/lazy/default.nix
@@ -18,4 +18,4 @@ buildPythonPackage rec {
     license = lib.licenses.bsd2;
     homepage = "https://github.com/stefanholek/lazy";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix
index 3f841dabcda..0fc5d857fb8 100644
--- a/pkgs/development/python-modules/librosa/default.nix
+++ b/pkgs/development/python-modules/librosa/default.nix
@@ -9,6 +9,7 @@
 , audioread
 , resampy
 , soundfile
+, pooch
 }:
 
 buildPythonPackage rec {
@@ -20,15 +21,21 @@ buildPythonPackage rec {
     sha256 = "af0b9f2ed4bbf6aecbc448a4cd27c16453c397cb6bef0f0cfba0e63afea2b839";
   };
 
-  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy soundfile ];
+  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy soundfile pooch ];
 
   # No tests
+  # 1. Internet connection is required
+  # 2. Got error "module 'librosa' has no attribute 'version'"
   doCheck = false;
 
+  # check that import works, this allows to capture errors like https://github.com/librosa/librosa/issues/1160
+  pythonImportsCheck = [ "librosa" ];
+
   meta = with stdenv.lib; {
     description = "Python module for audio and music processing";
     homepage = "http://librosa.github.io/";
     license = licenses.isc;
+    maintainers = with maintainers; [ GuillaumeDesforges ];
   };
 
 }
diff --git a/pkgs/development/python-modules/logfury/default.nix b/pkgs/development/python-modules/logfury/default.nix
index a52f194b8be..5f83c8633dc 100644
--- a/pkgs/development/python-modules/logfury/default.nix
+++ b/pkgs/development/python-modules/logfury/default.nix
@@ -28,4 +28,4 @@ buildPythonPackage rec {
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ jwiegley ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/loguru/default.nix b/pkgs/development/python-modules/loguru/default.nix
index fbda4989a24..18b1594b280 100644
--- a/pkgs/development/python-modules/loguru/default.nix
+++ b/pkgs/development/python-modules/loguru/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "loguru";
   version = "0.5.1";
-  
+
   disabled = isPy27;
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/marionette-harness/default.nix b/pkgs/development/python-modules/marionette-harness/default.nix
index 29d38a1f2f0..187e3a646a0 100644
--- a/pkgs/development/python-modules/marionette-harness/default.nix
+++ b/pkgs/development/python-modules/marionette-harness/default.nix
@@ -21,8 +21,8 @@ buildPythonPackage rec {
     sha256 = "041cd779ae383fb5c56f2bb44824f4e80ba895febd9a3f21570ac274221c82e0";
   };
 
-  propagatedBuildInputs = [ mozprofile mozversion browsermob-proxy moztest 
-    wptserve manifestparser marionette_driver ]; 
+  propagatedBuildInputs = [ mozprofile mozversion browsermob-proxy moztest
+    wptserve manifestparser marionette_driver ];
 
   meta = {
     description = "Mozilla Marionette protocol test automation harness";
diff --git a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
index 60e9e0460e7..28193528ed2 100644
--- a/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
+++ b/pkgs/development/python-modules/marionette-harness/marionette_driver.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "99ca2513d4e2ca29a08e550346f23947a50627a2b02f6ad36a4550e779fa0ce8";
   };
 
-  propagatedBuildInputs = [ mozversion mozrunner ]; 
+  propagatedBuildInputs = [ mozversion mozrunner ];
 
   meta = {
     description = "Mozilla Marionette driver";
diff --git a/pkgs/development/python-modules/marionette-harness/mozhttpd.nix b/pkgs/development/python-modules/marionette-harness/mozhttpd.nix
index 3520d23081b..9f5a77549da 100644
--- a/pkgs/development/python-modules/marionette-harness/mozhttpd.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozhttpd.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     sha256 = "10y1cr933ajx9ni701ayb7r361pak9wrzr7pdpyx81kkbjddq7qa";
   };
 
-  propagatedBuildInputs = [ moznetwork ]; 
+  propagatedBuildInputs = [ moznetwork ];
 
   meta = {
     description = "Webserver for Mozilla testing";
diff --git a/pkgs/development/python-modules/marionette-harness/moznetwork.nix b/pkgs/development/python-modules/marionette-harness/moznetwork.nix
index 3029f7ed546..6bdc93f680a 100644
--- a/pkgs/development/python-modules/marionette-harness/moznetwork.nix
+++ b/pkgs/development/python-modules/marionette-harness/moznetwork.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "0ws20l4ggb6mj7ycwrk5h7hj1jmj3mj0ca48k5jzsa4n042ahwrd";
   };
 
-  propagatedBuildInputs = [ mozlog mozinfo ]; 
+  propagatedBuildInputs = [ mozlog mozinfo ];
 
   meta = {
     description = "Network utilities for Mozilla testing";
diff --git a/pkgs/development/python-modules/markdown/3_1.nix b/pkgs/development/python-modules/markdown/3_1.nix
index b07d36e22c7..eb9b2e59ec8 100644
--- a/pkgs/development/python-modules/markdown/3_1.nix
+++ b/pkgs/development/python-modules/markdown/3_1.nix
@@ -18,8 +18,8 @@ buildPythonPackage rec {
     sha256 = "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a";
   };
 
-  propagatedBuildInputs = [ 
-    setuptools 
+  propagatedBuildInputs = [
+    setuptools
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix
index aa076cddadc..c97f74a2f2a 100644
--- a/pkgs/development/python-modules/markdown/default.nix
+++ b/pkgs/development/python-modules/markdown/default.nix
@@ -18,8 +18,8 @@ buildPythonPackage rec {
     sha256 = "1fafe3f1ecabfb514a5285fca634a53c1b32a81cb0feb154264d55bf2ff22c17";
   };
 
-  propagatedBuildInputs = [ 
-    setuptools 
+  propagatedBuildInputs = [
+    setuptools
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
diff --git a/pkgs/development/python-modules/marshmallow-polyfield/default.nix b/pkgs/development/python-modules/marshmallow-polyfield/default.nix
index 3b18c10cbc3..e3b629b3034 100644
--- a/pkgs/development/python-modules/marshmallow-polyfield/default.nix
+++ b/pkgs/development/python-modules/marshmallow-polyfield/default.nix
@@ -31,4 +31,4 @@ buildPythonPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ drewrisinger ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/mask-rcnn/default.nix b/pkgs/development/python-modules/mask-rcnn/default.nix
index e9362f4e077..ae07e7928a6 100644
--- a/pkgs/development/python-modules/mask-rcnn/default.nix
+++ b/pkgs/development/python-modules/mask-rcnn/default.nix
@@ -18,7 +18,7 @@
 buildPythonPackage rec {
   pname = "mask-rcnn";
   version = "2.1";
-  
+
   src = fetchFromGitHub {
     owner = "matterport";
     repo = "Mask_RCNN";
@@ -49,4 +49,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ rakesh4g ];
   };
 }
-
diff --git a/pkgs/development/python-modules/mock/2.nix b/pkgs/development/python-modules/mock/2.nix
index 9ab8de1ba50..190297b41a2 100644
--- a/pkgs/development/python-modules/mock/2.nix
+++ b/pkgs/development/python-modules/mock/2.nix
@@ -41,4 +41,4 @@ buildPythonPackage rec {
     license = licenses.bsd2;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/morphys/default.nix b/pkgs/development/python-modules/morphys/default.nix
index 8f8525f7afe..b89055829ef 100644
--- a/pkgs/development/python-modules/morphys/default.nix
+++ b/pkgs/development/python-modules/morphys/default.nix
@@ -21,4 +21,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ rakesh4g ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/mwoauth/default.nix b/pkgs/development/python-modules/mwoauth/default.nix
index 94a85d41d9e..0a73e99391e 100644
--- a/pkgs/development/python-modules/mwoauth/default.nix
+++ b/pkgs/development/python-modules/mwoauth/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   # package has no tests
   doCheck = false;
-  
+
   propagatedBuildInputs = [ six pyjwt requests oauthlib requests_oauthlib ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/nassl/default.nix b/pkgs/development/python-modules/nassl/default.nix
index 08cfb66408d..0df4b0218b5 100644
--- a/pkgs/development/python-modules/nassl/default.nix
+++ b/pkgs/development/python-modules/nassl/default.nix
@@ -80,14 +80,14 @@ buildPythonPackage rec {
     cp ${opensslLegacyStatic.out}/lib/libssl.a \
       ${opensslLegacyStatic.out}/lib/libcrypto.a \
       deps/openssl-OpenSSL_1_0_2e/
-    ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_1_0_2e/include 
+    ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_1_0_2e/include
     ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_1_0_2e/apps
 
     mkdir -p deps/openssl-OpenSSL_1_1_1/
     cp ${opensslStatic.out}/lib/libssl.a \
       ${opensslStatic.out}/lib/libcrypto.a \
       deps/openssl-OpenSSL_1_1_1/
-    ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_1_1_1/include 
+    ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_1_1_1/include
     ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_1_1_1/apps
 
     mkdir -p deps/zlib-1.2.11/
diff --git a/pkgs/development/python-modules/nbconflux/default.nix b/pkgs/development/python-modules/nbconflux/default.nix
index 2ca203e65ac..e86119036b5 100644
--- a/pkgs/development/python-modules/nbconflux/default.nix
+++ b/pkgs/development/python-modules/nbconflux/default.nix
@@ -3,22 +3,22 @@
 buildPythonPackage rec {
   pname = "nbconflux";
   version = "0.7.0";
-  
+
   src = fetchFromGitHub {
     owner = "Valassis-Digital-Media";
     repo = "nbconflux";
     rev = version;
     sha256 = "1708qkb275d6f7b4b5zmqx3i0jh56nrx2n9rwwp5nbaah5p2wwlh";
   };
-    
+
   propagatedBuildInputs = [ nbconvert requests ];
-  
+
   checkInputs = [ pytest responses ];
-  
+
   checkPhase = ''
     pytest tests
   '';
-  
+
   meta = with lib; {
     description = "Converts Jupyter Notebooks to Atlassian Confluence (R) pages using nbconvert";
     homepage = "https://github.com/Valassis-Digital-Media/nbconflux";
diff --git a/pkgs/development/python-modules/notify2/default.nix b/pkgs/development/python-modules/notify2/default.nix
index a7928fb66c6..28c74415c5d 100644
--- a/pkgs/development/python-modules/notify2/default.nix
+++ b/pkgs/development/python-modules/notify2/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   # Tests require Xorg and Dbus instance
   doCheck = false;
   propagatedBuildInputs = [ pygobject3
-                            dbus-python ]; 
+                            dbus-python ];
 
   meta = {
     description = "Pure Python interface to DBus notifications";
diff --git a/pkgs/development/python-modules/oauthenticator/default.nix b/pkgs/development/python-modules/oauthenticator/default.nix
index 56c9eece4e8..bf2ad31ec3d 100644
--- a/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/pkgs/development/python-modules/oauthenticator/default.nix
@@ -29,10 +29,10 @@ buildPythonPackage rec {
 
   # No tests in archive
   doCheck = false;
-   
+
   checkInputs = [  globus-sdk mwoauth codecov flake8 pytest
     pytestcov pytest-tornado requests-mock pyjwt ];
-  
+
   propagatedBuildInputs = [ jupyterhub ];
 
   disabled = pythonOlder "3.4";
diff --git a/pkgs/development/python-modules/opentracing/default.nix b/pkgs/development/python-modules/opentracing/default.nix
index 63107ec372a..f499470e25c 100644
--- a/pkgs/development/python-modules/opentracing/default.nix
+++ b/pkgs/development/python-modules/opentracing/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = lib.optional isPy27 futures;
 
   checkInputs = [ gevent mock pytest tornado ];
-  
+
   checkPhase = ''
     pytest
   '';
diff --git a/pkgs/development/python-modules/palettable/default.nix b/pkgs/development/python-modules/palettable/default.nix
index 9f1aed30ff7..f96e05950b8 100644
--- a/pkgs/development/python-modules/palettable/default.nix
+++ b/pkgs/development/python-modules/palettable/default.nix
@@ -10,9 +10,9 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest ];
- 
+
   checkPhase = ''
-    pytest 
+    pytest
   '';
 
   meta = with stdenv.lib; {
@@ -22,4 +22,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ psyanticy ];
   };
 }
-
diff --git a/pkgs/development/python-modules/pathspec/default.nix b/pkgs/development/python-modules/pathspec/default.nix
index 1cba07ba6bc..bb52cd51a14 100644
--- a/pkgs/development/python-modules/pathspec/default.nix
+++ b/pkgs/development/python-modules/pathspec/default.nix
@@ -18,4 +18,4 @@ buildPythonPackage rec {
     license = lib.licenses.mpl20;
     maintainers = with lib.maintainers; [ copumpkin ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pcpp/default.nix b/pkgs/development/python-modules/pcpp/default.nix
index f621140f137..f57798c40a8 100644
--- a/pkgs/development/python-modules/pcpp/default.nix
+++ b/pkgs/development/python-modules/pcpp/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "0k52qyxzdngdhyn4sya2qn1w1a4ll0mcla4h4gb1v91fk4lw25dm";
     fetchSubmodules = true;
   };
- 
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/ned14/pcpp";
     description = "A C99 preprocessor written in pure Python";
diff --git a/pkgs/development/python-modules/pep517/default.nix b/pkgs/development/python-modules/pep517/default.nix
index 1eb2895068a..a5636656984 100644
--- a/pkgs/development/python-modules/pep517/default.nix
+++ b/pkgs/development/python-modules/pep517/default.nix
@@ -49,4 +49,4 @@ buildPythonPackage rec {
     license = lib.licenses.mit;
     homepage = "https://github.com/pypa/pep517";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/picos/default.nix b/pkgs/development/python-modules/picos/default.nix
index ca6346d1cd2..a6f1aa1a141 100644
--- a/pkgs/development/python-modules/picos/default.nix
+++ b/pkgs/development/python-modules/picos/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   checkInputs = [
     networkx
   ];
-  
+
   propagatedBuildInputs = [
     numpy
     cvxopt
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   checkPhase = ''
     ${python.interpreter} test.py
   '';
-  
+
   meta = with lib; {
     description = "A Python interface to conic optimization solvers";
     homepage = "https://gitlab.com/picos-api/picos";
diff --git a/pkgs/development/python-modules/pipx/default.nix b/pkgs/development/python-modules/pipx/default.nix
index e39c791d9c4..3b35b67bf09 100644
--- a/pkgs/development/python-modules/pipx/default.nix
+++ b/pkgs/development/python-modules/pipx/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pipx";
-  version = "0.15.5.0";
+  version = "0.15.5.1";
 
   disabled = pythonOlder "3.6";
 
@@ -19,18 +19,11 @@ buildPythonPackage rec {
     owner = "pipxproject";
     repo = pname;
     rev = version;
-    sha256 = "13z032i8r9f6d09hssvyjpxjacb4wgms5bh2i37da2ili9bh72m6";
+    sha256 = "0lq8dfkq4ji11r4k5csqzyv0757fbxiax6ixn94f9747zrikssf6";
   };
 
   propagatedBuildInputs = [ userpath argcomplete packaging ];
 
-  # avoid inconclusive venv assertion, see https://github.com/pipxproject/pipx/pull/477
-  # remove after PR is merged
-  postPatch = ''
-    substituteInPlace tests/helpers.py \
-      --replace 'assert getattr(sys, "base_prefix", sys.prefix) != sys.prefix, "Tests require venv"' ""
-  '';
-
   checkInputs = [ pytestCheckHook ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index 796f9418497..e08537ff1ab 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -16,4 +16,4 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "1ps37vamqav6p277dlp51jnacd5q4x4z1x8y0nfjw3y8jsfy3f8n";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/pooch/default.nix b/pkgs/development/python-modules/pooch/default.nix
new file mode 100644
index 00000000000..378035bb7a5
--- /dev/null
+++ b/pkgs/development/python-modules/pooch/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, isPy27
+, fetchPypi
+, pytestCheckHook
+, packaging
+, appdirs
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pooch";
+  version = "1.0.0";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1k2vinlhkzl7lzhvbz20x3a2r2zqqila0yxg3a3fax2r6qxbxxzi";
+  };
+
+  propagatedBuildInputs = [ packaging appdirs requests ];
+
+  checkInputs = [ pytestCheckHook ];
+  disabledTests = [
+    "pooch_custom_url"
+    "pooch_download"
+    "pooch_logging_level"
+    "pooch_update"
+    "pooch_corrupted"
+    "check_availability"
+    "downloader"
+    "test_fetch"
+    "decompress"
+    "extractprocessor_fails"
+    "processor"
+    "integration"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A friend to fetch your data files.";
+    homepage = "https://github.com/fatiando/pooch";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ GuillaumeDesforges ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/preshed/default.nix b/pkgs/development/python-modules/preshed/default.nix
index 050295204bc..96a015076df 100644
--- a/pkgs/development/python-modules/preshed/default.nix
+++ b/pkgs/development/python-modules/preshed/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   checkPhase = ''
     ${python.interpreter} setup.py test
   '';
-  
+
   meta = with stdenv.lib; {
     description = "Cython hash tables that assume keys are pre-hashed";
     homepage = "https://github.com/explosion/preshed";
diff --git a/pkgs/development/python-modules/py-multibase/default.nix b/pkgs/development/python-modules/py-multibase/default.nix
index 59876b473a9..c304e68fd8d 100644
--- a/pkgs/development/python-modules/py-multibase/default.nix
+++ b/pkgs/development/python-modules/py-multibase/default.nix
@@ -43,4 +43,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ rakesh4g ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/py-multihash/default.nix b/pkgs/development/python-modules/py-multihash/default.nix
index f81b7fb7644..5034f6df469 100644
--- a/pkgs/development/python-modules/py-multihash/default.nix
+++ b/pkgs/development/python-modules/py-multihash/default.nix
@@ -46,4 +46,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ rakesh4g ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/py_stringmatching/default.nix b/pkgs/development/python-modules/py_stringmatching/default.nix
index f4407150204..fda497b7962 100644
--- a/pkgs/development/python-modules/py_stringmatching/default.nix
+++ b/pkgs/development/python-modules/py_stringmatching/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ nose ];
-   
+
   propagatedBuildInputs = [ numpy six ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pyphotonfile/default.nix b/pkgs/development/python-modules/pyphotonfile/default.nix
index dd8d643f6bb..7a350bd3b13 100644
--- a/pkgs/development/python-modules/pyphotonfile/default.nix
+++ b/pkgs/development/python-modules/pyphotonfile/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage {
   pname = "pyphotonfile";
   inherit version;
   propagatedBuildInputs = [ pillow numpy ];
-  
+
   src = fetchFromGitHub {
     owner = "fookatchu";
     repo = "pyphotonfile";
diff --git a/pkgs/development/python-modules/pysnow/default.nix b/pkgs/development/python-modules/pysnow/default.nix
index ef7fcd20e78..11a670e394b 100644
--- a/pkgs/development/python-modules/pysnow/default.nix
+++ b/pkgs/development/python-modules/pysnow/default.nix
@@ -6,7 +6,7 @@
 , brotli
 , ijson
 , nose
-, requests_oauthlib 
+, requests_oauthlib
 , python_magic
 , pytz
 }:
@@ -14,7 +14,7 @@
 buildPythonPackage rec {
   pname = "pysnow";
   version = "0.7.16";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "5df61091470e48b5b3a6ea75637f69d3aacae20041487ea457a9a0e3093fba8c";
@@ -22,9 +22,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     brotli
-    ijson 
-    python_magic 
-    pytz 
+    ijson
+    python_magic
+    pytz
     requests_oauthlib
   ];
 
@@ -38,8 +38,7 @@ buildPythonPackage rec {
     description = "ServiceNow HTTP client library written in Python";
     homepage = "https://github.com/rbw/pysnow";
     license = licenses.mit;
-    maintainers = [ maintainers.almac ];  
+    maintainers = [ maintainers.almac ];
   };
 
 }
-
diff --git a/pkgs/development/python-modules/pytest-bdd/default.nix b/pkgs/development/python-modules/pytest-bdd/default.nix
index 29225859dfd..0ad4392bee9 100644
--- a/pkgs/development/python-modules/pytest-bdd/default.nix
+++ b/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   checkPhase = ''
     pytest
   '';
-  
+
   meta = with stdenv.lib; {
     description = "BDD library for the py.test runner";
     homepage = "https://github.com/pytest-dev/pytest-bdd";
diff --git a/pkgs/development/python-modules/python-packer/default.nix b/pkgs/development/python-modules/python-packer/default.nix
index 04cbaf77247..420efb40039 100644
--- a/pkgs/development/python-modules/python-packer/default.nix
+++ b/pkgs/development/python-modules/python-packer/default.nix
@@ -16,10 +16,10 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [ sh ];
-  
+
   # Tests requires network connections
   doCheck = false;
-  
+
   meta = with stdenv.lib; {
     description = "An interface for packer.io";
     homepage = "https://github.com/nir0s/python-packer";
@@ -27,4 +27,3 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ psyanticy ];
   };
 }
-
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
index 152fa6a92e5..63991752a8a 100644
--- a/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     sha256 = "12zhq4pnfcwbgcx7cs99c751gp3w0ysaf5ykv2lv8f4i360w3r5a";
   };
 
-  propagatedBuildInputs = [ 
+  propagatedBuildInputs = [
     future
     pytorch
     pyyaml
diff --git a/pkgs/development/python-modules/pyuavcan/default.nix b/pkgs/development/python-modules/pyuavcan/default.nix
index 0c78b305959..ff01ea90e22 100644
--- a/pkgs/development/python-modules/pyuavcan/default.nix
+++ b/pkgs/development/python-modules/pyuavcan/default.nix
@@ -25,7 +25,7 @@
   preBuild = ''
     export HOME=$TMPDIR
     export PYTHONASYNCIODEBUG=1
-  ''; 
+  '';
 
   # tests fail ATM.
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyvcf/default.nix b/pkgs/development/python-modules/pyvcf/default.nix
index 26d9d650d57..7c513617754 100644
--- a/pkgs/development/python-modules/pyvcf/default.nix
+++ b/pkgs/development/python-modules/pyvcf/default.nix
@@ -23,9 +23,9 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ scalavision ];
     longDescription = ''
-      The intent of this module is to mimic the csv module in the Python stdlib, 
-      as opposed to more flexible serialization formats like JSON or YAML. 
-      vcf will attempt to parse the content of each record based on the data 
+      The intent of this module is to mimic the csv module in the Python stdlib,
+      as opposed to more flexible serialization formats like JSON or YAML.
+      vcf will attempt to parse the content of each record based on the data
       types specified in the meta-information lines
     '';
   };
diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix
index c23856f9cf3..55bd8c8d0a5 100644
--- a/pkgs/development/python-modules/pywbem/default.nix
+++ b/pkgs/development/python-modules/pywbem/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
     # Wants `wbemcli` in PATH
     rm testsuite/test_wbemcli.py
-    
+
     # Disables tests that use testfixtures which is currently broken by nonbuilding zope_component
     rm testsuite/{test_logging,test_recorder,test_wbemconnection_mock}.*
   '';
diff --git a/pkgs/development/python-modules/pyxdg/default.nix b/pkgs/development/python-modules/pyxdg/default.nix
index 65cb4389583..48c95121682 100644
--- a/pkgs/development/python-modules/pyxdg/default.nix
+++ b/pkgs/development/python-modules/pyxdg/default.nix
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   # error: invalid command 'test'
   doCheck = false;
 
-  patches = [ 
-    # see: https://gitlab.freedesktop.org/xdg/pyxdg/-/merge_requests/5 
+  patches = [
+    # see: https://gitlab.freedesktop.org/xdg/pyxdg/-/merge_requests/5
     (fetchpatch {
       url = "https://gitlab.freedesktop.org/xdg/pyxdg/-/commit/78405aaa34463db2c6f33ca28ae2293dd3bb1e91.patch";
       sha256 = "17cjax546rkqv5kvwczjqjdd6vmlvcxjanz0296dlfq23j2wbx63";
diff --git a/pkgs/development/python-modules/rhpl/builder.sh b/pkgs/development/python-modules/rhpl/builder.sh
index dc93effe802..15e05a73f93 100644
--- a/pkgs/development/python-modules/rhpl/builder.sh
+++ b/pkgs/development/python-modules/rhpl/builder.sh
@@ -8,6 +8,6 @@ incl=$(echo $python/include/python2.*)
 sed -i -e "s@/usr/include/\$(PYTHON)@$incl@" \
        -e "s@PYTHONLIBDIR = /usr/\$(LIBDIR)/\$(PYTHON)/site-packages@PYTHONLIBDIR = $(toPythonPath $out)@" Makefile.inc
 sed -i -e "s@/usr/bin/install@install@g" \
-       -e "s@\$(DESTDIR)/usr/share/locale@$out/share/locale@" po/Makefile       
+       -e "s@\$(DESTDIR)/usr/share/locale@$out/share/locale@" po/Makefile
 make PREFIX=$out
 make PREFIX=$out install
diff --git a/pkgs/development/python-modules/sanic-auth/default.nix b/pkgs/development/python-modules/sanic-auth/default.nix
index 498e9cb34b1..4642b69f7d2 100644
--- a/pkgs/development/python-modules/sanic-auth/default.nix
+++ b/pkgs/development/python-modules/sanic-auth/default.nix
@@ -3,20 +3,20 @@
 buildPythonPackage rec {
   pname = "Sanic-Auth";
   version = "0.2.0";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "b7cb9e93296c035ada0aa1ebfb33f9f7b62f7774c519e374b7fe703ff73589cb";
   };
-  
+
   propagatedBuildInputs = [ sanic ];
-  
+
   checkInputs = [ pytest ];
-  
+
   checkPhase = ''
     pytest tests
   '';
-  
+
   meta = with lib; {
     description = "Simple Authentication for Sanic";
     homepage = "https://github.com/pyx/sanic-auth/";
diff --git a/pkgs/development/python-modules/sapi-python-client/default.nix b/pkgs/development/python-modules/sapi-python-client/default.nix
index 155950dff2c..847acb3c9cd 100644
--- a/pkgs/development/python-modules/sapi-python-client/default.nix
+++ b/pkgs/development/python-modules/sapi-python-client/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, git, setuptools, setuptools_scm, fetchFromGitHub, requests, boto3, buildPythonPackage, responses }: 
+{ stdenv, git, setuptools, setuptools_scm, fetchFromGitHub, requests, boto3, buildPythonPackage, responses }:
 
-buildPythonPackage rec { 
-    pname = "sapi-python-client"; 
-    version = "0.1.3"; 
+buildPythonPackage rec {
+    pname = "sapi-python-client";
+    version = "0.1.3";
 
     src = fetchFromGitHub {
         owner = "keboola";
@@ -17,15 +17,14 @@ buildPythonPackage rec {
 
     doCheck = false; # requires API token and an active keboola bucket
 
-    nativeBuildInputs = [ git setuptools_scm ]; 
+    nativeBuildInputs = [ git setuptools_scm ];
 
-    propagatedBuildInputs = [ setuptools requests boto3 responses ]; 
+    propagatedBuildInputs = [ setuptools requests boto3 responses ];
 
-    meta = with stdenv.lib; { 
-        description = "Keboola Connection Storage API client"; 
-        homepage = "https://github.com/keboola/sapi-python-client"; 
+    meta = with stdenv.lib; {
+        description = "Keboola Connection Storage API client";
+        homepage = "https://github.com/keboola/sapi-python-client";
         maintainers = with maintainers; [ mrmebelman ];
-        license = licenses.mit; 
-    }; 
+        license = licenses.mit;
+    };
 }
-
diff --git a/pkgs/development/python-modules/spotipy/default.nix b/pkgs/development/python-modules/spotipy/default.nix
index 52f4d32f0e3..47b12a3565d 100644
--- a/pkgs/development/python-modules/spotipy/default.nix
+++ b/pkgs/development/python-modules/spotipy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests }:
+{ stdenv, buildPythonPackage, fetchPypi, requests, six, mock }:
 
 buildPythonPackage rec {
   pname = "spotipy";
@@ -9,7 +9,15 @@ buildPythonPackage rec {
     sha256 = "d1a85b8831ed60d2290ab9bbba289c548fb9680889757252c02dab2f2327d865";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [ requests six ];
+  checkInputs = [ mock ];
+
+  preConfigure = ''
+    substituteInPlace setup.py \
+      --replace "mock==2.0.0" "mock"
+  '';
+
+  pythonImportsCheck = [ "spotipy" ];
 
   meta = with stdenv.lib; {
     homepage = "https://spotipy.readthedocs.org/";
diff --git a/pkgs/development/python-modules/spyder-kernels/0.x.nix b/pkgs/development/python-modules/spyder-kernels/0.x.nix
index c4a61520333..63ed0604fe5 100644
--- a/pkgs/development/python-modules/spyder-kernels/0.x.nix
+++ b/pkgs/development/python-modules/spyder-kernels/0.x.nix
@@ -1,4 +1,4 @@
-{ 
+{
   lib
   , buildPythonPackage
   , fetchFromGitHub
@@ -6,7 +6,7 @@
   , ipykernel
   , wurlitzer
   , jupyter_client
-  , pyzmq 
+  , pyzmq
   , numpy
   , pandas
   , scipy
diff --git a/pkgs/development/python-modules/spyder/3.nix b/pkgs/development/python-modules/spyder/3.nix
index e5c5683f5dc..cac20ad6fce 100644
--- a/pkgs/development/python-modules/spyder/3.nix
+++ b/pkgs/development/python-modules/spyder/3.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    jedi pycodestyle psutil pyflakes rope pylint keyring numpydoc 
+    jedi pycodestyle psutil pyflakes rope pylint keyring numpydoc
     qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels_0_5
     pygments qtpy pyzmq chardet pyqtwebengine
   ];
diff --git a/pkgs/development/python-modules/sqlitedict/default.nix b/pkgs/development/python-modules/sqlitedict/default.nix
index 5037aa2c368..1c28d6a0976 100644
--- a/pkgs/development/python-modules/sqlitedict/default.nix
+++ b/pkgs/development/python-modules/sqlitedict/default.nix
@@ -3,20 +3,20 @@
 buildPythonPackage rec {
   pname = "sqlitedict";
   version = "1.6.0";
-  
+
   src = fetchFromGitHub {
     owner = "RaRe-Technologies";
     repo = "sqlitedict";
     rev = version;
     sha256 = "1yq94lgpny9qcfbsl39npjvrsjfggi3lj2kpzcsxcfdfgxag6m2m";
   };
-  
+
   checkInputs = [ pytest ];
-  
+
   checkPhase = ''
     pytest tests
   '';
-  
+
   meta = with lib; {
     description = "Persistent, thread-safe dict";
     homepage = "https://github.com/RaRe-Technologies/sqlitedict";
diff --git a/pkgs/development/python-modules/suseapi/default.nix b/pkgs/development/python-modules/suseapi/default.nix
index 0e9f4f43656..1c36f45090b 100644
--- a/pkgs/development/python-modules/suseapi/default.nix
+++ b/pkgs/development/python-modules/suseapi/default.nix
@@ -36,4 +36,4 @@ buildPythonPackage rec {
     description = "Python module to work with various SUSE services";
     license = lib.licenses.gpl3Plus;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix
index f4de29b5e6c..96b6242c85e 100644
--- a/pkgs/development/python-modules/tinydb/default.nix
+++ b/pkgs/development/python-modules/tinydb/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A lightweight document oriented database written in pure Python with no external dependencies";
     homepage = "https://github.com/msiemens/tinydb";
-    license = licenses.asl20;                                                                                                                                                                      
+    license = licenses.asl20;
     maintainers = with maintainers; [ marcus7070 ];
   };
 }
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index 3d1bb053cd4..0e0c6da021f 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -1,34 +1,56 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, python, pytest
-, typing-extensions
-, protobuf
-, hidapi
-, ecdsa
-, mnemonic
-, requests
-, pyblake2
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, installShellFiles
+, attrs
 , click
 , construct
+, ecdsa
+, hidapi
 , libusb1
+, mnemonic
+, pillow
+, protobuf
+, pyblake2
+, requests
 , rlp
 , shamir-mnemonic
+, typing-extensions
 , trezor-udev-rules
-, installShellFiles
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "trezor";
-  version = "0.12.1";
+  version = "0.12.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w19m9lws55k9sjhras47hpfpqwq1jm5vy135nj65yhkblygqg19";
+    sha256 = "0r0j0y0ii62ppawc8qqjyaq0fkmmb0zk1xb3f9navxp556w2dljv";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  propagatedBuildInputs = [ typing-extensions protobuf hidapi ecdsa mnemonic requests pyblake2 click construct libusb1 rlp shamir-mnemonic trezor-udev-rules ];
+  propagatedBuildInputs = [
+    attrs
+    click
+    construct
+    ecdsa
+    hidapi
+    libusb1
+    mnemonic
+    pillow
+    protobuf
+    pyblake2
+    requests
+    rlp
+    shamir-mnemonic
+    typing-extensions
+    trezor-udev-rules
+  ];
 
   checkInputs = [
     pytest
@@ -52,7 +74,7 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
+    description = "Python library for communicating with Trezor Hardware Wallet";
     homepage = "https://github.com/trezor/trezor-firmware/tree/master/python";
     license = licenses.gpl3;
     maintainers = with maintainers; [ np prusnak mmahut _1000101 ];
diff --git a/pkgs/development/python-modules/untangle/default.nix b/pkgs/development/python-modules/untangle/default.nix
index 9b8e915a8ba..820c96c38c9 100644
--- a/pkgs/development/python-modules/untangle/default.nix
+++ b/pkgs/development/python-modules/untangle/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
   pname = "untangle";
   version = "1.1.1";
-  
+
   src = fetchFromGitHub {
     owner = "stchris";
     repo = "untangle";
@@ -11,11 +11,11 @@ buildPythonPackage rec {
     rev = "61b57cd771a40df7d1621e9ec3c68d9acd733d31";
     sha256 = "0ffvlfyyl82xi4akz1lls32lrnlrn44ik41v8x8xh9ghy0n0ick7";
   };
-  
+
   checkPhase = ''
     ${python.interpreter} -m unittest discover -s tests
   '';
-  
+
   meta = with lib; {
     description = "Convert XML documents into Python objects";
     homepage = "https://github.com/stchris/untangle";
diff --git a/pkgs/development/python-modules/varint/default.nix b/pkgs/development/python-modules/varint/default.nix
index 5f32dff4aa5..143a452344e 100644
--- a/pkgs/development/python-modules/varint/default.nix
+++ b/pkgs/development/python-modules/varint/default.nix
@@ -22,4 +22,4 @@ buildPythonPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ rakesh4g ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/vertica-python/default.nix b/pkgs/development/python-modules/vertica-python/default.nix
index 1734a1cd309..7247e079467 100644
--- a/pkgs/development/python-modules/vertica-python/default.nix
+++ b/pkgs/development/python-modules/vertica-python/default.nix
@@ -3,21 +3,21 @@
 buildPythonPackage rec {
   pname = "vertica-python";
   version = "0.11.0";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "cceb39d081b8d1628956205642e740a9fabcfd2c6ecd982c51134fba8215d0bd";
   };
-  
+
   propagatedBuildInputs = [ future dateutil six ];
-  
+
   checkInputs = [ pytest mock parameterized ];
-  
+
   # Integration tests require an accessible Vertica db
   checkPhase = ''
     pytest --ignore vertica_python/tests/integration_tests
   '';
-  
+
   meta = with lib; {
     description = "Native Python client for Vertica database";
     homepage = "https://github.com/vertica/vertica-python";
diff --git a/pkgs/development/python-modules/wasabi/default.nix b/pkgs/development/python-modules/wasabi/default.nix
index a545a9510b8..ec9cbb3d560 100644
--- a/pkgs/development/python-modules/wasabi/default.nix
+++ b/pkgs/development/python-modules/wasabi/default.nix
@@ -1,30 +1,25 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "wasabi";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee3809f4ce00e1e7f424b1572c753cff0dcaca2ca684e67e31f985033a9f070b";
+    sha256 = "75fec6db6193c8615d7f398ae4aa2c4ad294e6e3e81c6a6dbbbd3864ee2223c3";
   };
 
-  checkInputs = [
-    pytest
-  ];
-
-  checkPhase = ''
-    pytest wasabi/tests
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   meta = with stdenv.lib; {
     description = "A lightweight console printing and formatting toolkit";
     homepage = "https://github.com/ines/wasabi";
+    changelog = "https://github.com/ines/wasabi/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ danieldk ];
-    };
+  };
 }
diff --git a/pkgs/development/python-modules/zipp/1.nix b/pkgs/development/python-modules/zipp/1.nix
index d7447a26159..0de729928d0 100644
--- a/pkgs/development/python-modules/zipp/1.nix
+++ b/pkgs/development/python-modules/zipp/1.nix
@@ -35,4 +35,4 @@ buildPythonPackage rec {
     homepage = "https://github.com/jaraco/zipp";
     license = licenses.mit;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/zstandard/default.nix b/pkgs/development/python-modules/zstandard/default.nix
index a0c7ccd438d..58b3c5af825 100755
--- a/pkgs/development/python-modules/zstandard/default.nix
+++ b/pkgs/development/python-modules/zstandard/default.nix
@@ -8,16 +8,16 @@
 buildPythonPackage rec {
   pname = "zstandard";
   version = "0.14.0";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "0lkn7n3bfp7zip6hkqwkqwc8pxmhhs4rr699k77h51rfln6kjllh";
   };
-  
+
   propagatedBuildInputs = [ cffi ];
-  
+
   checkInputs = [ hypothesis ];
-    
+
   meta = with lib; {
     description = "zstandard bindings for Python";
     homepage = "https://github.com/indygreg/python-zstandard";
diff --git a/pkgs/development/tools/continuous-integration/laminar/default.nix b/pkgs/development/tools/continuous-integration/laminar/default.nix
new file mode 100644
index 00000000000..5a326e94a54
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/laminar/default.nix
@@ -0,0 +1,80 @@
+{ stdenv
+, lib
+, fetchurl
+, cmake
+, capnproto
+, sqlite
+, boost
+, zlib
+, rapidjson
+, pandoc
+, enableSystemd ? false
+, customConfig ? null
+}:
+let
+  js.vue = fetchurl {
+    url = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js";
+    sha256 = "01zklp5cyik65dfn64m8h2y2dxzgbyzgmbf99y7fwgnf0155r7pq";
+  };
+  js.vue-router = fetchurl {
+    url =
+      "https://cdnjs.cloudflare.com/ajax/libs/vue-router/2.7.0/vue-router.min.js";
+    sha256 = "07gx7znb30rk1z7w6ca7dlfjp44q12bbq6jghwfm27mf6psa80as";
+  };
+  js.ansi_up = fetchurl {
+    url = "https://raw.githubusercontent.com/drudru/ansi_up/v1.3.0/ansi_up.js";
+    sha256 = "1993dywxqi2ylnxybwk7m0s0bg2bq7kfllpyr0s8ck6chd0p8i6r";
+  };
+  js.Chart = fetchurl {
+    url = "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js";
+    sha256 = "1jh4h12qchsba03dx03mrvs4r8g9qfjn56xm56jqzgqf7r209xq9";
+  };
+  css.bootstrap = fetchurl {
+    url =
+      "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css";
+    sha256 = "11vx860prsx7wsy8b0yrrk04ih8kvrxkk8l16snsc4n286bdkyri";
+  };
+in stdenv.mkDerivation rec {
+  name = "laminar";
+  version = "0.8";
+  src = fetchurl {
+    url = "https://github.com/ohwgiles/laminar/archive/${version}.tar.gz";
+    sha256 = "05g73j3vpib47kr7mackcazf7s6bc3xwz4h6k7sp7yb5ng7gj20g";
+  };
+  patches = [ ./patches/no-network.patch ];
+  nativeBuildInputs = [ cmake pandoc ];
+  buildInputs = [ capnproto sqlite boost zlib rapidjson ];
+  preBuild = ''
+    mkdir -p js css
+    cp  ${js.vue}         js/vue.min.js
+    cp  ${js.vue-router}  js/vue-router.min.js
+    cp  ${js.ansi_up}     js/ansi_up.js
+    cp  ${js.Chart}       js/Chart.min.js
+    cp  ${css.bootstrap}  css/bootstrap.min.css
+  '';
+  postInstall = ''
+    mv $out/usr/share $out
+    mkdir $out/bin
+    mv $out/usr/{bin,sbin}/* $out/bin
+    rmdir $out/usr/{bin,sbin}
+    rmdir $out/usr
+
+    mkdir -p $out/share/doc/laminar
+    pandoc -s ../UserManual.md -o $out/share/doc/laminar/UserManual.html
+  '' + lib.optionalString (customConfig != null) ''
+    cp ${customConfig} /etc/etc/laminar.conf
+  '' + (if enableSystemd then ''
+    sed -i "s,/etc/,$out/etc/," $out/lib/systemd/system/laminar.service
+    sed -i "s,/usr/sbin/,$out/bin/," $out/lib/systemd/system/laminar.service
+  '' else ''
+    rm -r $out/lib # it contains only systemd unit file
+  '');
+
+  meta = with stdenv.lib; {
+    description = "Lightweight and modular continuous integration service";
+    homepage = "https://laminar.ohwg.net";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch b/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch
new file mode 100644
index 00000000000..80e74de95aa
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch
@@ -0,0 +1,26 @@
+Build system that downloads stuff from network is bad. Build system that
+does so unconditionally is twice as bad.
+
+Required files are downloaded as separate fixed-output derivations and
+put into correct location before build phase starts.
+
+--- laminar-0.8/CMakeLists.txt
++++ laminar-0.8-new/CMakeLists.txt
+@@ -69,17 +69,6 @@
+     COMMAND sh -c '( echo -n "\\#define INDEX_HTML_UNCOMPRESSED_SIZE " && wc -c < "${CMAKE_SOURCE_DIR}/src/resources/index.html" ) > index_html_size.h'
+     DEPENDS src/resources/index.html)
+ 
+-# Download 3rd-party frontend JS libs...
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js
+-        js/vue.min.js EXPECTED_MD5 ae2fca1cfa0e31377819b1b0ffef704c)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue-router/2.7.0/vue-router.min.js
+-        js/vue-router.min.js EXPECTED_MD5 5d3e35710dbe02de78c39e3e439b8d4e)
+-file(DOWNLOAD https://raw.githubusercontent.com/drudru/ansi_up/v1.3.0/ansi_up.js
+-        js/ansi_up.js EXPECTED_MD5 158566dc1ff8f2804de972f7e841e2f6)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js
+-        js/Chart.min.js EXPECTED_MD5 f6c8efa65711e0cbbc99ba72997ecd0e)
+-file(DOWNLOAD https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css
+-        css/bootstrap.min.css EXPECTED_MD5 5d5357cb3704e1f43a1f5bfed2aebf42)
+ # ...and compile them
+ generate_compressed_bins(${CMAKE_BINARY_DIR} js/vue-router.min.js js/vue.min.js
+     js/ansi_up.js js/Chart.min.js css/bootstrap.min.css)
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 1474ba56a14..3a6ea879e58 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -18,11 +18,11 @@ let
 
 in buildPythonApplication rec {
   pname = "pipenv";
-  version = "2020.6.2";
+  version = "2020.8.13";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12s7c3f3k5v1szdhklsxwisf9v3dk4mb9fh7762afpgs8mrrmm3x";
+    sha256 = "eff0e10eadb330f612edfa5051d3d8e775e9e0e918c3c50361da703bd0daa035";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index b3daab5000c..549f29db2fe 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -8,6 +8,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.8.0";
-    sha256 = "0vghz7g7mih7idgknwzdc2zfw82qqq497m727ydhkas1wvj6i7lv";
+    version = "14.9.0";
+    sha256 = "1xkfivr0qci50ksg66szyasdlbiwh2j7ia4n6qc5csih2nvzcbh1";
   }
diff --git a/pkgs/os-specific/darwin/discrete-scroll/default.nix b/pkgs/os-specific/darwin/discrete-scroll/default.nix
new file mode 100644
index 00000000000..e72402b7793
--- /dev/null
+++ b/pkgs/os-specific/darwin/discrete-scroll/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitHub, Cocoa }:
+
+## after launching for the first time, grant access for parent application (e.g. Terminal.app)
+## from 'system preferences >> security & privacy >> accessibility'
+## and then launch again
+
+stdenv.mkDerivation rec {
+  pname = "discrete-scroll";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "emreyolcu";
+    repo = "discrete-scroll";
+    rev = "v${version}";
+    sha256 = "0aqkp4kkwjlkll91xbqwf8asjww8ylsdgqvdk8d06bwdvg2cgvhg";
+  };
+
+  buildInputs = [ Cocoa ];
+
+  buildPhase = ''
+    cc -std=c99 -O3 -Wall -framework Cocoa -o dc DiscreteScroll/main.m
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./dc $out/bin/discretescroll
+  '';
+
+  meta = with lib; {
+    description = "Fix for OS X's scroll wheel problem";
+    homepage = "https://github.com/emreyolcu/discrete-scroll";
+    platforms = platforms.darwin;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix
index 32905b8ec39..a52b8738570 100644
--- a/pkgs/os-specific/linux/conspy/default.nix
+++ b/pkgs/os-specific/linux/conspy/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="conspy";
-    version="1.14";
+    version="1.16";
     name="${baseName}-${version}";
-    hash="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf";
-    url="mirror://sourceforge/project/conspy/conspy-1.14-1/conspy-1.14.tar.gz";
-    sha256="069k26xpzsvrn3197ix5yd294zvz03zi2xqj4fip6rlsw74habsf";
+    hash="02andak806vd04bgjlr0y0d2ddx7cazyf8nvca80vlh8x94gcppf";
+    url="mirror://sourceforge/project/conspy/conspy-1.16-1/conspy-1.16.tar.gz";
+    sha256="02andak806vd04bgjlr0y0d2ddx7cazyf8nvca80vlh8x94gcppf";
   };
   buildInputs = [
     autoconf automake ncurses
diff --git a/pkgs/os-specific/linux/libfabric/default.nix b/pkgs/os-specific/linux/libfabric/default.nix
index 40f92f38d16..52de79e1f2d 100644
--- a/pkgs/os-specific/linux/libfabric/default.nix
+++ b/pkgs/os-specific/linux/libfabric/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfabric";
-  version = "1.10.1";
+  version = "1.11.0";
 
   enableParallelBuilding = true;
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "ofiwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nf5x4v9rhyd67r6f6q3dw4sraaja8jfdkhhg9g8x41czmx4d456";
+    sha256 = "1wgn6gsiy64rb76i46dsqlvp687lwqzxwg5lgj1y5y7lyqbq96wp";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ] ;
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 59577eb8d51..bef9231385a 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.26.7";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "09m6j2cl70jxb0k4ydsgrida381bipf0v026xz661152cy23r3ff";
+    sha256 = "0lpp271g0749sx7qgpwl6myi0kgfpsxk1kc4yp3r9k1pynv8bq1b";
   };
 
   nativeBuildInputs = [ cmake perl ];
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 1f4d91c9c87..0bcad77c415 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "7.1.3";
+  version = "7.1.5";
 
   excludedPackages = [ "release_publisher" ];
 
@@ -10,15 +10,15 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1acvvqsgwfrkqmbgzdxfa8shwmx7c91agaqv3gsfgpqkqwp3pnmh";
+    sha256 = "089z2x6jhiv5cx70vm7f1pyj5avappnaxrwah8jbnlkaz2kisp79";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "0c72xmazr3rgiccrqcy02w30159vsq9d78dkqf5c2yjqn8zzwf98";
+    sha256 = "0l1lw3y5w4s6qfkmclzc6h6hqwxqmxlppnwsq1zpm2hmrndy440j";
   };
 
-  vendorSha256 = "11zi7a4mqi80m5z4zcrc6wnzhgk6xnmzisrk2v4vpmfp33s732lz";
+  vendorSha256 = "0i0qdfh6cjdjg2mrrabm42427aaxs6a90ydb554ds14k6r4jdf8b";
 
   postPatch = ''
     substituteInPlace pkg/cmd/grafana-server/main.go \
diff --git a/pkgs/servers/sql/postgresql/ext/pgrouting.nix b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
index 79e0e052122..674aa29daec 100644
--- a/pkgs/servers/sql/postgresql/ext/pgrouting.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pgrouting";
-  version = "3.0.2";
+  version = "3.1.0";
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ postgresql boost ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner  = "pgRouting";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "10ij3ww0081wc81jzvmkgl8r3qpqp7lcsi9pgn62bqd1c8dw88yg";
+    sha256 = "0sdyq0a98snmcq6g6mgmadlz6cgvacivv34943azhnzspa3iy409";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index f075f503ae5..4ab394516a8 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2020.07.28";
+  version = "2020.08.09";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "05nsakvnx1jz2k9bvabpw5v3js28ng9z7n6ch58brd3qxc2p76zv";
+    sha256 = "1j7jkv2fdrhyyjavffb5nrs8p9mfp8zqqravcad1ayv1z2wxr8vl";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index ccdb8bcd708..8e0c71e08d7 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "0.20.0";
+  version = "0.20.3";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0by4cln9ljaphqk5hz56mcavz9kc5s42zlxx33nf3idqrszfcarf";
+    sha256 = "0hbz7cslngl77qka8sl84fjhijbqbw69dj058ghhsgaxw06nypg2";
   };
 
-  cargoSha256 = "1i5zq310k8gv9877rcrvash3aw1cyf3g0741qnky71d565s3n910";
+  cargoSha256 = "1zl4p3n327iq7nm7hi79zjxv2gvw9f3lwgkg1qp52kycv1af5gqp";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/tools/networking/bgpq4/default.nix b/pkgs/tools/networking/bgpq4/default.nix
new file mode 100644
index 00000000000..2caeb437f7a
--- /dev/null
+++ b/pkgs/tools/networking/bgpq4/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "bgpq4";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "bgp";
+    repo = pname;
+    rev = version;
+    sha256 = "1n6d6xq7vafx1la0fckqv0yjr245ka9dgbcqaz9m6dcdk0fdlkks";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    description = "BGP filtering automation tool";
+    homepage = "https://github.com/bgp/bgpq4";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ vincentbernat ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix
index 417962733af..8356e43e2e6 100644
--- a/pkgs/tools/package-management/nix-du/default.nix
+++ b/pkgs/tools/package-management/nix-du/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-du";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "symphorien";
     repo = "nix-du";
     rev = "v${version}";
-    sha256 = "149d60mid29s5alv5m3d7jrhyzc6cj7b6hpiq399gsdwzgxr00wq";
+    sha256 = "0h8ya0nn65hbyi3ssmrjarfxadx2sa61sspjlrln8knk7ppxk3mq";
   };
 
-  cargoSha256 = "1a6svl89dcdb5fpvs2i32i6agyhl0sx7kkkw70rqr17fyzl5psai";
+  cargoSha256 = "0d86bn6myr29bwrzw3ihnzg1yij673s80bm1l8srk2k2szyfwwh5";
 
   doCheck = true;
   checkInputs = [ nix graphviz ];
diff --git a/pkgs/tools/security/1password-gui/default.nix b/pkgs/tools/security/1password-gui/default.nix
index 3373ab70b14..ee0bee8b8b7 100644
--- a/pkgs/tools/security/1password-gui/default.nix
+++ b/pkgs/tools/security/1password-gui/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "0.8.2-1";
+  version = "0.8.3-1";
 
   src = fetchurl {
     url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
-    sha256 = "0gxq8xrr20jgp7k0sq5a9k63mz94zb00yvc9jw1zhl2q70ji24sa";
+    sha256 = "06kzvdqsd7viaj7qz0ywi4k85662084cx73psk1b2hphklvdl24c";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -51,6 +51,8 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath runtimeLibs}"
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with stdenv.lib; {
     description = "Multi-platform password manager";
     longDescription = ''
diff --git a/pkgs/tools/security/1password-gui/update.sh b/pkgs/tools/security/1password-gui/update.sh
new file mode 100755
index 00000000000..7703aba9984
--- /dev/null
+++ b/pkgs/tools/security/1password-gui/update.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused common-updater-scripts
+
+version="$(curl -sL https://onepassword.s3.amazonaws.com/linux/debian/dists/edge/main/binary-amd64/Packages | sed -r -n 's/^Version: (.*)-[0-9]+/\1/p' | head -n1)"
+update-source-version _1password-gui "$version"
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 4f90bace895..416d8d92afa 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -9,7 +9,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.9.2";
+  version = "1.10.1";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -17,10 +17,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "066dphw8xq0g72kj64sdai2yyllnr6ca27bfy5sxhk8x69j97rvz";
+    sha256 = "0dhh64mxfhk610wr7bpakzgmc4a4iyhfkkl3qhjp6a46g9iygana";
   };
 
-  vendorSha256 = "1wn20bh7ma4pblsf6qnlbz5bx4p9apig3d1yz7cpsqv4z3w07baw";
+  vendorSha256 = "07wv6yahx4yzr3h1x93x4r5rvw8wbfk836f04b4r9xjbnpq7lb2a";
 
   doCheck = false;
 
@@ -42,8 +42,10 @@ buildGoModule rec {
   '';
 
   postFixup = ''
-    wrapProgram $out/bin/gopass \
-      --prefix PATH : "${wrapperPath}"
+    for bin in $out/bin/*; do
+      wrapProgram $bin \
+        --prefix PATH : "${wrapperPath}"
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b1181e1a5b1..58d1cbca3a7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2828,6 +2828,12 @@ in
 
   biosdevname = callPackage ../tools/networking/biosdevname { };
 
+  code-browser-qt = libsForQt5.callPackage ../applications/editors/code-browser { withQt = true;
+                                                                                };
+  code-browser-gtk = callPackage ../applications/editors/code-browser { withGtk = true;
+                                                                        qtbase = qt5.qtbase;
+                                                                      };
+
   c14 = callPackage ../applications/networking/c14 { };
 
   certstrap = callPackage ../tools/security/certstrap { };
@@ -4745,6 +4751,8 @@ in
   kibana = kibana6;
   kibana-oss = kibana6-oss;
 
+  kibi = callPackage ../applications/editors/kibi { };
+
   kismet = callPackage ../applications/networking/sniffers/kismet { };
 
   klick = callPackage ../applications/audio/klick { };
@@ -5608,6 +5616,8 @@ in
 
   ncftp = callPackage ../tools/networking/ncftp { };
 
+  ncgopher = callPackage ../applications/networking/ncgopher { };
+
   ncompress = callPackage ../tools/compression/ncompress { };
 
   ndisc6 = callPackage ../tools/networking/ndisc6 { };
@@ -11059,6 +11069,8 @@ in
 
   lazygit = callPackage ../development/tools/lazygit { };
 
+  laminar = callPackage ../development/tools/continuous-integration/laminar { };
+
   Literate = callPackage ../development/tools/literate-programming/Literate {};
 
   lcov = callPackage ../development/tools/analysis/lcov { };
@@ -19562,6 +19574,8 @@ in
 
   bgpq3 = callPackage ../tools/networking/bgpq3 { };
 
+  bgpq4 = callPackage ../tools/networking/bgpq4 { };
+
   blackbox = callPackage ../applications/version-management/blackbox { };
 
   bleachbit = callPackage ../applications/misc/bleachbit { };
@@ -21708,6 +21722,8 @@ in
 
   moonlight-embedded = callPackage ../applications/misc/moonlight-embedded { };
 
+  mooSpace = callPackage ../applications/audio/mooSpace { };
+
   mop = callPackage ../applications/misc/mop { };
 
   mopidyPackages = callPackages ../applications/audio/mopidy/default.nix {
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index 02184a5685e..affb4ae92c1 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -88,4 +88,8 @@ in
 
   ios-deploy = callPackage ../os-specific/darwin/ios-deploy {};
 
+  discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
+
 })
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index dfc2fd2fb98..a9bea0a60f6 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1221,7 +1221,7 @@ in let inherit (pkgs) callPackage; in rec
 
   ocamlPackages_4_11 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.11.nix { });
 
-  ocamlPackages_latest = ocamlPackages_4_10;
+  ocamlPackages_latest = ocamlPackages_4_11;
 
   ocamlPackages = ocamlPackages_4_10;
 }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 1e07285cd21..c7324a36ae0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7851,6 +7851,8 @@ in {
   rxv     = callPackage ../development/python-modules/rxv     { };
 
   userpath = callPackage ../development/python-modules/userpath { };
+  
+  pooch = callPackage ../development/python-modules/pooch {};
 
 });