summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/accessibility/svkbd/default.nix59
-rw-r--r--pkgs/applications/audio/sublime-music/default.nix27
-rw-r--r--pkgs/applications/editors/poke/default.nix1
-rw-r--r--pkgs/applications/graphics/freecad/default.nix2
-rw-r--r--pkgs/applications/misc/flavours/default.nix6
-rw-r--r--pkgs/applications/misc/ranger/default.nix2
-rw-r--r--pkgs/applications/misc/vifm/default.nix1
-rw-r--r--pkgs/applications/misc/visidata/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/amfora/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/lens/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/alacritty/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/xterm/default.nix1
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix1
-rw-r--r--pkgs/development/compilers/ecl/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/12/libc++/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/12/libc++abi.nix6
-rw-r--r--pkgs/development/compilers/llvm/12/libcxxabi-no-threads.patch12
-rw-r--r--pkgs/development/compilers/llvm/12/libunwind.nix9
-rw-r--r--pkgs/development/compilers/llvm/12/openmp.nix10
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-driver/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-clock/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-clock/freestanding.nix23
-rw-r--r--pkgs/development/python-modules/accuweather/default.nix37
-rw-r--r--pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix4
-rw-r--r--pkgs/development/python-modules/pynanoleaf/default.nix4
-rw-r--r--pkgs/development/python-modules/pytube/default.nix34
-rw-r--r--pkgs/development/python-modules/rapidfuzz/default.nix47
-rw-r--r--pkgs/development/python-modules/spotipy/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix23
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-valgrind/default.nix6
-rw-r--r--pkgs/development/web/nodejs/v15.nix4
-rw-r--r--pkgs/games/super-tux-kart/default.nix1
-rw-r--r--pkgs/misc/tmux-plugins/default.nix24
-rw-r--r--pkgs/os-specific/linux/dstat/default.nix1
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/mail/exim/default.nix3
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/shells/oil/default.nix1
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/audio/spotdl/default.nix47
-rw-r--r--pkgs/tools/misc/fzf/default.nix1
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--pkgs/tools/networking/mailutils/default.nix4
-rw-r--r--pkgs/tools/security/chkrootkit/default.nix18
-rw-r--r--pkgs/tools/security/knockpy/default.nix40
-rw-r--r--pkgs/tools/system/htop/default.nix3
-rw-r--r--pkgs/tools/video/rav1e/default.nix11
-rw-r--r--pkgs/top-level/all-packages.nix6
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix4
55 files changed, 421 insertions, 132 deletions
diff --git a/pkgs/applications/accessibility/svkbd/default.nix b/pkgs/applications/accessibility/svkbd/default.nix
new file mode 100644
index 00000000000..57e6cdba5ae
--- /dev/null
+++ b/pkgs/applications/accessibility/svkbd/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchurl
+, writeText
+, pkg-config
+, libX11
+, libXft
+, libXi
+, libXinerama
+, libXtst
+, layout ? null
+, conf ? null
+, patches ? [ ]
+}:
+
+stdenv.mkDerivation rec {
+  pname = "svkbd";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
+    sha256 = "108khx665d7dlzs04iy4g1nw3fyqpy6kd0afrwiapaibgv4xhfsk";
+  };
+
+  inherit patches;
+
+  postPatch = let
+    configFile = if lib.isDerivation conf || lib.isPath conf then
+      conf
+    else
+      writeText "config.def.h" conf;
+  in lib.optionalString (conf != null) ''
+    cp ${configFile} config.def.h
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libX11
+    libXft
+    libXi
+    libXinerama
+    libXtst
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ] ++ lib.optional (layout != null) "LAYOUT=${layout}";
+
+  meta = with lib; {
+    description = "Simple virtual keyboard";
+    homepage = "https://tools.suckless.org/x/svkbd/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/audio/sublime-music/default.nix b/pkgs/applications/audio/sublime-music/default.nix
index 1f74998166f..f584b13a292 100644
--- a/pkgs/applications/audio/sublime-music/default.nix
+++ b/pkgs/applications/audio/sublime-music/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
+{ fetchFromGitLab, lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
 , chromecastSupport ? false
 , serverSupport ? false
 , keyringSupport ? true
@@ -8,11 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sublime-music";
-  version = "0.11.7";
+  version = "0.11.10";
 
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "1x6b02gw46gp6qcgv67j7k3gr1dpfczbyma6dxanag8pnpqrj8qi";
+  src = fetchFromGitLab {
+    owner = "sublime-music";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1g78gmiywg07kaywfc9q0yab2bzxs936vb3157ni1z0flbmcwrry";
   };
 
   nativeBuildInputs = [
@@ -30,6 +32,7 @@ python3Packages.buildPythonApplication rec {
   ;
 
   propagatedBuildInputs = with python3Packages; [
+    bleach
     dataclasses-json
     deepdiff
     fuzzywuzzy
@@ -52,12 +55,22 @@ python3Packages.buildPythonApplication rec {
 
   # no tests
   doCheck = false;
-  pythonImportsCheck = [ "sublime" ];
+  pythonImportsCheck = [ "sublime_music" ];
+
+  postInstall = ''
+    install -Dm444 sublime-music.desktop      -t $out/share/applications
+    install -Dm444 sublime-music.metainfo.xml -t $out/share/metainfo
+
+    for size in 16 22 32 48 64 72 96 128 192 512 1024; do
+        install -Dm444 logo/rendered/"$size".png \
+          $out/share/icons/hicolor/"$size"x"$size"/apps/sublime-music.png
+    done
+  '';
 
   meta = with lib; {
     description = "GTK3 Subsonic/Airsonic client";
     homepage = "https://sublimemusic.app/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ albakham ];
+    maintainers = with maintainers; [ albakham sumnerevans ];
   };
 }
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index 22e6185b22f..47b9677e314 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -68,6 +68,7 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ AndersonTorres metadark ];
     platforms = platforms.unix;
+    changelog = "https://git.savannah.gnu.org/cgit/poke.git/plain/ChangeLog?h=releases/poke-${version}";
   };
 }
 
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 56994e17211..47341578862 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -35,7 +35,7 @@
 , scipy
 , shiboken2
 , soqt
-, spaceNavSupport ? true
+, spaceNavSupport ? false
 , swig
 , vtk
 , wrapQtAppsHook
diff --git a/pkgs/applications/misc/flavours/default.nix b/pkgs/applications/misc/flavours/default.nix
index 0e072aa649c..b116fbbbd7c 100644
--- a/pkgs/applications/misc/flavours/default.nix
+++ b/pkgs/applications/misc/flavours/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flavours";
-  version = "0.3.6";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "Misterio77";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nys1sh4qwda1ql6aq07bhyvhjp5zf0qm98kr4kf2fmr87ddc12q";
+    sha256 = "sha256-rDy859jg+F8XC4sJogIgdn1FoT8cf7S+KORt+7kboAc=";
   };
 
-  cargoSha256 = "0bmmxiv8bd09kgxmhmynslfscsx2aml1m1glvid3inaipylcq45h";
+  cargoSha256 = "sha256-cAXiAPhHdxdd8pFQ0Gq7eHO2p/Dam53gDbE583UYY/k=";
 
   meta = with lib; {
     description = "An easy to use base16 scheme manager/builder that integrates with any workflow";
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 10ea22a1eca..4bd8a182d6f 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -42,7 +42,7 @@ python3Packages.buildPythonApplication rec {
 
   meta =  with lib; {
     description = "File manager with minimalistic curses interface";
-    homepage = "http://ranger.github.io/";
+    homepage = "https://ranger.github.io/";
     license = licenses.gpl3Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ toonn magnetophon ];
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 18d190a9dd6..7bc4bd1ff76 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -40,5 +40,6 @@ in stdenv.mkDerivation rec {
     homepage = "https://vifm.info/";
     inherit version;
     updateWalker = true;
+    changelog = "https://github.com/vifm/vifm/blob/v${version}/ChangeLog";
   };
 }
diff --git a/pkgs/applications/misc/visidata/default.nix b/pkgs/applications/misc/visidata/default.nix
index b7f9d6ca1a6..fc609b280f9 100644
--- a/pkgs/applications/misc/visidata/default.nix
+++ b/pkgs/applications/misc/visidata/default.nix
@@ -44,7 +44,7 @@ buildPythonApplication rec {
     description = "Interactive terminal multitool for tabular data";
     license = lib.licenses.gpl3;
     maintainers = [ lib.maintainers.raskin ];
-    platforms = with lib.platforms; linux ++ darwin;
     homepage = "http://visidata.org/";
+    changelog = "https://github.com/saulpw/visidata/blob/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/applications/networking/browsers/amfora/default.nix b/pkgs/applications/networking/browsers/amfora/default.nix
index 59612550ead..04871239eda 100644
--- a/pkgs/applications/networking/browsers/amfora/default.nix
+++ b/pkgs/applications/networking/browsers/amfora/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/makeworld-the-better-one/amfora";
     license = with licenses; [ gpl3 ];
     maintainers = with maintainers; [ deifactor ];
+    changelog = "https://github.com/makeworld-the-better-one/amfora/blob/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/applications/networking/cluster/lens/default.nix b/pkgs/applications/networking/cluster/lens/default.nix
index 6b303ce0f40..a4dac9dd624 100644
--- a/pkgs/applications/networking/cluster/lens/default.nix
+++ b/pkgs/applications/networking/cluster/lens/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "lens";
-  version = "4.1.4";
+  version = "4.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/lensapp/lens/releases/download/v${version}/Lens-${version}.x86_64.AppImage";
-    sha256 = "0g7k3sld6m31qi0zc9z5gydi60waw7ykwz48qnyg77xz1cpm6z5x";
+    sha256 = "0g60d1h2dn41qdzdnqavwknqynjqil7s8kcqy01h021r81rdpn2q";
     name="${pname}.AppImage";
   };
 
diff --git a/pkgs/applications/terminal-emulators/alacritty/default.nix b/pkgs/applications/terminal-emulators/alacritty/default.nix
index a7dcd0959d3..20d24a904e7 100644
--- a/pkgs/applications/terminal-emulators/alacritty/default.nix
+++ b/pkgs/applications/terminal-emulators/alacritty/default.nix
@@ -131,5 +131,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ Br1ght0ne mic92 cole-h ma27 ];
     platforms = platforms.unix;
+    changelog = "https://github.com/alacritty/alacritty/blob/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/applications/terminal-emulators/xterm/default.nix b/pkgs/applications/terminal-emulators/xterm/default.nix
index d5b0a9b3bbd..a5db5065707 100644
--- a/pkgs/applications/terminal-emulators/xterm/default.nix
+++ b/pkgs/applications/terminal-emulators/xterm/default.nix
@@ -115,5 +115,6 @@ stdenv.mkDerivation rec {
     license = with lib.licenses; [ mit ];
     maintainers = with lib.maintainers; [ nequissimus vrthra ];
     platforms = with lib.platforms; linux ++ darwin;
+    changelog = "https://invisible-island.net/xterm/xterm.log.html";
   };
 }
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index 04c232a3e89..bab0439bf8b 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -32,5 +32,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ mschneider ];
+    changelog = "https://github.com/leftwm/leftwm/blob/${version}/CHANGELOG";
   };
 }
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 79a290a6c1c..083998049c1 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -70,5 +70,6 @@ stdenv.mkDerivation {
     license = lib.licenses.mit ;
     maintainers = [lib.maintainers.raskin];
     platforms = lib.platforms.unix;
+    changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${s.version}/CHANGELOG";
   };
 }
