about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/blockchains/freicoin.nix41
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/graphics/qview/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix4
-rw-r--r--pkgs/applications/misc/llpp/default.nix10
-rw-r--r--pkgs/applications/misc/llpp/fix-build-bash.patch28
-rw-r--r--pkgs/applications/misc/mupdf/1.17.nix95
-rw-r--r--pkgs/applications/misc/mupdf/default.nix31
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rw-r--r--pkgs/applications/video/go-chromecast/default.nix24
-rw-r--r--pkgs/applications/video/kodi/default.nix4
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix32
-rw-r--r--pkgs/applications/virtualization/qemu/CVE-2020-27617.patch43
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix1
-rw-r--r--pkgs/applications/virtualization/virt-top/default.nix10
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix38
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix27
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/default.nix20
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix30
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix38
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix32
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix43
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix29
-rw-r--r--pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix20
-rw-r--r--pkgs/desktops/plasma-5/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/plasma-thunderbolt.nix16
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix10
-rw-r--r--pkgs/development/libraries/google-cloud-cpp/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/ocaml-libvirt/default.nix20
-rw-r--r--pkgs/development/python-modules/ansible-lint/default.nix4
-rw-r--r--pkgs/development/python-modules/coconut/default.nix52
-rw-r--r--pkgs/development/python-modules/cpyparsing/default.nix24
-rw-r--r--pkgs/development/python-modules/googlemaps/default.nix34
-rw-r--r--pkgs/development/python-modules/openrouteservice/default.nix29
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvmomi/default.nix4
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix4
-rw-r--r--pkgs/development/python-modules/streamz/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix32
-rw-r--r--pkgs/development/web/deno/default.nix15
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/version.nix8
-rw-r--r--pkgs/os-specific/linux/bolt/default.nix45
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix4
-rw-r--r--pkgs/servers/asterisk/default.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/promscale.nix4
-rw-r--r--pkgs/servers/trezord/default.nix16
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix8
-rw-r--r--pkgs/tools/misc/bandwidth/default.nix27
-rw-r--r--pkgs/tools/misc/fend/default.nix22
-rw-r--r--pkgs/tools/misc/vector/default.nix15
-rw-r--r--pkgs/tools/networking/dogdns/default.nix12
-rw-r--r--pkgs/top-level/all-packages.nix27
-rw-r--r--pkgs/top-level/python-packages.nix8
58 files changed, 784 insertions, 314 deletions
diff --git a/pkgs/applications/blockchains/freicoin.nix b/pkgs/applications/blockchains/freicoin.nix
deleted file mode 100644
index cc28fff96c47a..0000000000000
--- a/pkgs/applications/blockchains/freicoin.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ fetchFromGitHub, stdenv, db, boost, gmp, mpfr, qt4, qmake4Hook }:
-
-stdenv.mkDerivation rec {
-  version = "0.8.6-2";
-  pname = "freicoin";
-
-  src = fetchFromGitHub {
-    owner = "freicoin";
-    repo = "freicoin";
-    rev = "v${version}";
-    sha256 = "1v1qwv4x5agjba82s1vknmdgq67y26wzdwbmwwqavv7f7y3y860h";
-  };
-
-  enableParallelBuilding = false;
-
-  qmakeFlags = ["USE_UPNP=-"];
-
-  # I think that openssl and zlib are required, but come through other
-  # packages
-
-  preBuild = "unset AR";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp freicoin-qt $out/bin
-  '';
-
-  nativeBuildInputs = [ qmake4Hook ];
-  buildInputs = [ db boost gmp mpfr qt4 ];
-
-  meta = with stdenv.lib; {
-    description = "Peer-to-peer currency with demurrage fee";
-    homepage = "http://freicoi.in/";
-    license = licenses.mit;
-    maintainers = [ maintainers.viric ];
-    platforms = platforms.linux;
-
-    # upstream doesn't support newer openssl versions, use 1.0.1 for testing
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 3a5bc63e1c382..cca7b0b2f41fa 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -19,9 +19,9 @@ let
     sha256Hash = "sha256-qbxmR9g8DSKzcP09bJuc+am79BSXWG39UQxFEb1bZ88=";
   };
   latestVersion = { # canary & dev
-    version = "4.2.0.15"; # "Android Studio 4.2 Canary 15"
-    build = "202.6922807";
-    sha256Hash = "sha256-PXFNnPSJbdp9NtkMDR3Vq+vpWqd85Io2FmXPhRLRk/8=";
+    version = "4.2.0.16"; # "Android Studio 4.2 Canary 16"
+    build = "202.6939830";
+    sha256Hash = "sha256-2Xh0GR4BHZI6ofdyMI2icrztI2BmiHWT+1bEZIZ58IE=";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix
index b6f25795665a2..001616ab41dd5 100644
--- a/pkgs/applications/graphics/qview/default.nix
+++ b/pkgs/applications/graphics/qview/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qview";
-  version = "3.0";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jurplel";
     repo = "qView";
     rev = version;
-    sha256 = "15a91bs3wcqhgf76wzigbn10hayg628j84pq4j2vaxar94ak0vk7";
+    sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 75e467d4cdf8a..be61a76190a27 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -2,7 +2,7 @@
 , cmake, pkgconfig, zlib, libpng, makeWrapper
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
-, enableMuPDF ? true, mupdf
+, enableMuPDF ? true, mupdf_1_17
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
@@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
         cp ${k2pdfopt_src}/mupdf_mod/pdf-* ./source/pdf/
       '';
     };
-    mupdf_modded = mupdf.overrideAttrs ({ patches ? [], ... }: {
+    mupdf_modded = mupdf_1_17.overrideAttrs ({ patches ? [], ... }: {
       patches = patches ++ [ mupdf_patch ];
       # This function is missing in font.c, see font-win32.c
       postPatch = ''
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index d7752258df98e..c16322ad84fac 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU, libGL, freetype, xclip, inotify-tools, procps }:
+{ stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11, jbig2dec, openjpeg, libjpeg , lcms2, harfbuzz,
+libGLU, libGL, gumbo, freetype, zlib, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
 stdenv.mkDerivation rec {
   pname = "llpp";
-  version = "32";
+  version = "33";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
     rev = "v${version}";
-    sha256 = "1h1zysm5cz8laq8li49djl6929cnrjlflag9hw0c1dcr4zaxk32y";
+    sha256 = "0shqzhaflm2yhkx6c0csq9lxp1s1r7lh5kgpx9q5k06xya2a7yvs";
     fetchSubmodules = false;
   };
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype zlib gumbo jbig2dec openjpeg libjpeg lcms2 harfbuzz ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/llpp/fix-build-bash.patch b/pkgs/applications/misc/llpp/fix-build-bash.patch
index fbc341c8af783..c12828f2d94d7 100644
--- a/pkgs/applications/misc/llpp/fix-build-bash.patch
+++ b/pkgs/applications/misc/llpp/fix-build-bash.patch
@@ -1,8 +1,9 @@
 diff --git a/build.bash b/build.bash
 index 7c278b6..41494c5 100755
+with manual adjustments
 --- a/build.bash
 +++ b/build.bash
-@@ -29,7 +29,6 @@ srcd="$(dirname $0)"
+@@ -30,7 +30,6 @@ srcd="$(dirname $0)"
  mudir=$outd/mupdf
  muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
  
@@ -10,25 +11,25 @@ index 7c278b6..41494c5 100755
  
  mkdir -p $outd/{$wsid,lablGL}
  :>$outd/ordered
-@@ -39,12 +38,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
- mbt=${mbt:-native}
- mulibs="$mudir/build/$mbt/libmupdf.a" # $mudir/build/$mbt/libmupdf-third.a
+@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
+ mulibst="$mudir/build/$mbt/libs"
+ mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
  
 -keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
--isfresh "$mulibs" "$(eval $keycmd)" || (
+-isfresh "$mulibst" "$(eval $keycmd)" || (
 -    make -C "$mudir" build=$mbt -j $mjobs libs
--    eval $keycmd >$mudir/build/$mbt/libmupdf.a.past
+-    eval $keycmd >${mulibst}.past
 -) && vecho "fresh mupdf"
 -
  oincs() {
      local i=
      local incs1=
-@@ -89,34 +82,6 @@ mflags() {
+@@ -100,35 +93,6 @@ mflags() {
  }
  
  overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
--test "$overs" = "4.10.0" || {
--    url=https://caml.inria.fr/pub/distrib/ocaml-4.10/ocaml-4.10.0.tar.xz
+-test "$overs" = "4.11.1" || {
+-    url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz
 -    txz=$outd/$(basename $url)
 -    keycmd="printf $url; digest $txz;"
 -    isfresh $txz "$(eval $keycmd)" || {
@@ -48,7 +49,8 @@ index 7c278b6..41494c5 100755
 -        tar xf $txz -C $outd
 -        bn=$(basename $url)
 -        cd $outd/${bn%.tar.xz}
--        ./configure --disable-ocamldoc --enable-debugger=no --prefix=$absprefix
+-        ./configure --disable-ocamldoc --disable-ocamltest      \
+-                    --enable-debugger=no --prefix=$absprefix
 -        make -j $mjobs world
 -        make install
 -        eval $keycmd >$absprefix/bin/ocamlc.past
@@ -58,7 +60,7 @@ index 7c278b6..41494c5 100755
  
  ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
                        { read _ c; echo $c; })}
-@@ -230,7 +195,7 @@ bobjc() {
+@@ -243,7 +208,7 @@ bobjc() {
      } && vecho "fresh $o"
  }
  
@@ -67,12 +69,12 @@ index 7c278b6..41494c5 100755
  
  cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
  keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
-@@ -284,7 +249,7 @@ for m in ml_gl ml_glarray ml_raw; do
+@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do
  done
  
  libs="str.cma unix.cma"
 -clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
-+clibs="-lmupdf -lfreetype -lpthread"
++clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz"
  if $darwin; then
      mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
      clibs="$clibs -framework Cocoa -framework OpenGL"
diff --git a/pkgs/applications/misc/mupdf/1.17.nix b/pkgs/applications/misc/mupdf/1.17.nix
new file mode 100644
index 0000000000000..c6243e5f1d6ba
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/1.17.nix
@@ -0,0 +1,95 @@
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
+, jbig2dec, libjpeg , darwin
+, enableX11 ? true, libX11, libXext, libXi, libXrandr
+, enableCurl ? true, curl, openssl
+, enableGL ? true, freeglut, libGLU
+}:
+
+let
+
+  # OpenJPEG version is hardcoded in package source
+  openJpegVersion = with stdenv;
+    lib.versions.majorMinor (lib.getVersion openjpeg);
+
+
+in stdenv.mkDerivation rec {
+  version = "1.17.0";
+  pname = "mupdf";
+
+  src = fetchurl {
+    url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
+    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+  };
+
+  patches =
+    # Use shared libraries to decrease size
+    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
+    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+  ;
+
+  postPatch = ''
+    sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
+  '';
+
+  makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+                ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
+                ++ lib.optionals enableCurl [ curl openssl ]
+                ++ lib.optionals enableGL (
+                  if stdenv.isDarwin then
+                    with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
+                  else
+                    [ freeglut libGLU ])
+                ;
+  outputs = [ "bin" "dev" "out" "man" "doc" ];
+
+  preConfigure = ''
+    # Don't remove mujs because upstream version is incompatible
+    rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/lib/pkgconfig"
+    cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
+    prefix=$out
+    libdir=$out/lib
+    includedir=$out/include
+
+    Name: mupdf
+    Description: Library for rendering PDF documents
+    Version: ${version}
+    Libs: -L$out/lib -lmupdf -lmupdf-third
+    Cflags: -I$dev/include
+    EOF
+
+    moveToOutput "bin" "$bin"
+    ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
+    mkdir -p $bin/share/applications
+    cat > $bin/share/applications/mupdf.desktop <<EOF
+    [Desktop Entry]
+    Type=Application
+    Version=1.0
+    Name=mupdf
+    Comment=PDF viewer
+    Exec=$bin/bin/mupdf-x11 %f
+    Terminal=false
+    MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
+    EOF
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://mupdf.com";
+    repositories.git = "git://git.ghostscript.com/mupdf.git";
+    description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ vrthra fpletz ];
+    platforms = platforms.unix;
+    knownVulnerabilities = [
+      "CVE-2020-26519: denial of service when parsing JBIG2"
+      "CVE-2017-5991: NULL pointer dereference"
+    ];
+  };
+}
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 61eb32bbd5cde..836d970a2b558 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
 , jbig2dec, libjpeg , darwin
+, gumbo
 , enableX11 ? true, libX11, libXext, libXi, libXrandr
 , enableCurl ? true, curl, openssl
 , enableGL ? true, freeglut, libGLU
@@ -13,27 +14,43 @@ let
 
 
 in stdenv.mkDerivation rec {
-  version = "1.17.0";
+  version = "1.18.0";
   pname = "mupdf";
 
   src = fetchurl {
     url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
-    sha256 = "13nl9nrcx2awz9l83mlv2psi1lmn3hdnfwxvwgwiwbxlkjl3zqq0";
+    sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
   };
 
   patches =
-    # Use shared libraries to decrease size
-    stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
-    ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
-  ;
+    stdenv.lib.optional stdenv.isDarwin ./darwin.patch ++ [
+    (fetchpatch {
+        name = "pdfocr.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
+        sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
+      })
+    (fetchpatch {
+        name = "pdf-layer.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
+        sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
+      })
+    (fetchpatch {
+        name = "pixmap.patch";
+        url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
+        sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
+      })
+    ];
 
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
   '';
 
+  # Use shared libraries to decrease size
+  buildFlags = [ "shared" ];
+
   makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ]
+  buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ]
                 ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
                 ++ lib.optionals enableCurl [ curl openssl ]
                 ++ lib.optionals enableGL (
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 364f5a25d0af9..871850fd6a69f 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "src/electron-main.js",
-  "version": "1.7.12",
+  "version": "1.7.13",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index b31841c5e79ac..4f387045bb4bb 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -8,12 +8,12 @@
 
 let
   executableName = "element-desktop";
-  version = "1.7.12";
+  version = "1.7.13";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-desktop";
     rev = "v${version}";
-    sha256 = "08d9llrglap5bbicdkbdl9l71wba2kkyhdyd0a4iqdz3l2jvv698";
+    sha256 = "04nm5amhc0bqqwcc1c9x88lnbjaaryfs0xhi4as65l5ac4jdkzjc";
   };
   electron = electron_9;
 
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index 0d3e771630fdc..93f9e34f86717 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.7.12";
+  version = "1.7.13";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "173hdg09cw13vqh0lvz6kl0mq4i3rsacjxhspkpydh2qd1g3hjrs";
+    sha256 = "13ylzyr1kkrppvp86kih60pqxlsvqlcsgz2gj4azgmrf2bijfby3";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/video/go-chromecast/default.nix b/pkgs/applications/video/go-chromecast/default.nix
new file mode 100644
index 0000000000000..89c2eb425ce6e
--- /dev/null
+++ b/pkgs/applications/video/go-chromecast/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "go-chromecast";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "vishen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y1zwy1bxnjz409vdhqwykvfjhrsyy4j503v3rjrrhkcca6vfbyg";
+  };
+
+  vendorSha256 = "04mgm3afgczq0an6ys8bilxv1hgzfwvgjx21fyl82yxd573rsf5r";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version} -X main.commit=${src.rev} -X main.date=unknown" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/vishen/go-chromecast";
+    description = "CLI for Google Chromecast, Home devices and Cast Groups";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marsam ];
+  };
+}
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index fcbb546a1fa1b..a60250ee0ff1a 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -45,14 +45,14 @@ assert useWayland -> wayland != null && wayland-protocols != null && waylandpp !
 
 let
   kodiReleaseDate = "20200728";