diff --git a/pkgs/development/compilers/llvm/12/libc++/default.nix b/pkgs/development/compilers/llvm/12/libc++/default.nix
index 8f2672cc0d9..22502cc90c1 100644
--- a/pkgs/development/compilers/llvm/12/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/12/libc++/default.nix
@@ -15,14 +15,7 @@ stdenv.mkDerivation {
     mv llvm-* llvm
   '';
 
-  patches = [
-    (fetchpatch {
-      # Backported from LLVM 12, avoids clashes with commonly used "block.h" header.
-      url = "https://github.com/llvm/llvm-project/commit/19bc9ea480b60b607a3e303f20c7a3a2ea553369.patch";
-      sha256 = "sha256-aWa66ogmPkG0xHzSfcpD0qZyZQcNKwLV44js4eiun78=";
-      stripLen = 1;
-    })
-  ] ++ lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
+  patches = lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
 
   preConfigure = lib.optionalString stdenv.hostPlatform.isMusl ''
     patchShebangs utils/cat_files.py
diff --git a/pkgs/development/compilers/llvm/12/libc++abi.nix b/pkgs/development/compilers/llvm/12/libc++abi.nix
index 24ef8168fcd..1466ac2b230 100644
--- a/pkgs/development/compilers/llvm/12/libc++abi.nix
+++ b/pkgs/development/compilers/llvm/12/libc++abi.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, cmake, fetch, libcxx, libunwind, llvm, version
+{ lib, stdenv, cmake, python3, fetch, libcxx, libunwind, llvm, version
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
 
   src = fetch "libcxxabi" "1vdc6zld5rlbrbpxf0fxs0m6k1cabpi82ksiwgj1pmhx8l140n0q";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python3 ];
   buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
 
   cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
@@ -21,8 +21,6 @@ stdenv.mkDerivation {
     "-DLIBCXXABI_ENABLE_SHARED=OFF"
   ];
 
-  patches = [ ./libcxxabi-no-threads.patch ];
-
   postUnpack = ''
     unpackFile ${libcxx.src}
     mv libcxx-* libcxx
diff --git a/pkgs/development/compilers/llvm/12/libcxxabi-no-threads.patch b/pkgs/development/compilers/llvm/12/libcxxabi-no-threads.patch
deleted file mode 100644
index 787f3e16500..00000000000
--- a/pkgs/development/compilers/llvm/12/libcxxabi-no-threads.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4138acf..41b4763 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -362,6 +362,7 @@ if (NOT LIBCXXABI_ENABLE_THREADS)
-                         " is also set to ON.")
-   endif()
-   add_definitions(-D_LIBCXXABI_HAS_NO_THREADS)
-+  add_definitions(-D_LIBCPP_HAS_NO_THREADS)
- endif()
- 
- if (LIBCXXABI_HAS_EXTERNAL_THREAD_API)
diff --git a/pkgs/development/compilers/llvm/12/libunwind.nix b/pkgs/development/compilers/llvm/12/libunwind.nix
index eba07ac76be..cb57466df26 100644
--- a/pkgs/development/compilers/llvm/12/libunwind.nix
+++ b/pkgs/development/compilers/llvm/12/libunwind.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, version, fetch, cmake, fetchpatch
+{ lib, stdenv, version, fetch, libcxx, llvm, cmake
 , enableShared ? !stdenv.hostPlatform.isStatic
 }:
 
@@ -8,6 +8,13 @@ stdenv.mkDerivation rec {
 
   src = fetch pname "18n3k2kf6pyvzspnz1i22czbgi14kmch76fxml8kvhky7mw7v1yz";
 
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    mv libcxx-* libcxx
+    unpackFile ${llvm.src}
+    mv llvm-* llvm
+  '';
+
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = lib.optional (!enableShared) "-DLIBUNWIND_ENABLE_SHARED=OFF";
diff --git a/pkgs/development/compilers/llvm/12/openmp.nix b/pkgs/development/compilers/llvm/12/openmp.nix
index 3cb5a09de8f..891ca83247e 100644
--- a/pkgs/development/compilers/llvm/12/openmp.nix
+++ b/pkgs/development/compilers/llvm/12/openmp.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetch
-, fetchpatch
 , cmake
 , llvm
 , perl
@@ -14,15 +13,6 @@ stdenv.mkDerivation rec {
 
   src = fetch pname "0kw1g7ndvwi0g7lx5d55mp81h9vffxz820l9r2wjdvvfs3dsyq05";
 
-  patches = [
-    # Fix compilation on aarch64-darwin, remove after the next release.
-    (fetchpatch {
-      url = "https://github.com/llvm/llvm-project/commit/7b5254223acbf2ef9cd278070c5a84ab278d7e5f.patch";
-      sha256 = "sha256-A+9/IVIoazu68FK5H5CiXcOEYe1Hpp4xTx2mIw7m8Es=";
-      stripLen = 1;
-    })
-  ];
-
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ llvm ];
 
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 28138f103b9..fa100f34607 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "20.4.1";
+  version = "21.1.1";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "0qb0wpinfv8lg1pq1pxkl6v0kd8ax86m8zxzm6zjx91alsch1mi6";
+    sha256 = "0cdyrfyn05fadva8k02kp4nk14k274xfmhzwc0v7jijm1dw8v8rf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/intel-media-driver/default.nix b/pkgs/development/libraries/intel-media-driver/default.nix
index e9d389bfc1f..c60b00552b5 100644
--- a/pkgs/development/libraries/intel-media-driver/default.nix
+++ b/pkgs/development/libraries/intel-media-driver/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-driver";
-  version = "21.1.2";
+  version = "21.1.3";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "media-driver";
     rev    = "intel-media-${version}";
-    sha256 = "17g9xilcrpmkn6higgpvd9bly1h61xxyp1kx9zwl6rgzs2pryby2";
+    sha256 = "1y6y6dia2y3b798f668q26pzwb1xai5d5jpmllpcxs9qikhkkx8p";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/ocaml-modules/mirage-clock/default.nix b/pkgs/development/ocaml-modules/mirage-clock/default.nix
index d0d8661dd7d..de8cfd311e5 100644
--- a/pkgs/development/ocaml-modules/mirage-clock/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-clock/default.nix
@@ -6,6 +6,8 @@ buildDunePackage rec {
 
   useDune2 = true;
 
+  minimumOCamlVersion = "4.06";
+
   src = fetchurl {
     url = "https://github.com/mirage/mirage-clock/releases/download/v${version}/mirage-clock-v${version}.tbz";
     sha256 = "0cqa07aqkamw0dvis1fl46brvk81zvb92iy5076ik62gv9n5a0mn";
diff --git a/pkgs/development/ocaml-modules/mirage-clock/freestanding.nix b/pkgs/development/ocaml-modules/mirage-clock/freestanding.nix
new file mode 100644
index 00000000000..ef278f1cd25
--- /dev/null
+++ b/pkgs/development/ocaml-modules/mirage-clock/freestanding.nix
@@ -0,0 +1,23 @@
+{ lib
+, buildDunePackage
+, mirage-clock
+}:
+
+buildDunePackage {
+  pname = "mirage-clock-freestanding";
+
+  inherit (mirage-clock)
+    version
+    src
+    useDune2
+    minimumOCamlVersion
+    ;
+
+  propagatedBuildInputs = [
+    mirage-clock
+  ];
+
+  meta = mirage-clock.meta // {
+    description = "Paravirtual implementation of the MirageOS Clock interface";
+  };
+}
diff --git a/pkgs/development/python-modules/accuweather/default.nix b/pkgs/development/python-modules/accuweather/default.nix
index da2feef18c8..01a299c89fd 100644
--- a/pkgs/development/python-modules/accuweather/default.nix
+++ b/pkgs/development/python-modules/accuweather/default.nix
@@ -1,47 +1,48 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, pytestrunner
 , aiohttp
 , aioresponses
-, pytestCheckHook
-, pytestcov
+, buildPythonPackage
+, fetchFromGitHub
 , pytest-asyncio
+, pytest-error-for-skips
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "accuweather";
-  version = "0.1.0";
-
+  version = "0.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "0jp2x7fgg1shgr1fx296rni00lmjjmjgg141giljzizgd04dwgy3";
+    sha256 = "sha256-fjOwa13hxY8/gCM6TCAFWVmEY1oZyqKyc6o3OSsxHpY=";
   };
 
   postPatch = ''
-    # we don't have pytest-error-for-skips packaged
-    substituteInPlace pytest.ini --replace "--error-for-skips" ""
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+    substituteInPlace pytest.ini \
+      --replace "--cov --cov-report term-missing" ""
   '';
 
-  nativeBuildInputs = [ pytestrunner ];
-
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   checkInputs = [
     aioresponses
-    pytestCheckHook
-    pytestcov
     pytest-asyncio
+    pytest-error-for-skips
+    pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "accuweather" ];
+
   meta = with lib; {
-    description =
-      "Python wrapper for getting weather data from AccuWeather servers.";
+    description = "Python wrapper for getting weather data from AccuWeather servers";
     homepage = "https://github.com/bieniu/accuweather";
     license = licenses.asl20;
     maintainers = with maintainers; [ jamiemagee ];
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index 4371c8c8eab..79bcaa91cbe 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.22.0";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "bellows";
     rev = version;
-    sha256 = "0il2cwnrcvgxx9jkj1xr2caqyza3kqjys3fpmcx7avy04xbf5dbv";
+    sha256 = "sha256-c9rKRmGMlYrzVQmUuM9P3c/Jm4QVM2aBRSZ0OkyrPTY=";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index db26b089e41..8fba64d0a8f 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
-  version = "0.17.0";
+  version = "0.17.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "2Fake";
     repo = "devolo_home_control_api";
     rev = "v${version}";
-    sha256 = "sha256-g82YmlxlBdyNn7KPU+k+J3/P7ABWMMdLXUpXWnCkdpM=";
+    sha256 = "sha256-5PaIZPwikDmT4kmh0Qfg65gBAUYralmO6a22GtzoB7A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynanoleaf/default.nix b/pkgs/development/python-modules/pynanoleaf/default.nix
index 44e884dab80..9bdf4885dd4 100644
--- a/pkgs/development/python-modules/pynanoleaf/default.nix
+++ b/pkgs/development/python-modules/pynanoleaf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pynanoleaf";
-  version = "0.0.7";
+  version = "0.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d212f35eac9d94248858ec63ca63545ea7fce1cdda11ae5878f4d4d74f055d0";
+    sha256 = "sha256-BiLJgsey7kIIeN5+CKKnrTB2bSKMNEbeMLwGi2LRLcg=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
new file mode 100644
index 00000000000..f47e6af16c0
--- /dev/null
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, typing-extensions
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pytube";
+  version = "10.6.1";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "pytube";
+    repo = "pytube";
+    rev = "v${version}";
+    sha256 = "sha256-b0tN4m3/+K243zQ7L4wW4crk9r69Tj64is6C4I5oFZU=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pytube" ];
+
+  meta = with lib; {
+    description = "Python 3 library for downloading YouTube Videos";
+    homepage = "https://github.com/nficano/pytube";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/rapidfuzz/default.nix b/pkgs/development/python-modules/rapidfuzz/default.nix
new file mode 100644
index 00000000000..225f743904d
--- /dev/null
+++ b/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+, hypothesis
+, pandas
+}:
+
+buildPythonPackage rec {
+  pname = "rapidfuzz";
+  version = "1.3.3";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "maxbachmann";
+    repo = "RapidFuzz";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "1k28mycf945zp5kkdm4anjqac8ysmp0pabyjg96xww8hnlwmqcnf";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+    hypothesis
+    pandas
+  ];
+
+  disabledTests = [
+    "test_levenshtein_block" # hypothesis data generation too slow
+  ];
+
+  pythonImportsCheck = [
+    "rapidfuzz.fuzz"
+    "rapidfuzz.string_metric"
+    "rapidfuzz.process"
+    "rapidfuzz.utils"
+  ];
+
+  meta = with lib; {
+    description = "Rapid fuzzy string matching";
+    homepage = "https://github.com/maxbachmann/rapidfuzz";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/spotipy/default.nix b/pkgs/development/python-modules/spotipy/default.nix
index 63ec4abcac4..6f29db2581b 100644
--- a/pkgs/development/python-modules/spotipy/default.nix
+++ b/pkgs/development/python-modules/spotipy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "spotipy";
-  version = "2.16.1";
+  version = "2.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f50xczv8kgly6wz6zrvqzwdj6nvhdlgx8wnrhmbipjrb6qacr25";
+    sha256 = "sha256-KcYMi5naHEufDXIhabwx5iS4wH1xhrjq3ZwC6NLULL8=";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index bc4599f08fb..34a4c90d190 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -1,25 +1,34 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , aiohttp
-, zigpy
 , asynctest
+, buildPythonPackage
+, fetchFromGitHub
 , pytestCheckHook
+, zigpy
 }:
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.54";
+  version = "0.0.55";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = version;
-    sha256 = "1xc4rky9x2n15rsb18vyg4lb2897k14gkz03khgf8gp37bg2dk5h";
+    sha256 = "sha256-mc7mOaxn2FCvwYv9yE0mIOSQ1F+xJJ+1LynOdEV07I8=";
   };
 