-  kodiVersion = "18.8";
+  kodiVersion = "18.9";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "0qpkpz43s207msvv3qkiy6vzqwcgmydxv3py7vc29mv6h30chrva";
+    sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
   };
 
   cmakeProto = fetchurl {
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index a0ec55dd895b7..74370aafa40ed 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,36 +1,30 @@
-{ stdenv, fetchFromGitHub, fetchpatch
-, cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
-, libX11, freefont_ttf, nettle, libconfig, wayland, libpthreadstubs, libXdmcp
-, libXfixes, libbfd
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, SDL2_ttf, spice-protocol
+, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp
+, libXi, libXext, wayland, libffi, libGLU, expat, libbfd
 }:
 
 stdenv.mkDerivation rec {
   pname = "looking-glass-client";
-  version = "B1";
+  version = "B2";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "0vykv7yjz4fima9d82m83acd8ab72nq4wyzyfs1c499i27wz91ia";
+    sha256 = "100b5kzh8gr81kzw5fdqz2jsms25hv3815d31vy3qd6lrlm5gs3d";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
-    SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig
-    libX11 freefont_ttf nettle libconfig wayland libpthreadstubs
-    libXdmcp libXfixes libbfd cmake
+    SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle
+    libpthreadstubs libXau libXdmcp libXi libXext wayland libffi libGLU expat
+    libbfd
   ];
 
-  enableParallelBuilding = true;
-
   sourceRoot = "source/client";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mv looking-glass-client $out/bin
-  '';
+  NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem.
 
   meta = with stdenv.lib; {
     description = "A KVM Frame Relay (KVMFR) implementation";
@@ -41,9 +35,9 @@ stdenv.mkDerivation rec {
       step required to move away from dual booting with other operating systems
       for legacy programs that require high performance graphics.
     '';
-    homepage = "https://looking-glass.hostfission.com/";
+    homepage = "https://looking-glass.io/";
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.alexbakker ];
+    maintainers = with maintainers; [ alexbakker ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
new file mode 100644
index 0000000000000..fa708b2983651
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/CVE-2020-27617.patch
@@ -0,0 +1,43 @@
+From 6d19c0cc6c5a9bba308fc29d7c0edc2dc372c41b Mon Sep 17 00:00:00 2001
+From: Prasad J Pandit <pjp@fedoraproject.org>
+Date: Wed, 21 Oct 2020 11:35:50 +0530
+Subject: [PATCH] net: remove an assert call in eth_get_gso_type
+
+eth_get_gso_type() routine returns segmentation offload type based on
+L3 protocol type. It calls g_assert_not_reached if L3 protocol is
+unknown, making the following return statement unreachable. Remove the
+g_assert call, it maybe triggered by a guest user.
+
+Reported-by: Gaoning Pan <pgn@zju.edu.cn>
+Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
+---
+ net/eth.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/net/eth.c b/net/eth.c
+index 0c1d413ee2..eee77071f9 100644
+--- a/net/eth.c
++++ b/net/eth.c
+@@ -16,6 +16,7 @@
+  */
+ 
+ #include "qemu/osdep.h"
++#include "qemu/log.h"
+ #include "net/eth.h"
+ #include "net/checksum.h"
+ #include "net/tap.h"
+@@ -71,9 +72,8 @@ eth_get_gso_type(uint16_t l3_proto, uint8_t *l3_hdr, uint8_t l4proto)
+             return VIRTIO_NET_HDR_GSO_TCPV6 | ecn_state;
+         }
+     }
+-
+-    /* Unsupported offload */
+-    g_assert_not_reached();
++    qemu_log_mask(LOG_GUEST_ERROR, "%s: probably not GSO frame, "
++        "unknown L3 protocol: 0x%04"PRIx16"\n", __func__, l3_proto);
+ 
+     return VIRTIO_NET_HDR_GSO_NONE | ecn_state;
+ }
+-- 
+2.28.0
+
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 3c8672057996f..2bace4f258d7e 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -82,6 +82,7 @@ stdenv.mkDerivation rec {
     ./no-etc-install.patch
     ./fix-qemu-ga.patch
     ./9p-ignore-noatime.patch
+    ./CVE-2020-27617.patch
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
     ++ optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix
index 7ad60405f1b85..692b5f01b5c6d 100644
--- a/pkgs/applications/virtualization/virt-top/default.nix
+++ b/pkgs/applications/virtualization/virt-top/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, ocamlPackages, autoreconfHook }:
+{ stdenv, fetchgit, fetchpatch, ocamlPackages, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "virt-top";
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0m7pm8lzlpngsj0vjv0hg8l9ck3gvwpva7r472f8f03xpjffwiga";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "ocaml-libvirt-0.6.1.5-fix.patch";
+      url = "http://git.annexia.org/?p=virt-top.git;a=patch;h=24a461715d5bce47f63cb0097606fc336230589f";
+      sha256 = "15w7w9iggvlw8m9w8g4h08251wzb3m3zkb58glr7ifsgi3flbn61";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt gettext-stub curses csv xml-light ];
 
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
new file mode 100644
index 0000000000000..4ec021644011a
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/AlsaMixer-app.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources, pkg-config, libX11, libXpm, libXext, alsaLib }:
+
+stdenv.mkDerivation rec {
+  pname = "AlsaMixer.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libX11 libXpm libXext alsaLib ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  dontConfigure = true;
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -t ${placeholder "out"}/bin AlsaMixer.app
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    ln -s ${placeholder "out"}/bin/AlsaMixer.app ${placeholder "out"}/bin/AlsaMixer
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Alsa mixer application for Windowmaker";
+    homepage = "https://www.dockapps.net/alsamixerapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
deleted file mode 100644
index 4e1256399e768..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/alsamixer.app.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchgit, pkgconfig, libX11, libXpm, libXext, alsaLib }:
-
-stdenv.mkDerivation {
-  name = "alsamixer.app-0.2.1";
-  src = fetchgit {
-     url = "git://repo.or.cz/dockapps.git";
-     rev = "38c74350b02f35824554ce0c4f0f251d71762040";
-     sha256 = "0g9cwhlqg065fbhav4g4n16a4cqkk9jykl3y0zwbn5whhacfqyhl";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext alsaLib ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/AlsaMixer.app";
-
-  installPhase = ''
-    mkdir -pv $out/bin;
-    cp AlsaMixer.app $out/bin/AlsaMixer;
-    '';
-
-  meta = {
-    description = "Alsa mixer application for Windowmaker";
-    homepage = "http://windowmaker.org/dockapps/?name=AlsaMixer.app";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/default.nix b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
new file mode 100644
index 0000000000000..8a66fdbd67f23
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/default.nix
@@ -0,0 +1,20 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+
+  dockapps-sources = pkgs.fetchgit {
+    url = "https://repo.or.cz/dockapps.git";
+    rev = "b2b9d872ee61c9b329e4597c301e4417cbd9c3ea";
+    sha256 = "sha256-BuSnwPIj3gUWMjj++SK+117xm/77u4gXLQzRFttei0w=";
+  };
+
+  libdockapp = callPackage ./libdockapp.nix { };
+
+  AlsaMixer-app = callPackage ./AlsaMixer-app.nix { };
+
+  wmCalClock = callPackage ./wmCalClock.nix { };
+
+  wmsm-app = callPackage ./wmsm-app.nix { };
+
+  wmsystemtray = callPackage ./wmsystemtray.nix { };
+})
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
new file mode 100644
index 0000000000000..bcdef42a78a0e
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/libdockapp.nix
@@ -0,0 +1,30 @@
+{ stdenv, dockapps-sources, autoreconfHook, pkg-config
+, libX11, libXext, libXpm, mkfontdir, fontutil }:
+
+stdenv.mkDerivation rec {
+  pname = "libdockapp";
+  version = "0.7.3";
+
+  src = dockapps-sources;
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ libX11 libXext libXpm fontutil mkfontdir ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname})
+  '';
+
+  # There is a bug on --with-font
+  configureFlags = [
+    "--with-examples=no"
+    "--with-font=no"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library providing a framework for dockapps";
+    homepage = "https://www.dockapps.net/libdockapp";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
new file mode 100644
index 0000000000000..f8ea781858a4f
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmCalClock.nix
@@ -0,0 +1,38 @@
+{ stdenv, dockapps-sources
+, libX11, libXpm, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "wmCalClock";
+  version = "1.25";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/Src)
+  '';
+
+  preBuild = ''
+    makeFlagsArray+=(
+      CC="cc"
+      INCDIR="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXpm.dev}/include"
+      LIBDIR="-I${libX11}/lib -I${libXext}/lib -I${libXpm}/lib"
+    )
+  '';
+
+  preInstall = ''
+    install -d ${placeholder "out"}/bin
+    install -d ${placeholder "out"}/man/man1
+  '';
+
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
+
+  meta = with stdenv.lib; {
+    description = "A Calendar clock with antialiased text";
+    homepage = "https://www.dockapps.net/wmcalclock";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
deleted file mode 100644
index 48f4753d674b4..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmcalclock.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmCalClock-1.25";
-  src = fetchurl {
-     url = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/files/wmCalClock-1.25.tar.gz";
-     sha256 = "4b42b55bb7c1d7c58b5ee1f0058c683d3e4f3e3380d3a69c54a50b983c7c1b3f";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/Src";
-
-  buildPhase=''
-    make prefix=$out
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    mkdir -pv $out/man/man1
-    make DESTDIR=$out install
-  '';
-
-  meta = {
-    description = "Clock for Windowmaker";
-    homepage = "http://www.cs.mun.ca/~gstarkes/wmaker/dockapps/time.html#wmcalclock";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
new file mode 100644
index 0000000000000..dd25ee2b2fced
--- /dev/null
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm-app.nix
@@ -0,0 +1,43 @@
+{ stdenv, dockapps-sources
+, libX11
+, libXpm
+, libXext
+, libdockapp }:
+
+stdenv.mkDerivation rec {
+  pname = "wmsm.app";
+  version = "0.2.1";
+
+  src = dockapps-sources;
+
+  buildInputs = [ libX11 libXpm libXext libdockapp ];
+
+  setSourceRoot = ''
+    export sourceRoot=$(echo */${pname}/wmsm)
+  '';
+
+  NIX_CFLAGS_COMPILE = "-std=gnu89";
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "PREFIX	= /usr/X11R6/bin" "" \
+      --replace "/usr/bin/install" "install"
+  '';
+
+  makeFlags = [ "CC=cc" ];
+
+  preInstall = ''
+    runHook preInstall
+    install -d ${placeholder "out"}/bin
+    runHook postInstall
+  '';
+
+  installFlags = [ "PREFIX=${placeholder "out"}/bin" ];
+
+  meta = with stdenv.lib; {
+    description = "System monitor for Windowmaker";
+    homepage = "https://www.dockapps.net/wmsmapp";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bstrik ];
+  };
+}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
deleted file mode 100644
index ad255414a6923..0000000000000
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsm.app.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext }:
-
-stdenv.mkDerivation {
-  name = "wmsm.app-0.2.1";
-  src = fetchurl {
-     url = "http://linux-bsd-unix.strefa.pl/wmsm.app-0.2.1.tar.bz2";
-     sha256 = "369a8f2e5673c6b7ab0cf85166f38fbf553dd966c3c1cfeec0e32837defd32c7";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 libXpm libXext ];
-
-  postUnpack = "sourceRoot=\${sourceRoot}/wmsm";
-
-  NIX_CFLAGS_COMPILE = "-std=gnu89";
-
-  installPhase = ''
-    substituteInPlace Makefile --replace "PREFIX	= /usr/X11R6/bin" "" --replace "/usr/bin/install" "install"
-    mkdir -pv $out/bin;
-    make PREFIX=$out/bin install;
-    '';
-
-  meta = {
-    description = "System monitor for Windowmaker";
-    homepage = "http://linux-bsd-unix.strefa.pl";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-  };
-}
diff --git a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
index 3e073cd8e91b2..6ec62af5d36e4 100644
--- a/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
+++ b/pkgs/applications/window-managers/windowmaker/dockapps/wmsystemtray.nix
@@ -1,20 +1,22 @@
 { stdenv, fetchurl, pkgconfig, libX11, libXpm, libXext, libXfixes, libXmu }:
 
-stdenv.mkDerivation {
-  name = "wmsystemtray-1.4";
+stdenv.mkDerivation rec {
+  pname = "wmsystemtray";
+  version = "1.4";
+
   src = fetchurl {
-     url = "mirror://sourceforge/project/wmsystemtray/wmsystemtray/wmsystemtray-1.4.tar.gz";
-     sha256 = "8edef43691e9fff071000e29166c7c1ad420c0956e9068151061e881c8ac97e9";
+    url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}.tar.gz";
+     sha256 = "sha256-jt70NpHp//BxAA4pFmx8GtQgwJVukGgVEGHogcisl+k=";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libX11 libXpm libXext libXfixes libXmu ];
 
-  meta = {
-    description = "Systemtray for Windowmaker";
+  meta = with stdenv.lib; {
+    description = "A system tray for Windowmaker";
     homepage = "http://wmsystemtray.sourceforge.net";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.bstrik ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.bstrik ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 265c22b556556..39299d8c83c0c 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -129,6 +129,7 @@ let
       plasma-integration = callPackage ./plasma-integration {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
+      plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
       plasma-vault = callPackage ./plasma-vault {};
       plasma-workspace = callPackage ./plasma-workspace {};
       plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix {};
diff --git a/pkgs/desktops/plasma-5/plasma-thunderbolt.nix b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix
new file mode 100644
index 0000000000000..1bb79c327ebf8
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-thunderbolt.nix
@@ -0,0 +1,16 @@
+{ mkDerivation
+, extra-cmake-modules
+, kcmutils
+, kcoreaddons
+, bolt
+}:
+
+mkDerivation {
+  name = "plasma-thunderbolt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    kcmutils
+    kcoreaddons
+    bolt
+  ];
+}
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index a74b1eb05cd5d..7c233ade74277 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -95,7 +95,15 @@ self: super: builtins.intersectAttrs super {
   sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
 
   # profiling is disabled to allow C++/C mess to work, which is fixed in GHC 8.8
-  cachix = disableLibraryProfiling super.cachix;
+  cachix = overrideSrc (disableLibraryProfiling super.cachix) {
+    src = (pkgs.fetchFromGitHub {
+      owner = "cachix";
+      repo = "cachix";
+      rev = "1471050f5906ecb7cd0d72115503d07d2e3beb17";
+      sha256 = "1lkrmhv5x9dpy53w33kxnhv4x4qm711ha8hsgccrjmxaqcsdm59g";
+    }) + "/cachix";
+    version = "0.5.1";
+  };
   hercules-ci-agent = disableLibraryProfiling super.hercules-ci-agent;
 
   # avoid compiling twice by providing executable as a separate output (with small closure size)
diff --git a/pkgs/development/libraries/google-cloud-cpp/default.nix b/pkgs/development/libraries/google-cloud-cpp/default.nix
index 7eb69d075cabd..b2d8856bfea1e 100644
--- a/pkgs/development/libraries/google-cloud-cpp/default.nix
+++ b/pkgs/development/libraries/google-cloud-cpp/default.nix
@@ -58,5 +58,6 @@ in stdenv.mkDerivation rec {
     homepage = "https://github.com/googleapis/google-cloud-cpp";
     description = "C++ Idiomatic Clients for Google Cloud Platform services";
     maintainers = with maintainers; [ andir flokli ];
+    broken = true; # Broken on Hydra since 2020-05-19
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index 026aeb220e56a..dc6cef0bbba1e 100644
--- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -1,28 +1,24 @@
-{ stdenv, fetchgit, libvirt, autoconf, ocaml, findlib }:
+{ stdenv, fetchFromGitLab, libvirt, autoreconfHook, pkg-config, ocaml, findlib, perl }:
 
 stdenv.mkDerivation rec {
   pname = "ocaml-libvirt";
-  rev = "bab7f84ade84ceaddb08b6948792d49b3d04b897";
-  version = "0.6.1.4.2017-11-08-unstable"; # libguestfs-1.34+ needs ocaml-libvirt newer than the latest release 0.6.1.4
+  version = "0.6.1.5";
 
-  src = fetchgit {
-    url = "git://git.annexia.org/git/ocaml-libvirt.git";
-    rev = rev;
-    sha256 = "0vxgx1n58fp4qmly6i5zxiacr7303127d6j78a295xin1p3a8xcw";
+  src = fetchFromGitLab {
+    owner = "libvirt";
+    repo = "libvirt-ocaml";
+    rev = "v${version}";
+    sha256 = "0xpkdmknk74yqxgw8z2w8b7ss8hpx92xnab5fsqg2byyj55gzf2k";
   };
 
   propagatedBuildInputs = [ libvirt ];
 
-  nativeBuildInputs = [ autoconf findlib ];
+  nativeBuildInputs = [ autoreconfHook pkg-config findlib perl ];
 
   buildInputs = [ ocaml ];
 
   createFindlibDestdir = true;
 
-  preConfigure = ''
-    autoconf
-  '';
-
   buildPhase = "make all opt CPPFLAGS=-Wno-error";
 
   installPhase = "make install-opt";
diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix
index 2c324bc42710e..2718ba7670b59 100644
--- a/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/pkgs/development/python-modules/ansible-lint/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "4.3.6";
+  version = "4.3.7";
   # pip is not able to import version info on raumel.yaml
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fn7mdykm4id78k4faibi92q9yxbjbyxb90ww0by03c31m8z5348";
+    sha256 = "0kwwv9dv9rgsqvp15r2vma7hii9lkkqn0n2irvp5h32cbhzzq4hh";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/coconut/default.nix b/pkgs/development/python-modules/coconut/default.nix
new file mode 100644
index 0000000000000..b75a82b6c2b21
--- /dev/null
+++ b/pkgs/development/python-modules/coconut/default.nix
@@ -0,0 +1,52 @@
+{
+  lib,
+  buildPythonApplication,
+  fetchFromGitHub,
+  fetchpatch,
+
+  cpyparsing,
+  ipykernel,
+  mypy,
+  pygments,
+  pytest,
+  prompt_toolkit,
+  tkinter,
+  watchdog
+}:
+
+buildPythonApplication rec {
+  pname = "coconut";
+  version = "1.4.3";
+
+  src = fetchFromGitHub {
+    owner = "evhub";
+    repo = "coconut";
+    rev = "v${version}";
+    sha256 = "1pz13vza3yy95dbylnq89fzc3mwgcqr7ds096wy25k6vxd9dp9c3";
+  };
+
+  propagatedBuildInputs = [ cpyparsing pygments prompt_toolkit ipykernel mypy watchdog ];
+
+  patches = [
+    (fetchpatch {
+      name = "fix-setuptools-version-check.patch";
+      url = "https://github.com/LibreCybernetics/coconut/commit/2916a087da1e063cc4438b68d4077347fd1ea4a2.patch";
+      sha256 = "136jbd2rvnifw30y73vv667002nf7sbkm5qyihshj4db7ngysr6q";
+    })
+  ];
+
+  checkInputs = [ pytest tkinter ];
+  # Currently most tests do not work on Hydra due to external fetches.
+  checkPhase = ''
+    pytest tests/constants_test.py
+    pytest tests/main_test.py::TestShell::test_compile_to_file
+    pytest tests/main_test.py::TestShell::test_convenience
+  '';
+
+  meta = with lib; {
+    homepage = "http://coconut-lang.org/";
+    description = "Simple, elegant, Pythonic functional programming";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fabianhjr ];
+  };
+}
diff --git a/pkgs/development/python-modules/cpyparsing/default.nix b/pkgs/development/python-modules/cpyparsing/default.nix
new file mode 100644
index 0000000000000..66f173106e495
--- /dev/null
+++ b/pkgs/development/python-modules/cpyparsing/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchFromGitHub, cython, python }:
+
+buildPythonPackage rec {
+  pname = "cpyparsing";
+  version = "2.4.5.0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "evhub";
+    repo = pname;
+    rev = "aa8ee45daec5c55328446bad7202ab8f799ab0ce"; # No tags on repo
+    sha256 = "1mxa5q41cb0k4lkibs0d4lzh1w6kmhhdrsm0w0r1m3s80m05ffmw";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  checkPhase = "${python.interpreter} tests/cPyparsing_test.py";
+
+  meta = with lib; {
+    homepage = "https://github.com/evhub/cpyparsing";
+    description = "Cython PyParsing implementation";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fabianhjr ];
+  };
+}
diff --git a/pkgs/development/python-modules/googlemaps/default.nix b/pkgs/development/python-modules/googlemaps/default.nix
new file mode 100644
index 0000000000000..7e13aedec475d
--- /dev/null
+++ b/pkgs/development/python-modules/googlemaps/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, requests
+, responses, pytestCheckHook, pytest, pytestcov, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "googlemaps";
+  version = "4.4.2";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "googlemaps";
+    repo = "google-maps-services-python";
+    rev = "v${version}";
+    sha256 = "DYhW1OGce/0gY7Jmwq6iM45PxLyXIYo4Cfg2u6Xuyg4=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ pytestCheckHook responses pytestcov ];
+
+  disabledTests = [
+    # touches network
+    "test_elevation_along_path_single"
+    "test_transit_without_time"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/googlemaps/google-maps-services-python";
+    description = "Python client library for Google Maps API Web Services";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/openrouteservice/default.nix b/pkgs/development/python-modules/openrouteservice/default.nix
new file mode 100644
index 0000000000000..c35405f417b22
--- /dev/null
+++ b/pkgs/development/python-modules/openrouteservice/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchFromGitHub, requests, responses, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "openrouteservice";
+  version = "2.3.0";
+
+  src = fetchFromGitHub {
+    owner = "GIScience";
+    repo = "${pname}-py";
+    rev = "v${version}";
+    sha256 = "ySXzOQI9NcF1W/otbL7i3AY628/74ZkJjDMQ9ywVEPc=";
+  };
+
+  checkInputs = [ pytestCheckHook responses ];
+
+  disabledTests = [
+    # touches network
+    "test_optimized_waypoints"
+    "test_invalid_api_key"
+    "test_raise_timeout_retriable_requests"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/GIScience/openrouteservice-py";
+    description = "The Python API to consume openrouteservice(s) painlessly";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index bc2f2c6e95ff7..c3cf43be01af5 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
 buildPythonPackage rec {
   pname = "PyMuPDF";
-  version = "1.17.6";
+  version = "1.18.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5eef4ff61698016a296932858625a5a0039b923ba692043e2c98ca02966f1da2";
+    sha256 = "64ce58f92d9edd2631e447175fa13b4024ac3b6dce6e718e0b003c41de6f7952";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pytest-pylint/default.nix b/pkgs/development/python-modules/pytest-pylint/default.nix
index f7a9a31430659..e35d2ebc73e92 100644
--- a/pkgs/development/python-modules/pytest-pylint/default.nix
+++ b/pkgs/development/python-modules/pytest-pylint/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-pylint";
-  version = "0.17.0";
+  version = "0.18.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0c177d63f6e3f5b82fa2720a6570dd2ecff1616c26ed6d02d0cbf75fd98ddf9";
+    sha256 = "790c7a8019fab08e59bd3812db1657a01995a975af8b1c6ce95b9aa39d61da27";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pyvmomi/default.nix b/pkgs/development/python-modules/pyvmomi/default.nix
index 25845c9847a30..8f8ca6f1d7ac1 100644
--- a/pkgs/development/python-modules/pyvmomi/default.nix
+++ b/pkgs/development/python-modules/pyvmomi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyvmomi";
-  version = "7.0";
+  version = "7.0.1";
 
   src = fetchFromGitHub {
     owner = "vmware";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1qqljrlc9h7kddx3xxc6479gk75fvaxspfikzjn6zj5mznsvfwj5";
+    sha256 = "1i7zni4ygdikc22wfrbnzwqh6qy402s3di6sdlfcvky2y7fzx52x";
   };
 
   # requires old version of vcrpy
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 28b66ec5a521c..aaf879d2a3f4f 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "rtslib";
-  version = "2.1.72";
+  version = "2.1.74";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "${pname}-fb";
     rev = "v${version}";
-    sha256 = "13kycf9xkyxm1ik8yh3qpd96vird8y65daigyiyb4jvx0lmrd0kv";
+    sha256 = "1in10z6ckmkfhykar435k1fmswbfajysv4g9nsav893ij8g694fy";
   };
 
   propagatedBuildInputs = [ six pyudev pygobject3 ];
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index d34a826a06044..d17aed6ae43ac 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.5.5";
+  version = "0.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "787ade4796c5b2e79af2aac678841ba3748a65a3adce150697dcdd31c4f80365";
+    sha256 = "215703456479d24f524cdcd0365006250d4502d242f57e2f5db18e8638bc8694";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index d4f94c1aed974..359c942d189a5 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "1kg11s3figpkvgd85p0zk416s57gnvlzrz1isbc2lv13adidf041";
+    sha256 = "0sd4qwl1wh8b1hck846plrgddkrdwdfqwk2dgh5hdsrlrvx5xjrr";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index fcddf1d0cacc3..14ef09ee7ed0b 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -1,20 +1,24 @@
-{ stdenv, fetchFromGitHub, php, flex }:
+{ bison
+, fetchFromGitHub
+, flex
+, php
+, stdenv
+}:
 
 # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
 # invoked and complains about it being an unknown toolset. We could use `makeWrapper`, but
 # then we’d need to still craft a script that does the `php libexec/arcanist/bin/...` dance
 # anyway... So just do everything at once.
 let makeArcWrapper = toolset: ''
-    cat << WRAPPER > $out/bin/${toolset}
-    #!$shell -e
-    export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
-    exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
-    WRAPPER
-    chmod +x $out/bin/${toolset}
+  cat << WRAPPER > $out/bin/${toolset}
+  #!$shell -e
+  export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
+  exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
+  WRAPPER
+  chmod +x $out/bin/${toolset}
 '';
 
 in
-
 stdenv.mkDerivation {
   pname = "arcanist";
   version = "20200711";
@@ -25,7 +29,7 @@ stdenv.mkDerivation {
     rev = "2565cc7b4d1dbce6bc7a5b3c4e72ae94be4712fe";
     sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
   };
-  buildInputs = [ php flex ];
+  buildInputs = [ bison flex php ];
 
   postPatch = stdenv.lib.optionalString stdenv.isAarch64 ''
     substituteInPlace support/xhpast/Makefile \
@@ -33,13 +37,15 @@ stdenv.mkDerivation {
   '';
 
   buildPhase = ''
+    make cleanall -C support/xhpast
     make xhpast -C support/xhpast
   '';
 
   installPhase = ''
     mkdir -p $out/bin $out/libexec
     make install -C support/xhpast
-    cp -R $src $out/libexec/arcanist
+    make cleanall -C support/xhpast
+    cp -R . $out/libexec/arcanist
 
     ${makeArcWrapper "arc"}
     ${makeArcWrapper "phage"}
@@ -53,9 +59,9 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Command line interface to Phabricator";
-    homepage    = "http://phabricator.org";
-    license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.unix;
+    homepage = "http://phabricator.org";
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 0c60821102dd4..5fe6eb0575d92 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -18,16 +18,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19ki9qyg9q26jq4jkcf8b6xhy4g4cn30zqccgl3324mnijhl33jk";
+    sha256 = "0dpx74zp85a3qcabfmwnsh1kl0c74ygafybqzmyvwjmax0hdgkq6";
     fetchSubmodules = true;
   };
-  cargoSha256 = "1q3gmilphkbh54y7m711ccr1gr5slk2nn91qq61rmmphyylwkgv2";
+  cargoSha256 = "0358vbpda9x0ib0vla4crn052lk299x2hg14g8lzymg33277lk3p";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
@@ -52,15 +52,14 @@ rustPlatform.buildRustPackage rec {
   # Skipping until resolved
   doCheck = false;
 
-  # TODO: Move to enhanced installShellCompletion when merged: PR #83630
   postInstall = ''
     # remove test plugin and test server
     rm -rf $out/lib $out/bin/test_server
 
-    $out/bin/deno completions bash > deno.bash
-    $out/bin/deno completions fish > deno.fish
-    $out/bin/deno completions zsh  > _deno
-    installShellCompletion deno.{bash,fish} --zsh _deno
+    installShellCompletion --cmd deno \
+      --bash <($out/bin/deno completions bash) \
+      --fish <($out/bin/deno completions fish) \
+      --zsh <($out/bin/deno completions zsh)
   '';
 
   passthru.updateScript = ./update/update.ts;
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index 49f9e68323543..73639fd7553ce 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.05.0";
+  version = "1.05.1";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "16ryjfkmnhlxv7b6yvyk3247q7ih4g90a7c4z501xiyp7h0wlsw8";
+    sha256 = "03b2vxpakp6zizb0m65q9lq800z67b052k01q251b3f04kr1waih";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix
index e617881a570cd..d93f8a6c46ed9 100644
--- a/pkgs/os-specific/linux/batman-adv/version.nix
+++ b/pkgs/os-specific/linux/batman-adv/version.nix
@@ -1,9 +1,9 @@
 {
-  version = "2020.3";
+  version = "2020.4";
 
   sha256 = {
-    batman-adv = "0wrzh0k44zzjx2s5zj65hjkh4jm9y38qpis1s5cbx9cyj756slb5";
-    alfred = "13bvccz90pkjl09jyw68gj23pbrw9b05w1vhds9sjggwf3jkj5w2";
-    batctl = "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm";
+    batman-adv = "1cxr0zmn9nzisawkrfk0gzd9fx0pg6261c889kz47hwp4f545v6d";
+    alfred = "1ay69nifzghpbvy11fdca5cllkn852h6rg045lci4vzgqf7b2bd2";
+    batctl = "05rrpfbpdhxn5zgdps849qls2ifis6a94cjryb60d4y1nc2n0d7w";
   };
 }
diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index 114a90129ac22..8bd442843b19d 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -1,28 +1,49 @@
-{ stdenv, meson, ninja, pkgconfig, fetchFromGitLab,
-  python3, umockdev, gobject-introspection, dbus,
-  asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl,
-  glib, systemd, polkit
+{ stdenv
+, meson
+, ninja
+, pkgconfig
+, fetchFromGitLab
+, python3
+, umockdev
+, gobject-introspection
+, dbus
+, asciidoc
+, libxml2
+, libxslt
+, docbook_xml_dtd_45
+, docbook_xsl
+, glib
+, systemd
+, polkit
 }:
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = version;
-    sha256 = "1qamls0fll0qc27lqavf56hv1yj6v6n4ry90g7bcnwpvccmd82yd";
+    sha256 = "sha256-lcJE+bMK2S2GObHMy/Fu12WGb3T1HrWjsNyZPz4/f4E=";
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig
-    asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl
+    asciidoc
+    docbook_xml_dtd_45
+    docbook_xsl
+    libxml2
+    libxslt
+    meson
+    ninja
+    pkgconfig
   ] ++ stdenv.lib.optional (!doCheck) python3;
 
   buildInputs = [
-    glib systemd polkit
+    glib
+    polkit
+    systemd
   ];
 
   doCheck = true;
@@ -32,7 +53,9 @@ stdenv.mkDerivation rec {
   '';
 
   checkInputs = [
-    dbus umockdev gobject-introspection
+    dbus
+    gobject-introspection
+    umockdev
     (python3.withPackages
       (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ]))
   ];
@@ -55,7 +78,7 @@ stdenv.mkDerivation rec {
     description = "Thunderbolt 3 device management daemon";
     homepage = "https://gitlab.freedesktop.org/bolt/bolt";
     license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.callahad ];
+    maintainers = with maintainers; [ callahad ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index f8e211fb289fe..7984e2678070c 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg
+, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf_1_17, ncurses, openjpeg
 , openssl
 
 , imageSupport ? true, imlib2 ? null }:
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   buildInputs = [
-    freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg
+    freetype harfbuzz jbig2dec libjpeg libX11 mupdf_1_17 ncurses openjpeg
     openssl
   ] ++ stdenv.lib.optionals imageSupport [
     imlib2
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index c5c2f6d513d05..aa4b2a64150ea 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -105,8 +105,8 @@ in rec {
   asterisk = asterisk_18;
 
   asterisk_13 = common {
-    version = "13.37.0";
-    sha256 = "09wc6cqh4f15wm62drzdppwvh7nwgnbwapvz1kgb0qdgixsshn3v";
+    version = "13.37.1";
+    sha256 = "1zc3104zw4y7i8bhhgrgy3snq0zr1904p64ykfc3ldh4xyfy3ld6";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -114,8 +114,8 @@ in rec {
   };
 
   asterisk_16 = common {
-    version = "16.14.0";
-    sha256 = "1y120p4jlhg4iwihdxlk64y3y3n8w7y785lwqxsyqg6zviz0ghx6";
+    version = "16.14.1";
+    sha256 = "1lhh3npyy8hvy29jwjgapnxfjv1ahp2qdi4iq1d6a61ffhd20vfs";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -123,8 +123,8 @@ in rec {
   };
 
   asterisk_17 = common {
-    version = "17.8.0";
-    sha256 = "0xhwh8s8n8xg43gcdkqjj484assva7lm5ah1b306a5nf6j8p9bjy";
+    version = "17.8.1";
+    sha256 = "0m7gw01kpvsc0f9lb1hiq5b4g1fdh4gdfyxlqxp6m37vgxh2a48p";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
@@ -132,8 +132,8 @@ in rec {
   };
 
   asterisk_18 = common {
-    version = "18.0.0";
-    sha256 = "174zasx8d7ragy2fz4vwc4pbra9wl471mnisz1z0a3b2qsbh4y4v";
+    version = "18.0.1";
+    sha256 = "1kyly10pk7bpfqg3mjbvb8p795fnj9lvd29yp2xsxwgsqi1dn9p8";
     externals = {
       "externals_cache/pjproject-2.10.tar.bz2" = pjproject_2_10;
       "addons/mp3" = mp3-202;
diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix
index 25ad49e7c8a8e..f8827b1f1fede 100644
--- a/pkgs/servers/monitoring/prometheus/promscale.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256:00mhkp3nf6h2zsvmmwyza1lahvmm05isfi7rqkx24c0dmkmif3x9";
+    sha256 = "sha256-Yl61hX4YBddw0euTwheMIOy08jgS47rAU0cKyXiz9s4=";
   };
 
   vendorSha256 = "sha256:1ilciwf08678sciwwrjalwvcs5bp7x254nxc3nhdf88cf0bp2nxi";
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index a59f74873dc59..a6841f7fabedc 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, trezor-udev-rules }:
+{ stdenv
+, buildGoModule
+, fetchFromGitHub
+, trezor-udev-rules
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "trezord-go";
-  version = "2.0.29";
-
-  goPackagePath = "github.com/trezor/trezord-go";
+  version = "2.0.30";
 
   src = fetchFromGitHub {
     owner  = "trezor";
     repo   = "trezord-go";
     rev    = "v${version}";
-    sha256 = "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp";
+    sha256 = "1hzvk0wfgg7b4wpqjk3738yqxlv3pj5i7zxwm0jady2h97hmrqrr";
   };
 
+  vendorSha256 = "0wb959xzyvr5zzjvkfqc422frmf97q5nr460f02wwx0pj6ch0y61";
+
   propagatedBuildInputs = [ trezor-udev-rules ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 018dfe7858e35..3922851af3310 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub
-, meson, pkgconfig, ninja, docutils, makeWrapper
+, meson, pkg-config, ninja, docutils, makeWrapper
 , fuse3, glib
 , which, python3Packages
 , openssh
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.0";
+  version = "3.7.1";
   pname = "sshfs-fuse";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "sshfs";
     rev = "sshfs-${version}";
-    sha256 = "119qvjaai3nqs2psqk2kv4gxjchrnrcfnmlwk7yxnj3v59pgyxhv";
+    sha256 = "088mgcsqv9f2vly4xn6lvvkmqkgr9jjmjs9qp8938hl7j6rrgd17";
   };
 
-  nativeBuildInputs = [ meson pkgconfig ninja docutils makeWrapper ];
+  nativeBuildInputs = [ meson pkg-config ninja docutils makeWrapper ];
   buildInputs = [ fuse3 glib ];
   checkInputs = [ which python3Packages.pytest ];
 
diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 8cd926c5c2721..024454a3472db 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -1,13 +1,8 @@
 { stdenv, fetchurl, nasm }:
 
 let
-  arch =
-    if      stdenv.hostPlatform.system == "x86_64-linux" then "bandwidth64"
-    else if stdenv.hostPlatform.system == "i686-linux" then "bandwidth32"
-    else if stdenv.hostPlatform.system == "x86_64-darwin" then "bandwidth-mac64"
-    else if stdenv.hostPlatform.system == "i686-darwin" then "bandwidth-mac32"
-    else if stdenv.hostPlatform.system == "i686-cygwin" then "bandwidth-win32"
-    else throw "Unknown architecture";
+  inherit (stdenv.hostPlatform.parsed.cpu) bits;
+  arch = "bandwidth${toString bits}";
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
@@ -18,21 +13,25 @@ stdenv.mkDerivation rec {
     sha256 = "0x798xj3vhiwq2hal0vmf92sq4h7yalp3i6ylqwhnnpv99m2zws4";
   };
 
-  buildInputs = [ nasm ];
+  postPatch = ''
+    sed -i 's,^CC=gcc .*,,' OOC/Makefile Makefile*
+    sed -i 's,ar ,$(AR) ,g' OOC/Makefile
+  '';
+
+  nativeBuildInputs = [ nasm ];
 
-  buildFlags = [ arch ]
-    ++ stdenv.lib.optionals stdenv.cc.isClang [ "CC=clang" "LD=clang" ];
+  buildFlags = [ arch ];
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ${arch} $out/bin
-    ln -s ${arch} $out/bin/bandwidth
+    cp ${arch} $out/bin/bandwidth
   '';
 
   meta = with stdenv.lib; {
     homepage = "https://zsmith.co/bandwidth.html";
     description = "Artificial benchmark for identifying weaknesses in the memory subsystem";
-    license = licenses.mit;
-    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
+    platforms = platforms.x86;
+    maintainers = with maintainers; [ r-burns ];
   };
 }
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
new file mode 100644
index 0000000000000..ee91c66cc82a7
--- /dev/null
+++ b/pkgs/tools/misc/fend/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "fend";
+  version = "0.1.9";
+
+  src = fetchFromGitHub {
+    owner = "printfn";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "11cvpg7j2rvqri16cr3gb6dpm7dzgs3vywhdc91aa531f87qj16c";
+  };
+
+  cargoSha256 = "0q9gkvbay6rnb0nd14z71h3506yzn9610zc6g8wbpgmw6cpwvbg9";
+
+  meta = with lib; {
+    description = "Arbitrary-precision unit-aware calculator";
+    homepage = "https://github.com/printfn/fend";
+    license = licenses.mit;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 37595702b6864..701e86dbf9018 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -4,9 +4,11 @@
 , tzdata
 
 , features ?
-    (if stdenv.isAarch64
+    ((if stdenv.isAarch64
      then [ "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ]
      else [ "leveldb" "leveldb/leveldb-sys-2" "jemallocator" "rdkafka" "rdkafka/dynamic_linking" ])
+     ++
+     [ "sinks" "sources" "transforms" ])
 , coreutils
 , CoreServices
 }:
@@ -38,9 +40,20 @@ rustPlatform.buildRustPackage rec {
   # vector.dev during the checkPhase, which obviously isn't going to work.
   # these tests in the DNS module are trivial though, so stubbing them out is
   # fine IMO.
+  #
+  # the geoip transform yields maxmindb.so which contains references to rustc.
+  # neither figured out why the shared object is included in the output
+  # (it doesn't seem to be a runtime dependencies of the geoip transform),
+  # nor do I know why it depends on rustc.
+  # However, in order for the closure size to stay at a reasonable level,
+  # transforms-geoip is patched out of Cargo.toml for now - unless explicitly asked for.
   patchPhase = ''
     substituteInPlace ./src/dns.rs \
       --replace "#[test]" ""
+
+    ${lib.optionalString (!builtins.elem "transforms-geoip" features) ''
+        substituteInPlace ./Cargo.toml --replace '"transforms-geoip",' ""
+    ''}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/dogdns/default.nix b/pkgs/tools/networking/dogdns/default.nix
index 2875f20251515..71e065e5d14c3 100644
--- a/pkgs/tools/networking/dogdns/default.nix
+++ b/pkgs/tools/networking/dogdns/default.nix
@@ -3,6 +3,8 @@
 , rustPlatform
 , pkg-config
 , openssl
+, Security
+, installShellFiles
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,11 +18,17 @@ rustPlatform.buildRustPackage rec {
     sha256 = "088ib0sncv0vrvnqfvxf5zc79v7pnxd2cmgp4378r6pmgax9z9zy";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ];
+  nativeBuildInputs = [ installShellFiles ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ pkg-config ];
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ openssl ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
   cargoSha256 = "08scc6vh703245rg3xkffhalrk5pisd0wg54fd49d7gdbyjivgi6";
 
+  postInstall = ''
+    installShellCompletion completions/dog.{bash,fish,zsh}
+  '';
+
   meta = with stdenv.lib; {
     description = "Command-line DNS client";
     homepage = "https://dns.lookup.dog";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7075f2ba783df..eb358f6af65db 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1064,6 +1064,8 @@ in
 
   cloud-custodian = python3Packages.callPackage ../tools/networking/cloud-custodian  { };
 
+  coconut = with python3Packages; toPythonApplication coconut;
+
   cod = callPackage ../tools/misc/cod { };
 
   codespell = with python3Packages; toPythonApplication codespell;
@@ -2145,6 +2147,8 @@ in
 
   gdrive = callPackage ../applications/networking/gdrive { };
 
+  go-chromecast = callPackage ../applications/video/go-chromecast { };
+
   go-rice = callPackage ../tools/misc/go.rice {};
 
   go-2fa = callPackage ../tools/security/2fa {};
@@ -3357,7 +3361,9 @@ in
 
   dog = callPackage ../tools/system/dog { };
 
-  dogdns = callPackage ../tools/networking/dogdns { };
+  dogdns = callPackage ../tools/networking/dogdns {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   dosfstools = callPackage ../tools/filesystems/dosfstools { };
 
@@ -3794,6 +3800,8 @@ in
 
   feedreader = callPackage ../applications/networking/feedreaders/feedreader {};
 
+  fend = callPackage ../tools/misc/fend { };
+
   ferm = callPackage ../tools/networking/ferm { };
 
   ffsend = callPackage ../tools/misc/ffsend { };
@@ -9627,7 +9635,7 @@ in
     stdenv = gcc7Stdenv;
   });
 
-  llvmPackages_latest = llvmPackages_10;
+  llvmPackages_latest = llvmPackages_11;
 
   llvmPackages_rocm = callPackage ../development/compilers/llvm/rocm { };
 
@@ -15293,7 +15301,7 @@ in
       kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit
       kscreen kscreenlocker ksshaskpass ksysguard kwallet-pam kwayland-integration
       kwin kwrited milou oxygen plasma-browser-integration plasma-desktop
-      plasma-integration plasma-nm plasma-pa plasma-vault plasma-workspace
+      plasma-integration plasma-nm plasma-pa plasma-thunderbolt plasma-vault plasma-workspace
       plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm
       systemsettings user-manager xdg-desktop-portal-kde
     ;
@@ -18379,7 +18387,7 @@ in
   # Hardened Linux
   hardenedLinuxPackagesFor = kernel': overrides:
     let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates:
-      linux_latest_for_hardened = pkgs.linux_5_8;
+      linux_latest_for_hardened = pkgs.linux_5_9;
       kernel = (if kernel' == pkgs.linux_latest then linux_latest_for_hardened else kernel').override overrides;
     in linuxPackagesFor (kernel.override {
       structuredExtraConfig = import ../os-specific/linux/kernel/hardened/config.nix {
@@ -22704,6 +22712,7 @@ in
   pdfsam-basic = callPackage ../applications/misc/pdfsam-basic { };
 
   mupdf = callPackage ../applications/misc/mupdf { };
+  mupdf_1_17 = callPackage ../applications/misc/mupdf/1.17.nix { };
 
   mystem = callPackage ../applications/misc/mystem { };
 
@@ -24358,6 +24367,7 @@ in
   windowlab = callPackage ../applications/window-managers/windowlab { };
 
   windowmaker = callPackage ../applications/window-managers/windowmaker { };
+  dockapps = callPackage ../applications/window-managers/windowmaker/dockapps { };
 
   wily = callPackage ../applications/editors/wily { };
 
@@ -24367,16 +24377,8 @@ in
 
   write_stylus = libsForQt5.callPackage ../applications/graphics/write_stylus { };
 
-  alsamixer.app = callPackage ../applications/window-managers/windowmaker/dockapps/alsamixer.app.nix { };
-
   wllvm = callPackage  ../development/tools/wllvm { };
 
-  wmcalclock = callPackage ../applications/window-managers/windowmaker/dockapps/wmcalclock.nix { };
-
-  wmsm.app = callPackage ../applications/window-managers/windowmaker/dockapps/wmsm.app.nix { };
-
-  wmsystemtray = callPackage ../applications/window-managers/windowmaker/dockapps/wmsystemtray.nix { };
-
   wmname = callPackage ../applications/misc/wmname { };
 
   wmctrl = callPackage ../tools/X11/wmctrl { };
@@ -24927,7 +24929,6 @@ in
 
   exodus = callPackage ../applications/blockchains/exodus { };
 
-  freicoin = callPackage ../applications/blockchains/freicoin.nix { boost = boost155; };
   go-ethereum = callPackage ../applications/blockchains/go-ethereum.nix {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) IOKit;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ef74e4fdc68eb..ce7e0f87469fc 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1250,6 +1250,8 @@ in {
 
   cnvkit = callPackage ../development/python-modules/cnvkit { };
 
+  coconut = callPackage ../development/python-modules/coconut { };
+
   cocotb = callPackage ../development/python-modules/cocotb { };
 
   codecov = callPackage ../development/python-modules/codecov { };
@@ -1351,6 +1353,8 @@ in {
 
   cppy = callPackage ../development/python-modules/cppy { };
 
+  cpyparsing = callPackage ../development/python-modules/cpyparsing { };
+
   cram = callPackage ../development/python-modules/cram { };
 
   crashtest = callPackage ../development/python-modules/crashtest { };
@@ -2530,6 +2534,8 @@ in {
 
   google-i18n-address = callPackage ../development/python-modules/google-i18n-address { };
 
+  googlemaps = callPackage ../development/python-modules/googlemaps { };
+
   google-music = callPackage ../development/python-modules/google-music { };
 
   google-music-proto = callPackage ../development/python-modules/google-music-proto { };
@@ -4245,6 +4251,8 @@ in {
 
   openrazer-daemon = callPackage ../development/python-modules/openrazer/daemon.nix { };
 
+  openrouteservice = callPackage ../development/python-modules/openrouteservice/default.nix { };
+
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
   opentracing = callPackage ../development/python-modules/opentracing { };