-  propagatedBuildInputs = [ aiohttp zigpy ];
-  checkInputs = [ pytestCheckHook asynctest ];
+  propagatedBuildInputs = [
+    aiohttp
+    zigpy
+  ];
+
+  checkInputs = [
+    asynctest
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "zhaquirks" ];
 
   meta = with lib; {
     description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index d9c7854bf98..0b7c027c0fe 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
     rev = version;
-    sha256 = "1p9mdsfc200iyszppcflazzfwqg4v8nqqwqsx114nip5km7a5s37";
+    sha256 = "sha256-d/yAk8owMu+J1BzlwR5mzF9HkXiE6Kc81AznvsAboy8=";
   };
 
   propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index dbc42561db6..f03b9e96759 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "18grqx1fzh539ccar0865shgd2mnfni65rjj787cq5j5p5rn0yc7";
+    sha256 = "sha256-oEf4GnvbQ6LY4NaNFWRmnNz1TK2tMpIVUxskhU38g4w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/rust/cargo-valgrind/default.nix b/pkgs/development/tools/rust/cargo-valgrind/default.nix
index 177b12aea0c..3cfea727435 100644
--- a/pkgs/development/tools/rust/cargo-valgrind/default.nix
+++ b/pkgs/development/tools/rust/cargo-valgrind/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-valgrind";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "jfrimmel";
     repo = "cargo-valgrind";
     rev = version;
-    sha256 = "0knsq6n3wrsd3ir2r1wpxm6ks7rgkw33bk008s8fq33m3bq2yvm7";
+    sha256 = "sha256-PltYUU2O/D1PrU+K8JN4+aUVLzHCeNyIsXMU6HLodXE=";
   };
 
-  cargoSha256 = "09mhdi12wgg7s4wdnn0vfxhj7hwj5hjrq32mjgjr2hwm6yzhkzr2";
+  cargoSha256 = "sha256-zR826fFSCSsJxGKSc7ugrLwMDvsjRBjs4eotKTfhGqI=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/pkgs/development/web/nodejs/v15.nix b/pkgs/development/web/nodejs/v15.nix
index 194bb25cb02..953b534e850 100644
--- a/pkgs/development/web/nodejs/v15.nix
+++ b/pkgs/development/web/nodejs/v15.nix
@@ -8,6 +8,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "15.12.0";
-    sha256 = "0c8smzc7gbr7yg4y4z68976wk5741bspggag9h9laykq4i8bxfsy";
+    version = "15.13.0";
+    sha256 = "1wd859bxd8j97xl98k61g0vwcmy83wvjj04fgway38aapk9abp4h";
   }
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 961842e8701..35143028a27 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -128,5 +128,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pyrolagus peterhoeg ];
     platforms = with platforms; linux;
+    changelog = "https://github.com/supertuxkart/stk-code/blob/${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 6529ac4bfbb..84315e7e50b 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -24,10 +24,11 @@ let
     preInstall ? "",
     postInstall ? "",
     path ? lib.getName pluginName,
-    dependencies ? [],
     ...
   }:
-    addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
+    if lib.hasAttr "dependencies" a then
+      throw "dependencies attribute is obselete. see NixOS/nixpkgs#118034" # added 2021-04-01
+    else addRtp "${rtpPath}/${path}" rtpFilePath a (stdenv.mkDerivation (a // {
       pname = namePrefix + pluginName;
 
       inherit pluginName unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
@@ -44,8 +45,6 @@ let
 
         runHook postInstall
       '';
-
-      dependencies = [ pkgs.bash ] ++ dependencies;
     }));
 
 in rec {
@@ -73,7 +72,6 @@ in rec {
       rev = "26eb5ffce0b559d682b9f98c8d4b6c370ecb639b";
       sha256 = "1glwa89bv2r92qz579a49prk3jf612cpd5hw46j4wfb35xhnj3ab";
     };
-    dependencies = [ resurrect ];
     meta = {
       homepage = "https://github.com/tmux-plugins/tmux-continuum";
       description = "continous saving of tmux environment";
@@ -156,7 +154,15 @@ in rec {
       sha256 = "0gp37m3d0irrsih96qv2yalvr1wmf1n64589d4qzyzq16lzyjcr0";
       fetchSubmodules = true;
     };
-    dependencies = [ pkgs.gawk ];
+    nativeBuildInputs = [ pkgs.makeWrapper ];
+    postInstall = ''
+      for f in config.sh tmux-fingers.sh setup-fingers-mode-bindings.sh; do
+      wrapProgram $target/scripts/$f \
+        --prefix PATH : ${with pkgs; lib.makeBinPath (
+          [ gawk ] ++ lib.optionals stdenv.isDarwin [ reattach-to-user-namespace ]
+        )}
+      done
+    '';
   };
 
   fpp = mkTmuxPlugin {
@@ -171,7 +177,6 @@ in rec {
     postInstall = ''
       sed -i -e 's|fpp |${pkgs.fpp}/bin/fpp |g' $target/fpp.tmux
     '';
-    dependencies = [ pkgs.fpp ];
   };
 
   fzf-tmux-url = mkTmuxPlugin {
@@ -211,8 +216,6 @@ in rec {
     postInstall = ''
       sed -i -e 's|ruby|${pkgs.ruby}/bin/ruby|g' $target/scripts/tmux-jump.sh
     '';
-    dependencies = [ pkgs.ruby ];
-
     meta = with lib; {
       homepage = "https://github.com/schasse/tmux-jump";
       description = "Vimium/Easymotion like navigation for tmux";
@@ -477,7 +480,7 @@ in rec {
       find $target -type f -print0 | xargs -0 sed -i -e 's|sed |${pkgs.gnused}/bin/sed |g'
       find $target -type f -print0 | xargs -0 sed -i -e 's|tput |${pkgs.ncurses}/bin/tput |g'
     '';
-     meta = {
+    meta = {
       homepage = "https://github.com/sainnhe/tmux-fzf";
       description = "Use fzf to manage your tmux work environment! ";
       longDescription =
@@ -510,7 +513,6 @@ in rec {
     postInstall = ''
       sed -i -e '14,20{s|urlview|${pkgs.urlview}/bin/urlview|g}' $target/urlview.tmux
     '';
-    dependencies = [ pkgs.urlview ];
   };
 
   vim-tmux-focus-events = mkTmuxPlugin {
diff --git a/pkgs/os-specific/linux/dstat/default.nix b/pkgs/os-specific/linux/dstat/default.nix
index 76abeff42db..9f0afd6c2bd 100644
--- a/pkgs/os-specific/linux/dstat/default.nix
+++ b/pkgs/os-specific/linux/dstat/default.nix
@@ -37,5 +37,6 @@ python3Packages.buildPythonApplication rec {
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ];
+    changelog = "https://github.com/dstat-real/dstat/blob/v${version}/ChangeLog";
   };
 }
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 09ea7dae554..5b5c63ee13d 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -176,6 +176,7 @@ in with py.pkgs; buildPythonApplication rec {
   # services. Before adding new components to this list make sure we have all
   # its dependencies packaged and listed in ./component-packages.nix.
   componentTests = [
+    "accuweather"
     "alert"
     "api"
     "auth"
@@ -200,6 +201,7 @@ in with py.pkgs; buildPythonApplication rec {
     "device_automation"
     "device_sun_light_trigger"
     "device_tracker"
+    "devolo_home_control"
     "dhcp"
     "discovery"
     "emulated_hue"
@@ -226,6 +228,7 @@ in with py.pkgs; buildPythonApplication rec {
     "history_stats"
     "homekit_controller"
     "homeassistant"
+    "homematic"
     "html5"
     "http"
     "hue"
@@ -301,6 +304,7 @@ in with py.pkgs; buildPythonApplication rec {
     "smtp"
     "solaredge"
     "sonos"
+    "spotify"
     "sql"
     "ssdp"
     "stream"
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 9d69b0d73c2..8d4692dd0eb 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -100,10 +100,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://exim.org/";
+    homepage = "https://exim.org/";
     description = "A mail transfer agent (MTA)";
     license = with licenses; [ gpl2Plus bsd3 ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ tv ajs124 das_j ];
+    changelog = "https://github.com/Exim/exim/blob/exim-${version}/doc/doc-txt/ChangeLog";
   };
 }
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 3b570c89ae4..70022b5c2a8 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-8mS4Yvzyka85ZkV2LT68h4EGmumQtYpOxCIDRqa3fk0=";
+    sha256 = "sha256-RZz8hmcLOJRz0HpPXc3121B1UcbtDgCFv8Zdv29E+XQ=";
   };
 
-  cargoSha256 = "sha256-jbziXOrmHkZPp3YkPJypNj7l62Q6nKyamBBYjlfYiVE=";
+  cargoSha256 = "sha256-V6Qdg8xSm2/6BbSEOH5mH92Gjx+xy0J2CZ9FQxmhI88=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withStableFeatures && stdenv.isLinux) [ python3 ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 78cef0df26f..9df88affb9f 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     ];
 
     maintainers = with lib.maintainers; [ lheckemann alva ];
+    changelog = "https://www.oilshell.org/release/${version}/changelog.html";
   };
 
   passthru = {
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 514b16eca81..c55bde79821 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.26.0";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-vYezpO5Oe5KXmCx6D70GMKamhK8/EiaV2BPb0tQLDzg=";
+    sha256 = "sha256-bKciwcYGETwVdUS4qdByHLWKt16PpBtTvW/dvuclIpA=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
new file mode 100644
index 00000000000..520af8404ae
--- /dev/null
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, python3
+, fetchFromGitHub
+, ffmpeg
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "spotdl";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = "spotDL";
+    repo = "spotify-downloader";
+    rev = "v${version}";
+    sha256 = "1nxf911hi578jw24hlcvyy33z1pkvr41pfrywbs3157rj1fj2vfi";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    spotipy
+    pytube
+    rich
+    rapidfuzz
+    mutagen
+    ytmusicapi
+    tqdm
+    beautifulsoup4
+    requests
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+    pytest-mock
+    pytest-vcr
+    pyfakefs
+  ];
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ ffmpeg ])
+  ];
+
+  meta = with lib; {
+    description = "Download your Spotify playlists and songs along with album art and metadata";
+    homepage = "https://github.com/spotDL/spotify-downloader";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 035b6f65517..3cca3ab6dc1 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -71,5 +71,6 @@ buildGoModule rec {
     license = licenses.mit;
     maintainers = with maintainers; [ Br1ght0ne ma27 zowoq ];
     platforms = platforms.unix;
+    changelog = "https://github.com/junegunn/fzf/blob/${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 7ec90702906..8732ee66ef6 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.161.1";
+  version = "0.162.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hCb9w8jyHJ7wGszseyweJDAVjnuxErXdwIRUGfXLRfI=";
+    sha256 = "sha256-nhl6GATzFsfEQjKVxz65REn9QTvOH49omU00ZCfO6CY=";
   };
 
-  vendorSha256 = "sha256-rQF9B5syexMzHji7zXSj7YVIJnOwMR0hzTrRzKCMGYw=";
+  vendorSha256 = "sha256-zq/RIOK/Hs1GJ2yLE7pe0UoDuR6LGUrPQAuQzrTvuKs=";
 
   buildFlagsArray = [
     "-ldflags="
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index 3fe8e3f3870..39fd7d3e5f0 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-a0OyIONKtVWh9g/FZ6H0JSRuA1U48HSOX53G9z/h7t8=";
+    sha256 = "sha256-87x+MRQ1SjtN+wNCy42VJwlRwgQzHjNEK3J1bkvo7eQ=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 6c1f454ca8c..74d4b61064b 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -24,9 +24,9 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools
+    gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi
     gss libmysqlclient python3
-  ];
+  ] ++ lib.optionals stdenv.isLinux [ nettools ];
 
   patches = [
     ./fix-build-mb-len-max.patch
diff --git a/pkgs/tools/security/chkrootkit/default.nix b/pkgs/tools/security/chkrootkit/default.nix
index f9f0dd96a11..338df2c2d1c 100644
--- a/pkgs/tools/security/chkrootkit/default.nix
+++ b/pkgs/tools/security/chkrootkit/default.nix
@@ -1,24 +1,30 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, makeWrapper, binutils-unwrapped }:
 
 stdenv.mkDerivation rec {
-  name = "chkrootkit-0.54";
+  pname = "chkrootkit";
+  version = "0.54";
 
   src = fetchurl {
-    url = "ftp://ftp.pangeia.com.br/pub/seg/pac/${name}.tar.gz";
-    sha256 = "sha256-FUySaSH1PbYHKKfLyXyohli2lMFLfSiO/jg+CEmRVgc=";
+    url = "ftp://ftp.pangeia.com.br/pub/seg/pac/${pname}-${version}.tar.gz";
+    sha256 = "01snj54hhgiqzs72hzabq6abcn46m1yckjx7503vcggm45lr4k0m";
   };
 
   # TODO: a lazy work-around for linux build failure ...
   makeFlags = [ "STATIC=" ];
 
-   postPatch = ''
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
     substituteInPlace chkrootkit \
       --replace " ./" " $out/bin/"
-   '';
+  '';
 
   installPhase = ''
     mkdir -p $out/sbin
     cp check_wtmpx chkdirs chklastlog chkproc chkrootkit chkutmp chkwtmp ifpromisc strings-static $out/sbin
+
+    wrapProgram $out/sbin/chkrootkit \
+      --prefix PATH : "${lib.makeBinPath [ binutils-unwrapped ]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/knockpy/default.nix b/pkgs/tools/security/knockpy/default.nix
new file mode 100644
index 00000000000..89eda45322c
--- /dev/null
+++ b/pkgs/tools/security/knockpy/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "knockpy";
+  version = "5.0.0";
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "guelfoweb";
+    repo = "knock";
+    rev = version;
+    sha256 = "1h7sibdxx8y53xm1wydyng418n4j6baiys257msq03cs04jlm7h9";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    beautifulsoup4
+    colorama
+    requests
+  ];
+
+  postPatch = ''
+    # https://github.com/guelfoweb/knock/pull/95
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4"
+  '';
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "knockpy" ];
+
+  meta = with lib; {
+    description = "Tool to scan subdomains";
+    homepage = "https://github.com/guelfoweb/knock";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/system/htop/default.nix b/pkgs/tools/system/htop/default.nix
index 5f3cc2f6fcf..25a397bc987 100644
--- a/pkgs/tools/system/htop/default.nix
+++ b/pkgs/tools/system/htop/default.nix
@@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
     description = "An interactive process viewer for Linux";
     homepage = "https://htop.dev";
     license = licenses.gpl2Only;
-    platforms = with platforms; linux ++ freebsd ++ openbsd ++ darwin;
+    platforms = platforms.all;
     maintainers = with maintainers; [ rob relrod ];
+    changelog = "https://github.com/htop-dev/${pname}/blob/${version}/ChangeLog";
   };
 }
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
index ca3fd72e878..16699e15ba6 100644
--- a/pkgs/tools/video/rav1e/default.nix
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, rustPlatform, fetchurl, fetchFromGitHub, lib, nasm, cargo-c }:
+{ stdenv, rustPlatform, fetchurl, fetchFromGitHub, lib, nasm, cargo-c, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = stdenv.mkDerivation rec {
     name = "${pname}-${version}-source";
@@ -11,12 +11,12 @@ rustPlatform.buildRustPackage rec {
       owner = "xiph";
       repo = "rav1e";
       rev = "v${version}";
-      sha256 = "09w4476x6bdmh9pv4lchrzvfvbjvxxraa9f4dlbwgli89lcg9fcf";
+      sha256 = "0jnq5a3fv6fzzbmprzfxidlcwwgblkwwm0135cfw741wjv7f7h6r";
     };
 
     cargoLock = fetchurl {
       url = "https://github.com/xiph/rav1e/releases/download/v${version}/Cargo.lock";
-      sha256 = "0rkyi010z6qmwdpvzlzyrrhs8na929g11lszhbqx5y0gh3y5nyik";
+      sha256 = "14fi9wam9rs5206rvcd2f3sjpzq41pnfml14w74wn2ws3gpi46zn";
     };
 
     installPhase = ''
@@ -26,8 +26,9 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "1iza2cws28hd4a3q90mc90l8ql4bsgapdznfr6bl65cjam43i5sg";
+  cargoSha256 = "1j92prjyr86wyx58h10xq9c9z28ky86h291x65w7qrxpj658aiz1";
   nativeBuildInputs = [ nasm cargo-c ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   postBuild = ''
     cargo cbuild --release --frozen --prefix=${placeholder "out"}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fd5e24bd84b..007b9c8eab0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5766,6 +5766,8 @@ in
 
   knockknock = callPackage ../tools/security/knockknock { };
 
+  knockpy = callPackage ../tools/security/knockpy { };
+
   kore = callPackage ../development/web/kore { };
 
   krakenx = callPackage ../tools/system/krakenx { };
@@ -8324,6 +8326,8 @@ in
 
   splot = haskell.lib.justStaticExecutables haskellPackages.splot;
 
+  spotdl = callPackage ../tools/audio/spotdl { };
+
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
   squashfs-tools-ng = callPackage ../tools/filesystems/squashfs-tools-ng { };
@@ -25716,6 +25720,8 @@ in
 
   sunvox = callPackage ../applications/audio/sunvox { };
 
+  svkbd = callPackage ../applications/accessibility/svkbd { };
+
   swaglyrics = callPackage ../tools/misc/swaglyrics { };
 
   swh_lv2 = callPackage ../applications/audio/swh-lv2 { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 61728d14095..ee11ffdac21 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -681,6 +681,8 @@ let
 
     mirage-clock = callPackage ../development/ocaml-modules/mirage-clock { };
 
+    mirage-clock-freestanding = callPackage ../development/ocaml-modules/mirage-clock/freestanding.nix { };
+
     mirage-clock-unix = callPackage ../development/ocaml-modules/mirage-clock/unix.nix { };
 
     mirage-console = callPackage ../development/ocaml-modules/mirage-console { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 234c614234e..0d26607ca93 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6917,6 +6917,8 @@ in {
 
   pytricia = callPackage ../development/python-modules/pytricia { };
 
+  pytube = callPackage ../development/python-modules/pytube { };
+
   pytun = callPackage ../development/python-modules/pytun { };
 
   pytz = callPackage ../development/python-modules/pytz { };
@@ -7126,6 +7128,8 @@ in {
 
   random2 = callPackage ../development/python-modules/random2 { };
 
+  rapidfuzz = callPackage ../development/python-modules/rapidfuzz { };
+
   rarfile = callPackage ../development/python-modules/rarfile {
     inherit (pkgs) libarchive;
   };