summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile5
-rw-r--r--maintainers/maintainer-list.nix18
-rw-r--r--nixos/doc/manual/from_md/administration/boot-problems.section.xml14
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml12
-rwxr-xr-xnixos/doc/manual/md-to-db.sh22
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md10
-rw-r--r--pkgs/applications/audio/adlplug/default.nix90
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix6
-rw-r--r--pkgs/applications/audio/munt/default.nix53
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix15
-rw-r--r--pkgs/applications/audio/uade123/default.nix75
-rw-r--r--pkgs/applications/blockchains/faraday/default.nix8
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix6
-rw-r--r--pkgs/applications/blockchains/lightning-loop/default.nix27
-rw-r--r--pkgs/applications/blockchains/lightning-pool/default.nix27
-rw-r--r--pkgs/applications/blockchains/lnd.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix10
-rw-r--r--pkgs/applications/kde/kmail.nix115
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix21
-rw-r--r--pkgs/applications/misc/hubstaff/revision.json5
-rwxr-xr-xpkgs/applications/misc/hubstaff/update.sh18
-rw-r--r--pkgs/applications/misc/nwg-menu/default.nix48
-rw-r--r--pkgs/applications/misc/printrun/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json6
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix16
-rwxr-xr-xpkgs/applications/networking/instant-messengers/bluejeans/update.sh12
-rw-r--r--pkgs/applications/networking/mailreaders/mailspring/default.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/science/math/gurobi/default.nix27
-rw-r--r--pkgs/applications/video/mplayer/default.nix1
-rw-r--r--pkgs/common-updater/unstable-updater.nix8
-rw-r--r--pkgs/desktops/xfce/applications/catfish/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/mousepad/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix4
-rw-r--r--pkgs/desktops/xfce/applications/parole/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfburn/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfdashboard/default.nix2
-rw-r--r--pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/xfce/art/xfwm4-themes/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/exo/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/garcon/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfconf/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfwm4/default.nix2
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix2
-rw-r--r--pkgs/development/compilers/gleam/default.nix6
-rw-r--r--pkgs/development/compilers/kotlin/default.nix3
-rw-r--r--pkgs/development/coq-modules/VST/default.nix4
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix3
-rw-r--r--pkgs/development/libraries/drogon/default.nix50
-rw-r--r--pkgs/development/libraries/drogon/no_cmake_test.patch42
-rw-r--r--pkgs/development/libraries/exiv2/default.nix26
-rw-r--r--pkgs/development/libraries/hwloc/default.nix14
-rw-r--r--pkgs/development/libraries/libbencodetools/default.nix30
-rw-r--r--pkgs/development/libraries/libmbim/default.nix5
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix14
-rw-r--r--pkgs/development/libraries/science/math/libtorch/bin.nix2
-rw-r--r--pkgs/development/libraries/science/math/libtorch/binary-hashes.nix6
-rw-r--r--pkgs/development/libraries/science/math/tensorflow-lite/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/bz2/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/tls/async.nix21
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix47
-rw-r--r--pkgs/development/ocaml-modules/tls/mirage.nix20
-rw-r--r--pkgs/development/python-modules/calmjs-parse/default.nix49
-rw-r--r--pkgs/development/python-modules/doorbirdpy/default.nix32
-rw-r--r--pkgs/development/python-modules/eebrightbox/default.nix58
-rw-r--r--pkgs/development/python-modules/elgato/default.nix56
-rw-r--r--pkgs/development/python-modules/gurobipy/linux.nix47
-rw-r--r--pkgs/development/python-modules/gurobipy/no-clever-setup.patch24
-rw-r--r--pkgs/development/python-modules/pydaikin/default.nix6
-rw-r--r--pkgs/development/python-modules/pytorch/bin.nix2
-rw-r--r--pkgs/development/python-modules/pytorch/binary-hashes.nix6
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix4
-rw-r--r--pkgs/development/python-modules/pyyaml-env-tag/default.nix36
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix61
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/gosec/default.nix6
-rw-r--r--pkgs/development/tools/ktlint/default.nix8
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix6
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/games/blackshades/default.nix41
-rw-r--r--pkgs/misc/emulators/commanderx16/emulator.nix (renamed from pkgs/misc/emulators/commander-x16/emulator.nix)0
-rw-r--r--pkgs/misc/emulators/commanderx16/rom.nix (renamed from pkgs/misc/emulators/commander-x16/rom.nix)0
-rw-r--r--pkgs/misc/emulators/commanderx16/run.nix39
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix5
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix6
-rw-r--r--pkgs/servers/home-assistant/default.nix16
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/jellyfin/web.nix4
-rw-r--r--pkgs/shells/hilbish/default.nix4
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix31
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch200
-rw-r--r--pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch200
-rw-r--r--pkgs/tools/audio/opl3bankeditor/common.nix69
-rw-r--r--pkgs/tools/audio/opl3bankeditor/default.nix30
-rw-r--r--pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix21
-rw-r--r--pkgs/tools/graphics/eplot/default.nix11
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix4
-rw-r--r--pkgs/tools/misc/discocss/default.nix7
-rw-r--r--pkgs/tools/misc/fselect/default.nix6
-rw-r--r--pkgs/tools/misc/ncdu/default.nix2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock16
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix26
-rw-r--r--pkgs/tools/security/rekor/default.nix30
-rw-r--r--pkgs/tools/system/gdu/default.nix10
-rw-r--r--pkgs/tools/text/vgrep/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix39
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix10
163 files changed, 1855 insertions, 568 deletions
diff --git a/doc/Makefile b/doc/Makefile
index d4f1250c4d7..1d3a0e7ccbd 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -3,6 +3,7 @@ MD_TARGETS=$(addsuffix .xml, $(basename $(shell find . -type f -regex '.*\.md$$'
 PANDOC ?= pandoc
 
 pandoc_media_dir = media
+# NOTE: Keep in sync with NixOS manual (/nixos/doc/manual/md-to-db.sh).
 # TODO: Remove raw-attribute when we can get rid of DocBook altogether.
 pandoc_commonmark_enabled_extensions = +attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute
 pandoc_flags = --extract-media=$(pandoc_media_dir) \
@@ -101,10 +102,10 @@ functions/library/generated: doc-support/result
 %.section.xml: %.section.md
 	$(PANDOC) $^ -t docbook \
 		$(pandoc_flags) \
-	| cat  > $@
+		-o $@
 
 %.chapter.xml: %.chapter.md
 	$(PANDOC) $^ -t docbook \
 		--top-level-division=chapter \
 		$(pandoc_flags) \
-	| cat  > $@
+		-o $@
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 9e000409f44..edf5901bf53 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -6515,10 +6515,14 @@
     name = "Matthias C. M. Troffaes";
   };
   McSinyx = {
-    email = "vn.mcsinyx@gmail.com";
+    email = "mcsinyx@disroot.org";
     github = "McSinyx";
     githubId = 13689192;
     name = "Nguyễn Gia Phong";
+    keys = [{
+      longkeyid = "rsa3072/0x27148B2C06A2224B";
+      fingerprint = "E90E 11B8 0493 343B 6132  E394 2714 8B2C 06A2 224B";
+    }];
   };
   mcwitt = {
     email = "mcwitt@gmail.com";
@@ -9864,6 +9868,12 @@
       githubId = 39732259;
       name = "Justus K";
   };
+  SubhrajyotiSen = {
+      email = "subhrajyoti12@gmail.com";
+      github = "SubhrajyotiSen";
+      githubId = 12984845;
+      name = "Subhrajyoti Sen";
+  };
   suhr = {
     email = "suhr@i2pmail.org";
     github = "suhr";
@@ -10666,6 +10676,12 @@
     githubId = 33242106;
     name = "Uri Baghin";
   };
+  urlordjames = {
+    email = "urlordjames@gmail.com";
+    github = "urlordjames";
+    githubId = 32751441;
+    name = "urlordjames";
+  };
   uskudnik = {
     email = "urban.skudnik@gmail.com";
     github = "uskudnik";
diff --git a/nixos/doc/manual/from_md/administration/boot-problems.section.xml b/nixos/doc/manual/from_md/administration/boot-problems.section.xml
index 89871e7aeb6..b484d075818 100644
--- a/nixos/doc/manual/from_md/administration/boot-problems.section.xml
+++ b/nixos/doc/manual/from_md/administration/boot-problems.section.xml
@@ -3,11 +3,11 @@
   <para>
     If NixOS fails to boot, there are a number of kernel command line
     parameters that may help you to identify or fix the issue. You can
-    add these parameters in the GRUB boot menu by pressing
-    <quote>e</quote> to modify the selected boot entry and editing the
-    line starting with <literal>linux</literal>. The following are some
-    useful kernel command line parameters that are recognised by the
-    NixOS boot scripts or by systemd:
+    add these parameters in the GRUB boot menu by pressing “e” to modify
+    the selected boot entry and editing the line starting with
+    <literal>linux</literal>. The following are some useful kernel
+    command line parameters that are recognised by the NixOS boot
+    scripts or by systemd:
   </para>
   <variablelist>
     <varlistentry>
@@ -44,7 +44,7 @@
         <para>
           Like <literal>boot.debug1</literal>, but runs stage1 until
           kernel modules are loaded and device nodes are created. This
-          may help with e.g. making the keyboard work.
+          may help with e.g. making the keyboard work.
         </para>
       </listitem>
     </varlistentry>
@@ -117,7 +117,7 @@
     if you’d chosen <quote>ignore the error and continue</quote>.
   </para>
   <para>
-    If no login prompts or X11 login screens appear (e.g. due to hanging
+    If no login prompts or X11 login screens appear (e.g. due to hanging
     dependencies), you can press Alt+ArrowUp. If you’re lucky, this will
     start rescue mode (described above). (Also note that since most
     units have a 90-second timeout before systemd gives up on them, the
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 2b0bcb4b6e5..0908fb13726 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -1,5 +1,5 @@
-<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="release-21.11">
-  <title>Release 21.11 (<quote>?</quote>, 2021.11/??)</title>
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-21.11">
+  <title>Release 21.11 (“?”, 2021.11/??)</title>
   <para>
     In addition to numerous new and upgraded packages, this release has
     the following highlights:
@@ -12,7 +12,7 @@
       </para>
     </listitem>
   </itemizedlist>
-  <section xml:id="highlights">
+  <section xml:id="sec-release-21.11-highlights">
     <title>Highlights</title>
     <itemizedlist spacing="compact">
       <listitem>
@@ -22,7 +22,7 @@
       </listitem>
     </itemizedlist>
   </section>
-  <section xml:id="new-services">
+  <section xml:id="sec-release-21.11-new-services">
     <title>New Services</title>
     <itemizedlist>
       <listitem>
@@ -50,7 +50,7 @@
       </listitem>
     </itemizedlist>
   </section>
-  <section xml:id="backward-incompatibilities">
+  <section xml:id="sec-release-21.11-incompatibilities">
     <title>Backward Incompatibilities</title>
     <itemizedlist>
       <listitem>
@@ -311,7 +311,7 @@
       </listitem>
     </itemizedlist>
   </section>
-  <section xml:id="other-notable-changes">
+  <section xml:id="sec-release-21.11-notable-changes">
     <title>Other Notable Changes</title>
     <para>
     </para>
diff --git a/nixos/doc/manual/md-to-db.sh b/nixos/doc/manual/md-to-db.sh
index fc4be7da22b..7949b42e8d8 100755
--- a/nixos/doc/manual/md-to-db.sh
+++ b/nixos/doc/manual/md-to-db.sh
@@ -8,25 +8,31 @@
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
 pushd $DIR
 
+# NOTE: Keep in sync with Nixpkgs manual (/doc/Makefile).
+# TODO: Remove raw-attribute when we can get rid of DocBook altogether.
+pandoc_commonmark_enabled_extensions=+attributes+fenced_divs+footnotes+bracketed_spans+definition_lists+pipe_tables+raw_attribute
+pandoc_flags=(
+  # media extraction and diagram-generator.lua not needed
+  "--lua-filter=$DIR/../../../doc/labelless-link-is-xref.lua"
+  -f "commonmark${pandoc_commonmark_enabled_extensions}+smart"
+  -t docbook
+)
+
 OUT="$DIR/from_md"
 mapfile -t MD_FILES < <(find . -type f -regex '.*\.md$')
 
 for mf in ${MD_FILES[*]}; do
   if [ "${mf: -11}" == ".section.md" ]; then
     mkdir -p $(dirname "$OUT/$mf")
-    pandoc "$mf" -t docbook \
-      --extract-media=media \
-      -f markdown+smart \
-    | cat  > "$OUT/${mf%".section.md"}.section.xml"
+    pandoc "$mf" "${pandoc_flags[@]}" \
+      -o "$OUT/${mf%".section.md"}.section.xml"
   fi
 
   if [ "${mf: -11}" == ".chapter.md" ]; then
     mkdir -p $(dirname "$OUT/$mf")
-    pandoc "$mf" -t docbook \
+    pandoc "$mf" "${pandoc_flags[@]}" \
       --top-level-division=chapter \
-      --extract-media=media \
-      -f markdown+smart \
-    | cat  > "$OUT/${mf%".chapter.md"}.chapter.xml"
+      -o "$OUT/${mf%".chapter.md"}.chapter.xml"
   fi
 done
 
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 968fdb0f3be..a603f735829 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -1,14 +1,14 @@
-# Release 21.11 (“?”, 2021.11/??) {#release-21.11}
+# Release 21.11 (“?”, 2021.11/??) {#sec-release-21.11}
 
 In addition to numerous new and upgraded packages, this release has the following highlights:
 
 * Support is planned until the end of April 2022, handing over to 22.05.
 
-## Highlights
+## Highlights {#sec-release-21.11-highlights}
 
 * PHP now defaults to PHP 8.0, updated from 7.4.
 
-## New Services
+## New Services {#sec-release-21.11-new-services}
 
 * [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP
   database updater from MaxMind. Available as
@@ -22,7 +22,7 @@ In addition to numerous new and upgraded packages, this release has the followin
   implementation of the Common Address Redundancy Protocol (CARP). Available as
   [networking.ucarp](options.html#opt-networking.ucarp.enable).
 
-## Backward Incompatibilities
+## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
 * The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
 
@@ -85,4 +85,4 @@ In addition to numerous new and upgraded packages, this release has the followin
   - GitVersionTree
   - NDeskOptions
 
-## Other Notable Changes
+## Other Notable Changes {#sec-release-21.11-notable-changes}
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index 9b0fe1d80ff..a501cd0a1d8 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -1,19 +1,48 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libjack2, alsa-lib
-, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
-, fetchpatch, fmt
-, adlplugChip ? "-DADLplug_CHIP=OPL3"
-, pname ? "ADLplug" }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, fmt
+, liblo
+, alsa-lib
+, freetype
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, libobjc
+, Cocoa
+, CoreServices
+, WebKit
+, DiscRecording
 
+  # Enabling JACK requires a JACK server at runtime, no fallback mechanism
+, withJack ? false, jack
+
+, type ? "ADL"
+}:
+
+assert lib.assertOneOf "type" type [ "ADL" "OPN" ];
+let
+  chip = {
+    ADL = "OPL3";
+    OPN = "OPN2";
+  }.${type};
+  mainProgram = "${type}plug";
+in
 stdenv.mkDerivation rec {
-  inherit pname;
+  pname = "${lib.strings.toLower type}plug";
   version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
     rev = "v${version}";
-    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
     fetchSubmodules = true;
+    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
   };
 
   patches = [
@@ -25,19 +54,52 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = [ adlplugChip "-DADLplug_USE_SYSTEM_FMT=ON" ];
+  cmakeFlags = [
+    "-DADLplug_CHIP=${chip}"
+    "-DADLplug_USE_SYSTEM_FMT=ON"
+    "-DADLplug_Jack=${if withJack then "ON" else "OFF"}"
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
+  ]);
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
 
   buildInputs = [
-    libjack2 alsa-lib freetype libX11 libXrandr libXinerama libXext
+    fmt
+    liblo
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    freetype
+    libX11
+    libXrandr
+    libXinerama
+    libXext
     libXcursor
-  ];
-  nativeBuildInputs = [ cmake pkg-config fmt ];
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    libobjc
+    Cocoa
+    CoreServices
+    WebKit
+    DiscRecording
+  ] ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
-    description = "OPL3 and OPN2 FM Chip Synthesizer";
+    inherit mainProgram;
+    description = "${chip} FM Chip Synthesizer";
     homepage = src.meta.homepage;
     license = licenses.boost;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index b041d7e1910..6b272a408ab 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.strings.makeLibraryPath buildInputs;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -r opt/bitwig-studio $out/libexec
     ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
@@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
     substitute usr/share/applications/bitwig-studio.desktop \
       $out/share/applications/bitwig-studio.desktop \
       --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
+
+      runHook postInstall
   '';
 
   postFixup = ''
@@ -57,7 +61,7 @@ stdenv.mkDerivation rec {
       wrapProgram $f \
         "''${gappsWrapperArgs[@]}" \
         --prefix PATH : "${binPath}" \
-        --prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
+        --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
     done
 
   '';
diff --git a/pkgs/applications/audio/munt/default.nix b/pkgs/applications/audio/munt/default.nix
index 773a9178c0b..191612700f4 100644
--- a/pkgs/applications/audio/munt/default.nix
+++ b/pkgs/applications/audio/munt/default.nix
@@ -1,38 +1,51 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, alsa-lib, makeDesktopItem, libjack2 }:
+{ lib
+, mkDerivation
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, cmake
+, pkg-config
+, qtbase
+, glib
+, alsa-lib
+, withJack ? stdenv.hostPlatform.isUnix, jack
+}:
 
 let
-  desktopItem = makeDesktopItem rec {
-    name = "Munt";
-    exec = "mt32emu-qt";
-    desktopName = name;
-    genericName = "Munt synthesiser";
-    categories = "Audio;AudioVideo;";
-  };
-in mkDerivation rec {
-  version = "2.4.1";
+  mainProgram = "mt32emu-qt";
+in
+mkDerivation rec {
   pname = "munt";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = with lib.versions; "libmt32emu_${major version}_${minor version}_${patch version}";
-    sha256 = "0bszhkbz24hhx32f973l6h5lkyn4lxhqrckiwmv765d1sba8n5bk";
+    rev = "munt_${lib.replaceChars [ "." ] [ "_" ] version}";
+    sha256 = "1lknq2a72gv1ddhzr7f967wpa12lh805jj4gjacdnamgrc1h22yn";
   };
 
-  postInstall = ''
-    ln -s ${desktopItem}/share/applications $out/share
-  '';
-
   dontFixCmake = true;
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase alsa-lib libjack2 ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ qtbase glib ]
+    ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
+    ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    wrapQtApp $out/Applications/${mainProgram}.app/Contents/MacOS/${mainProgram}
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
+    inherit mainProgram;
     description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
     homepage = "http://munt.sourceforge.net/";
     license = with licenses; [ lgpl21 gpl3 ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index a5ea91141c3..5d188889516 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -1,19 +1,16 @@
 { config, lib, stdenv, fetchurl, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
-let
-  version = "0.5.8";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openmpt123";
-  inherit version;
+  version = "0.5.9";
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "sha256-KeLCEXS3P2fyul7naAjWLxgrEw5PcE7i2a6Cg5gtis0=";
+    sha256 = "0h86p8mnpm98vc4v6jbvrmm02fch7dnn332i26fg3a2s1738m04d";
   };
 
   enableParallelBuilding = true;
-  doCheck = true;
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
@@ -21,11 +18,13 @@ in stdenv.mkDerivation {
 
   configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio";
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A cross-platform command-line based module file player";
     homepage = "https://lib.openmpt.org/libopenmpt/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/uade123/default.nix b/pkgs/applications/audio/uade123/default.nix
index 271f9f912ea..8191fd381a4 100644
--- a/pkgs/applications/audio/uade123/default.nix
+++ b/pkgs/applications/audio/uade123/default.nix
@@ -1,25 +1,74 @@
-{ lib, stdenv, fetchurl, which, libao, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, which
+, makeWrapper
+, libao
+, libbencodetools
+, sox
+, lame
+, flac
+, vorbis-tools
+}:
 
-let
-  version = "2.13";
-in stdenv.mkDerivation {
+stdenv.mkDerivation {
   pname = "uade123";
-  inherit version;
-  src = fetchurl {
-    url = "http://zakalwe.fi/uade/uade2/uade-${version}.tar.bz2";
-    sha256 = "04nn5li7xy4g5ysyjjngmv5d3ibxppkbb86m10vrvadzxdd4w69v";
+  version = "unstable-2021-05-21";
+
+  src = fetchFromGitLab {
+    owner = "uade-music-player";
+    repo = "uade";
+    rev = "7169a46e777d19957cd7ff8ac31843203e725ddc";
+    sha256 = "1dm7c924fy79y3wkb0qi71m1k6yw1x6j3whw7d0w4ka9hv6za03b";
   };
-  nativeBuildInputs = [ pkg-config which ];
-  buildInputs = [ libao ];
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \
+      --replace '-e stat' '-n stat' \
+      --replace '/usr/local' "$out"
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    which
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libao
+    libbencodetools
+    sox
+    lame
+    flac
+    vorbis-tools
+  ];
+
+  configureFlags = [
+    "--bencode-tools-prefix=${libbencodetools}"
+  ];
 
   enableParallelBuilding = true;
+
   hardeningDisable = [ "format" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/mod2ogg2.sh \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]}
+    # This is an old script, don't break expectations by renaming it
+    ln -s $out/bin/mod2ogg2{.sh,}
+  '';
+
   meta = with lib; {
     description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API";
-    homepage = "http://zakalwe.fi/uade/";
-    license = licenses.gpl2;
-    maintainers = [ ];
+    homepage = "https://zakalwe.fi/uade/";
+    # It's a mix of licenses. "GPL", Public Domain, "LGPL", GPL2+, BSD, LGPL21+ and source code with unknown licenses. E.g.
+    # - hippel-coso player is "[not] under any Open Source certified license"
+    # - infogrames player is disassembled from Andi Silvas player, unknown license
+    # Let's make it easy and flag the whole package as unfree.
+    license = licenses.unfree;
+    maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/blockchains/faraday/default.nix b/pkgs/applications/blockchains/faraday/default.nix
index 90d76e29b6b..76e91f2bbe5 100644
--- a/pkgs/applications/blockchains/faraday/default.nix
+++ b/pkgs/applications/blockchains/faraday/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "faraday";
-  version = "0.2.3-alpha";
+  version = "0.2.5-alpha";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "faraday";
     rev = "v${version}";
-    sha256 = "16cqaslsbwda23b5n0sfppybd3ma4ch545100ydxrwac4zhrq4kq";
+    sha256 = "16mz333a6awii6g46gr597j31jmgws4285s693q0b87fl1ggj2zz";
   };
 
-  vendorSha256 = "1hh99nfprlmhkc36arg3w1kxby59i2l7n258cp40niv7bjn37hrq";
+  vendorSha256 = "1nclmvypxp5436q6qaagp1k5bfmaia7hsykw47va0pijlsvsbmck";
 
   subPackages = [ "cmd/frcli" "cmd/faraday" ];
 
@@ -22,6 +22,6 @@ buildGoModule rec {
     description = "LND Channel Management Tools";
     homepage = "https://github.com/lightninglabs/faraday";
     license = licenses.mit;
-    maintainers = with maintainers; [ proofofkeags ];
+    maintainers = with maintainers; [ proofofkeags prusnak ];
   };
 }
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 40f6946d144..05bc2b824fc 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -9,17 +9,17 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.3";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-85aUR7MvaPeRilC+4oj6XW2IEUvxRUsVz63tQ/Jc7xw=";
+    sha256 = "sha256-DRlIiO3iXUsQnmOf5T9uk3560tVbS+Hrs8QtVkmllAI=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-8zhVQ8FUdzog7h9RBfuq8uBp0zjulXbDOLAPljp4deA=";
+  vendorSha256 = "sha256-a/vY9iyqSM9QPs7lGFF6E7e2cMjIerVkNf5KwiWdyr0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/lightning-loop/default.nix b/pkgs/applications/blockchains/lightning-loop/default.nix
new file mode 100644
index 00000000000..851a1b1d040
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-loop";
+  version = "0.14.1-beta";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "loop";
+    rev = "v${version}";
+    sha256 = "0fnbf0cryrw9yk3z1g7innv1rxxk7h2lhfakdj994l5a0pgzghmy";
+  };
+
+  vendorSha256 = "1i7mmf4ab4a6h08df6zlyjdnmvn44i2y3fc05hq6g1ln1bzdrz40";
+
+  subPackages = [ "cmd/loop" "cmd/loopd" ];
+
+  meta = with lib; {
+    description = "Lightning Loop Client";
+    homepage = "https://github.com/lightninglabs/loop";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lightning-pool/default.nix b/pkgs/applications/blockchains/lightning-pool/default.nix
new file mode 100644
index 00000000000..978509cc237
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-pool/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-pool";
+  version = "0.5.0-alpha";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "pool";
+    rev = "v${version}";
+    sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb";
+  };
+
+  vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn";
+
+  subPackages = [ "cmd/pool" "cmd/poold" ];
+
+  meta = with lib; {
+    description = "Lightning Pool Client";
+    homepage = "https://github.com/lightninglabs/pool";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix
index 147d826dfa6..e8c6d14b3db 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.12.1-beta";
+  version = "0.13.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "0ly6909cg0qzdsp9idp1g7zqd6liw7f142d7n7vga64s1ksvv6lx";
+    sha256 = "0fwidjkfzzd7k891x5z7jrx2arl0kwj6vm9z2acsyy7riv4zfjbq";
   };
 
-  vendorSha256 = "00q8dydskzg4rhxnnpzpbmmvc3q4wzm8z3dps2bv0nx3fk0fmrl3";
+  vendorSha256 = "19myr9f5zh05y6lagd9pra60y8df7pz837310cbpq9a6zzwpdxk2";
 
   subPackages = ["cmd/lncli" "cmd/lnd"];
 
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 41f5f79de78..1a4b3e6c061 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -13,16 +13,16 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1bj954kjwrk0nx8griy2y8gp7dys0wf610ki0jrby46mlvrmszs1";
-    x86_64-darwin = "1dqpz7qpnycd4b7iqg639rab3ds4m06m15rmyp7r70053qaw1s61";
-    aarch64-linux = "04ifmw39swdl6ybz6jpan2krsqli1kjyjnicjaisww8vhvhr2lzk";
-    armv7l-linux = "0y1rzn2jy4wrn2yr95v7zzyl36pj9mbz4dgvazvy465wzk5ai7b4";
+    x86_64-linux = "0cklp0mp7qylzrqnfbvzs308q0bzpswlqw5n98qhl1jb5783svx1";
+    x86_64-darwin = "04yyv0wpkzdjfiy9kj2jslhv7nc5i6nw2207vfnbzysgs55l3x63";
+    aarch64-linux = "1ygk51902g0q7x3r6kd3s7gi2gx86x10svpvbipl494qcyfngqzs";
+    armv7l-linux = "0z5rg1nl8lz7zsvml6dfz093dbyrkr4zvvfssqiyarw4n24d2mim";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.57.0";
+    version = "1.57.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix
index d5d61694e63..1a33eb2fe20 100644
--- a/pkgs/applications/kde/kmail.nix
+++ b/pkgs/applications/kde/kmail.nix
@@ -1,14 +1,53 @@
-{
-  mkDerivation, lib, kdepimTeam,
-  extra-cmake-modules, kdoctools,
-  akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig,
-  kconfigwidgets, kcoreaddons, libkdepim,
-  kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap,
-  kmail-account-wizard, kmailtransport, knotifications, knotifyconfig,
-  kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet,
-  kwidgetsaddons, kwindowsystem, kxmlgui, libgravatar, libksieve, mailcommon,
-  messagelib, pim-sieve-editor, qtscript, qtwebengine, akonadi, kdepim-addons,
-  qtkeychain, libsecret
+{ mkDerivation
+, lib
+, akonadi
+, akonadi-import-wizard
+, akonadi-search
+, extra-cmake-modules
+, kaddressbook
+, kbookmarks
+, kcalutils
+, kcmutils
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kdepim-addons
+, kdepim-runtime
+, kdepimTeam
+, kdoctools
+, kguiaddons
+, ki18n
+, kiconthemes
+, kinit
+, kio
+, kldap
+, kleopatra
+, kmail-account-wizard
+, kmailtransport
+, knotifications
+, knotifyconfig
+, kontactinterface
+, kparts
+, kpty
+, kservice
+, ktextwidgets
+, ktnef
+, kwallet
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, libgravatar
+, libkdepim
+, libksieve
+, libsecret
+, mailcommon
+, messagelib
+, pim-data-exporter
+, pim-sieve-editor
+, qtkeychain
+, qtscript
+, qtwebengine
 }:
 
 mkDerivation {
@@ -19,13 +58,53 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig
-    kconfigwidgets kcoreaddons kguiaddons ki18n
-    kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim
-    knotifications knotifyconfig kontactinterface kparts kpty kservice
-    ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar
-    libksieve mailcommon messagelib pim-sieve-editor qtscript qtwebengine
-    kdepim-addons qtkeychain libsecret
+    akonadi-search
+    kbookmarks
+    kcalutils
+    kcmutils
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kdepim-addons
+    kguiaddons
+    ki18n
+    kiconthemes
+    kinit
+    kio
+    kldap
+    kmail-account-wizard
+    kmailtransport
+    knotifications
+    knotifyconfig
+    kontactinterface
+    kparts
+    kpty
+    kservice
+    ktextwidgets
+    ktnef
+    kwidgetsaddons
+    kwindowsystem
+    kxmlgui
+    libgravatar
+    libkdepim
+    libksieve
+    libsecret
+    mailcommon
+    messagelib
+    pim-sieve-editor
+    qtkeychain
+    qtscript
+    qtwebengine
+    akonadi-import-wizard
+    kaddressbook
+    kleopatra
+    pim-data-exporter
   ];
+  outputs = [ "out" "doc" ];
   propagatedUserEnvPkgs = [ kdepim-runtime kwallet akonadi ];
+  postFixup = ''
+    wrapProgram "$out/bin/kmail" \
+      --prefix PATH : "${lib.makeBinPath [ akonadi akonadi-import-wizard kaddressbook kleopatra kmail-account-wizard pim-data-exporter ]}"
+  '';
 }
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index f291ab898e3..1bc22b6613d 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE
 , libXext , freetype, libXrender, fontconfig, libXft, libXinerama
 , libXfixes, libXScrnSaver, libnotify, glib , gtk3, libappindicator-gtk3
-, curl }:
+, curl, writeShellScript, common-updater-scripts }:
 
 let
-
-  data = builtins.fromJSON (builtins.readFile ./revision.json);
-
-  inherit (data) version url sha256;
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.19-9e79d1da/Hubstaff-1.5.19-9e79d1da.sh";
+  version = "1.5.19-9e79d1da";
+  sha256 = "1l4sq8cblpl1kclkx5pgy0ldfmqa3n8bvdl5qml0n78r0lpk382j";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@@ -56,6 +55,18 @@ stdenv.mkDerivation {
     ln -s $opt/data/resources $opt/x86_64/resources
   '';
 
+  updateScript = writeShellScript "hubstaff-updater" ''
+    set -eu -o pipefail
+
+    installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
+
+    version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
+
+    sha256=$(nix-prefetch-url "$installation_script_url")
+
+    ${common-updater-scripts}/bin/update-source-version hubstaff "$version" "$sha256" "$installation_script_url"
+  '';
+
   meta = with lib; {
     description = "Time tracking software";
     homepage = "https://hubstaff.com/";
diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json
deleted file mode 100644
index 9b0ffe67f0c..00000000000
--- a/pkgs/applications/misc/hubstaff/revision.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.15-28673d1c/Hubstaff-1.5.15-28673d1c.sh",
-  "version": "1.5.15-28673d1c",
-  "sha256": "0ging41l3a3sdj6bggh913h71gqmb8l3rplp4civpgclnfzv7fg2"
-}
diff --git a/pkgs/applications/misc/hubstaff/update.sh b/pkgs/applications/misc/hubstaff/update.sh
deleted file mode 100755
index c4c1caf55db..00000000000
--- a/pkgs/applications/misc/hubstaff/update.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix-prefetch-git curl
-
-SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
-
-installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
-
-version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
-
-sha256=$(nix-prefetch-url "$installation_script_url")
-
-cat <<EOT > $SCRIPT_DIR/revision.json
-{
-  "url": "$installation_script_url",
-  "version": "$version",
-  "sha256": "$sha256"
-}
-EOT
diff --git a/pkgs/applications/misc/nwg-menu/default.nix b/pkgs/applications/misc/nwg-menu/default.nix
new file mode 100644
index 00000000000..5c4b508bb6b
--- /dev/null
+++ b/pkgs/applications/misc/nwg-menu/default.nix
@@ -0,0 +1,48 @@
+{ lib, fetchFromGitHub
+, buildGoModule, pkg-config, wrapGAppsHook, gobject-introspection
+, gtk-layer-shell, gtk3, pango, gdk-pixbuf, atk
+}:
+
+buildGoModule rec {
+  pname = "nwg-menu";
+  version = "unstable-2021-06-12";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-menu";
+    rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
+    hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
+  };
+
+  vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
+
+  runVend = true;
+
+  doCheck = false;
+
+  buildInputs = [ atk gtk3 gdk-pixbuf gtk-layer-shell pango ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook gobject-introspection ];
+
+  prePatch = ''
+    for file in main.go tools.go; do
+      substituteInPlace $file --replace '/usr/share/nwg-menu' $out/share
+    done
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/
+    cp menu-start.css $out/share/
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$out/share")
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nwg-piotr/nwg-menu";
+    description = "MenuStart plugin for nwg-panel";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index 63160955130..7ae8662e2c1 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub, glib, wrapGAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "printrun";
@@ -11,6 +11,8 @@ python3Packages.buildPythonApplication rec {
     sha256 = "179x8lwrw2h7cxnkq7izny6qcb4nhjnd8zx893i77zfhzsa6kx81";
   };
 
+  nativeBuildInputs = [ glib wrapGAppsHook ];
+
   propagatedBuildInputs = with python3Packages; [
     appdirs cython dbus-python numpy six wxPython_4_0 psutil pyglet pyopengl pyserial
   ];
@@ -29,6 +31,14 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  dontWrapGApps = true;
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software";
     homepage = "https://github.com/kliment/Printrun";
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 717bda8a297..377dd17afaa 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "91.0.4472.106",
-    "sha256": "1fxy1l2dl0f6v8566lykcng18ma6fv4nlwxmdb0hh06fgp6khpjl",
-    "sha256bin64": "11l88fqrl1r7b02j78zgrr6kajayl8kw8mb8b91ard18w5kz1xvd",
+    "version": "91.0.4472.114",
+    "sha256": "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1",
+    "sha256bin64": "00ac1dyqxpxy1j11jvc5j35bgc629n2f2pll3912gzih4ir0vrys",
     "deps": {
       "gn": {
         "version": "2021-04-06",
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index e861ef97be3..6eb80edb99a 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-sVa7d69MuOjH1IhUMcXu79kEE0BKylLYx6yrOV/DExY=";
+    sha256 = "sha256-MXMgCqdFNRMJaStoFMx8BO8OI1B7FqSETk0zW6a/vbE=";
   };
   vendorSha256 = "sha256-PTAyRG6PZK+vaiheUd3oiu4iBGlnFjoCrci0CYbXjBk=";
 
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 60d5dec48a5..2dfbac5c5ac 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-gJjCw28SqU49kIiRH+MZgeYN4VBgKVEaRPr5A/2c5Pc=";
+    sha256 = "sha256-GAX8ODjGj5LM44KgJC0N5uuOH4z33lDWoQgImOl8/xo=";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index eeab5a1d02e..31fae0e31c2 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -64,8 +64,8 @@ in
     };
     edge = generic {
       channel = "edge";
-      version = "21.6.2";
-      sha256 = "sha256-kgdKH+cIYRg5A3+wrJJ7jcY6Xl206EwBYa37PT3xn1k";
-      vendorSha256 = "sha256-QVLg1ZRsNQPM4lERVHpZLbd+I32JZ1pbGNSGIVTbseg=";
+      version = "21.6.3";
+      sha256 = "sha256-NgfbkeVRl0AGNkZSS2nSAHp4eZ49QNSEYMuFe1G5iBY=";
+      vendorSha256 = "sha256-rq/MHo5MG2EKZ3d937TIDXFCoWnLlQO3C/fo1bhRxCA=";
     };
   }
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 6e57e0e9423..adc19f5dcfd 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -38,14 +38,17 @@
 , xdg-utils
 }:
 
+let
+  getFirst = n: v: builtins.concatStringsSep "." (lib.take n (lib.splitString "." v));
+in
+
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.21.3";
-  buildNumber = "2";
+  version = "2.22.0.87";
 
   src = fetchurl {
-    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm";
-    sha256 = "sha256-a/REuxkqZmLLa7N3CUgUAdq74VMD9D10a/Sx2jOj1QA=";
+    url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
+    sha256 = "sha256-0nobn+YcvqakwvBdkoEJrzHoL+OGym2zJ806oUabYfo=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
@@ -106,7 +109,7 @@ stdenv.mkDerivation rec {
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
       opt/BlueJeans/resources/BluejeansHelper
 
-    cc $localtime64_stub -shared -o "$out"/opt/BlueJeans/liblocaltime64_stub.so
+    cc $localtime64_stub -shared -o "${placeholder "out"}"/opt/BlueJeans/liblocaltime64_stub.so
 
     makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \
       --set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \
@@ -119,6 +122,8 @@ stdenv.mkDerivation rec {
     patchShebangs "$out"
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day";
     homepage = "https://www.bluejeans.com";
@@ -127,3 +132,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
   };
 }
+
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/update.sh b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
new file mode 100755
index 00000000000..2c527462003
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl pup common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -Ls https://www.bluejeans.com/download | \
+    pup 'a[aria-label~="Linux"] attr{href}' | \
+    #output contains *.deb and *.rpm
+    grep "\.rpm" | \
+    awk -F'[ ._ ]' '{printf $6"."$7"."$8"."$9"\n"}')"
+
+update-source-version bluejeans-gui "$version"
diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix
index 6c0de05a740..8fe93fb1a44 100644
--- a/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -8,6 +8,7 @@
 , dpkg
 , glib
 , gtk3
+, wrapGAppsHook
 , libkrb5
 , libsecret
 , nss
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 17c6398f4ff..eb2c0b0f1e7 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.52.0";
+  version = "0.53.1";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1pvjckh7z803piqyzrvk54jd43f2vcyx20zjcgmq1va8jc3q69k1";
+    sha256 = "0hddq1nijxhr6kgf7gydw0nh07lh86fs8srkhm29ik4hmv8ch19p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix
index 2bfeaa00568..91ee7c1c65e 100644
--- a/pkgs/applications/science/math/gurobi/default.nix
+++ b/pkgs/applications/science/math/gurobi/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, python2 }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, python3 }:
 
-let
-  majorVersion = "8.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gurobi";
-  version = "${majorVersion}.0";
+  version = "9.1.2";
 
-  src = with lib; fetchurl {
-    url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
-    sha256 = "1yjqbzqnq4jjkjm616d36bgd3rmqr0a1ii17n0prpdjzmdlq63dz";
+  src = fetchurl {
+    url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
+    sha256 = "7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b";
   };
 
   sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
 
   nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ (python2.withPackages (ps: [ ps.gurobipy ])) ];
+  buildInputs = [ (python3.withPackages (ps: [ ps.gurobipy ])) ];
 
   strictDeps = true;
 
-  buildPhase = ''
-    cd src/build
-    make
-    cd ../..
-  '';
+  makeFlags = [ "--directory=src/build" ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp bin/* $out/bin/
-    rm $out/bin/gurobi.env
     rm $out/bin/gurobi.sh
-    rm $out/bin/python2.7
+    rm $out/bin/python*
 
     cp lib/gurobi.py $out/bin/gurobi.sh
 
@@ -48,7 +41,7 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
   '';
 
-  passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion;
+  passthru.libSuffix = lib.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version);
 
   meta = with lib; {
     description = "Optimization solver for mathematical programming";
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index bdcd3fbc8fd..1e439f57ef7 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -205,6 +205,7 @@ stdenv.mkDerivation rec {
        optional  fontconfigSupport "-lfontconfig"
     ++ optional  fribidiSupport "-lfribidi"
     ++ optionals x11Support [ "-lX11" "-lXext" ]
+    ++ optional  x264Support "-lx264"
     ++ [ "-lfreetype" ]
   );
 
diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix
index d315c1027ab..01f8ae2533e 100644
--- a/pkgs/common-updater/unstable-updater.nix
+++ b/pkgs/common-updater/unstable-updater.nix
@@ -1,4 +1,5 @@
-{ writeShellScript
+{ lib
+, writeShellScript
 , coreutils
 , git
 , nix
@@ -8,6 +9,7 @@
 # This is an updater for unstable packages that should always use the latest
 # commit.
 { url ? null # The git url, if empty it will be set to src.url
+, branch ? null
 }:
 
 let
@@ -25,7 +27,9 @@ let
 
     # Get info about HEAD from a shallow git clone
     tmpdir="$(${coreutils}/bin/mktemp -d)"
-    ${git}/bin/git clone --bare --depth=1 "$url" "$tmpdir"
+    ${git}/bin/git clone --bare --depth=1 \
+      ${lib.optionalString (branch != null) "--branch ${branch}"} \
+      "$url" "$tmpdir"
     pushd "$tmpdir"
     commit_date="$(${git}/bin/git show -s --pretty='format:%cs')"
     commit_sha="$(${git}/bin/git show -s --pretty='format:%H')"
diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix
index e76ffa7204a..072181595a6 100644
--- a/pkgs/desktops/xfce/applications/catfish/default.nix
+++ b/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0fg89946z6n8njxn4mv29jksw8yavg8vypsljn9031pjwl3fmh2q";
+    sha256 = "sha256-WMDqBuXyhgGSlVRfv9HbyiOup0xiV2K7tMiab0hK6Dk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index 4b7c258ca59..84fec43b3c2 100644
--- a/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "0.5.2";
   odd-unstable = false;
 
-  sha256 = "8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
+  sha256 = "sha256-8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
 
   buildInputs = [ gtk3 glib ];
 
diff --git a/pkgs/desktops/xfce/applications/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix
index 33666c53bb8..11ef1c6841d 100644
--- a/pkgs/desktops/xfce/applications/mousepad/default.nix
+++ b/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "0.5.5";
   odd-unstable = false;
 
-  sha256 = "1c985xb3395bn1024qhqqdnlkbn02zldsnybxsw49xqh55pa4a2n";
+  sha256 = "sha256-ViiibikQ90S47stb3egXwK5JbcMYYiJAsKukMVYvKLE=";
 
   nativeBuildInputs = [ gobject-introspection ];
 
diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index 45500450723..f2747c9c62a 100644
--- a/pkgs/desktops/xfce/applications/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
+    sha256 = "sha256-PPmqRBroPIaIhl+CIXAlzfPrqhUszkVxd3uMKqjdkGI=";
   };
 
   nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "fix-libical3.patch";
       url = "https://aur.archlinux.org/cgit/aur.git/plain/libical3.patch?h=orage-4.10";
-      sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
+      sha256 = "sha256-bsnQMGmeo4mRNGM/7UYXez2bNopXMHRFX7VFVg0IGtE=";
     })
   ];
 
diff --git a/pkgs/desktops/xfce/applications/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix
index 5c55a22ea74..8ea2180dea2 100644
--- a/pkgs/desktops/xfce/applications/parole/default.nix
+++ b/pkgs/desktops/xfce/applications/parole/default.nix
@@ -9,7 +9,7 @@ mkXfceDerivation {
   pname = "parole";
   version = "4.16.0";
 
-  sha256 = "07hcnbcd56lq7z3gq1cnk71ppy98hwdvlfp5z3zlc55cqrry26zm";
+  sha256 = "sha256-9Rvhc8asFEb/+OU6uhuHKPl7w5mWBfzGP5ia0tiyDB4=";
 
   postPatch = ''
     substituteInPlace src/plugins/mpris2/Makefile.am \
diff --git a/pkgs/desktops/xfce/applications/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index e80497e21f2..d938dc8a528 100644
--- a/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "ristretto";
   version = "0.11.0";
 
-  sha256 = "07np4n6kg6lpd7acrb4aga3l6502c8lhjzf867b38n90cx1nh5gf";
+  sha256 = "sha256-7hVoQ2cgWTTWMch9CSliAhRDh3qKrMzUaZeaN40l1x4=";
 
   buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfburn/default.nix b/pkgs/desktops/xfce/applications/xfburn/default.nix
index 8aff25df494..f44769ddd69 100644
--- a/pkgs/desktops/xfce/applications/xfburn/default.nix
+++ b/pkgs/desktops/xfce/applications/xfburn/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfburn";
   version = "0.6.2";
 
-  sha256 = "02axhsbbsvd31jb0xs1d2qxr614qb29pajv0sm2p1n1c2cv2fjh1";
+  sha256 = "sha256-AUonNhMs2HBF1WBLdZNYmASTOxYt6A6WDKNtvZaGXQk=";
 
   nativeBuildInputs = [ libxslt docbook_xsl ];
   buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
diff --git a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 6761d2ed5cd..94f6f7c5dd5 100644
--- a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-dict";
   version = "0.8.4";
 
-  sha256 = "0gm5gwqxhnv3qz9ggf8dj1sq5s72xcliidkyip9l91msx03hfjah";
+  sha256 = "sha256-UEkHB+i6hkTTjX62GCnr4uiCdZANuffSx2Nb2DF/pT4=";
 
   patches = [ ./configure-gio.patch ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index 64ab34d2b6f..e28c169b26e 100644
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "xfce4-notifyd";
   version = "0.6.2";
 
-  sha256 = "1q8n7dffyqbfyy6vpqlmnsfpavlc7iz6hhv1h27fkwzswy2rx28s";
+  sha256 = "sha256-Gomehef68+mOgGFDaH48jG51nbaV4ruN925h71w7FuE=";
 
   buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index d2d17f5afe8..f381b2d6181 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "1.9.9";
   odd-unstable = false;
 
-  sha256 = "1myzm9sk968bcl9yqh6zyaa3ck42rw01hbcqn8z4sipiwsbhkrj0";
+  sha256 = "sha256-QOYJl+bxRk0+spgtGADPgkw2lPLfQOwTZQuZNHWq39c=";
 
   buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 5a1510eaa8c..0c277f3a843 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-taskmanager";
   version = "1.4.2";
 
-  sha256 = "1l7k00y3d9j38g4hxjrcrh1y4s6s77sq4sjcadsbpzs6zdf05hld";
+  sha256 = "sha256-jcICXPtG/7t0U0xqgvU52mjiA8wsyw7JQ0OmNjwA89A=";
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 libwnck3 libXmu ];
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 19d98f84e3a..ce0c2d1f3cd 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-terminal";
   version = "0.8.10";
 
-  sha256 = "0v58qcrdpqpd2nbwlc4ra7j9nkvfzfhb1zcp1kggbn627q86i0ql";
+  sha256 = "sha256-FINoED7C2PXeDJf9sKD7bk+b5FGZMMqXFe3i2zLDqGw=";
 
   nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 413c04a84cc..fc9328e0e2f 100644
--- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-volumed-pulse";
   version = "0.2.3";
 
-  sha256 = "1rsjng9qmq7vzrx5bfxq76h63y501cfl1mksrxkf1x39by9r628j";
+  sha256 = "sha256-EgmTk19p9OBmz3rWQB0LoPhhoDm4u1V6/vvgitOzUuc=";
 
   buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index bef18e3e505..80e3b7ed791 100644
--- a/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -21,7 +21,7 @@ mkXfceDerivation {
   rev-prefix = "";
   odd-unstable = false;
 
-  sha256 = "06pvzhhkr2mimsrzlkpsrzf5fxag4fhabyb3cpmgpyp5hcbgvaj3";
+  sha256 = "sha256-Q6r9FoPl+vvqZWP5paAjT3VX3M/6TvqzrrGKPCH8+xo=";
 
   buildInputs = [
     clutter
diff --git a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
index a2339d58568..6ece5d68c5f 100644
--- a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
+++ b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l";
+    sha256 = "sha256-1HhmktVrilY/ZqXyYPHxOt4R6Gx4y8slqfml/EfPZvo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
index 31623598d31..5548be8f4ab 100644
--- a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
+++ b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j";
+    sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU=";
   };
 
   passthru.updateScript = xfce.updateScript {
diff --git a/pkgs/desktops/xfce/core/exo/default.nix b/pkgs/desktops/xfce/core/exo/default.nix
index 962170a1765..3ab53444a41 100644
--- a/pkgs/desktops/xfce/core/exo/default.nix
+++ b/pkgs/desktops/xfce/core/exo/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "exo";
   version = "4.16.2";
 
-  sha256 = "0rsp92j4hkr5jrkrj8anzw9fwd96xbxzpzqzqiyjjwdiq7b29l1v";
+  sha256 = "sha256-O9Ak1sGxcSl9xB//+/vqJjXuEv9WIZlnliVPSKRIV2c=";
 
   nativeBuildInputs = [
     libxslt
diff --git a/pkgs/desktops/xfce/core/garcon/default.nix b/pkgs/desktops/xfce/core/garcon/default.nix
index 56ce6ac8aa2..a3ff8e0afd1 100644
--- a/pkgs/desktops/xfce/core/garcon/default.nix
+++ b/pkgs/desktops/xfce/core/garcon/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "garcon";
   version = "4.16.1";
 
-  sha256 = "134nm1754i12axl4si60fdwkbk2v6z108nrj9c0lb5in1zmqwa9a";
+  sha256 = "sha256-KimO6w82lkUBSzJbBMI3W8w1eXPARE1oVyJEUk6olow=";
 
   nativeBuildInputs = [ gobject-introspection ];
 
diff --git a/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index e17880f1b1b..99cb0e7cc62 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "libxfce4ui";
   version = "4.16.0";
 
-  sha256 = "0a9wfdpsv83giwv6kcidvpd6c665aa7sv6f2l1q6qcq214vb0rk2";
+  sha256 = "sha256-YmawNgkCM2xwoMKZrY9SxRhm2t0tsmk2j2+grW9zPCk=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
   buildInputs =  [ gtk3 libstartup_notification libgtop epoxy xfconf ];
diff --git a/pkgs/desktops/xfce/core/libxfce4util/default.nix b/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 69c39212850..638c3a3158d 100644
--- a/pkgs/desktops/xfce/core/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "libxfce4util";
   version = "4.16.0";
 
-  sha256 = "1p0snipc81dhaq5glv7c1zfq5pcvgq7nikl4ikhfm2af9picfsxb";
+  sha256 = "sha256-q2vH4k1OiergjITOaA9+m92C3Q/sbPoKVrAFxG60Gtw=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
 
diff --git a/pkgs/desktops/xfce/core/thunar-volman/default.nix b/pkgs/desktops/xfce/core/thunar-volman/default.nix
index 6ceca34b1bd..31d25f97d37 100644
--- a/pkgs/desktops/xfce/core/thunar-volman/default.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
 
   buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
 
-  sha256 = "002nkxsvcq384dgpj7lv3bmb21ks64hsq13l67z1dcjbj51hzl03";
+  sha256 = "sha256-A9APQ5FLshb+MXQErCExegax6hqbHnlfI2hgtnWfVgA=";
 
   odd-unstable = false;
 
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
index 68027bf5018..7efc64e942d 100644
--- a/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -23,7 +23,7 @@ let unwrapped = mkXfceDerivation {
   pname = "thunar";
   version = "4.16.8";
 
-  sha256 = "1r7qkd6l0mgf97m1xnnizm7fkvl4a52r3hsds5z68y6myvb78p18";
+  sha256 = "sha256-KFx01vbVeGR+0U3DkUVRhO7pTv3R2h7qSe5VQE2b+OQ=";
 
   nativeBuildInputs = [
     docbook_xsl
diff --git a/pkgs/desktops/xfce/core/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index 510d30ae63f..a9642b3b52c 100644
--- a/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -15,7 +15,7 @@ mkXfceDerivation {
   pname = "tumbler";
   version = "4.16.0";
 
-  sha256 = "1z4q858afj3yksim4lc96wylgvymv4cv6iw41qdxl5xd6ii2ddr4";
+  sha256 = "sha256-JLcmYjStF9obDoRHsxnZ1e9HPTeJUVKjnn5Ip1BBmPw=";
 
   buildInputs = [
     ffmpegthumbnailer
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index 01cc70e3b9a..4d0f61863e7 100644
--- a/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-appfinder";
   version = "4.16.1";
 
-  sha256 = "1r7sjdavqadrpgxqclrznds7a1c2i7mlvghx5mi6qqnh42425gsy";
+  sha256 = "sha256-Xr8iiCDQYmxiLR2+TeuJggV1dLM/U4b7u7kpvFWT+uQ=";
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 9b3f443ba38..fc8263abb4f 100644
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
@@ -15,7 +15,7 @@ mkXfceDerivation {
   pname = "xfce4-dev-tools";
   version = "4.16.0";
 
-  sha256 = "0w47npi1np9vb7lhzjr680aa1xb8ch6kcbg0l0bqnpm0y0jmvgz6";
+  sha256 = "sha256-5r9dJfCgXosXoOAtNg1kaPWgFEAmyw/pWTtdG+K1h3A=";
 
   nativeBuildInputs = [
     autoreconfHook
diff --git a/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index d0b1862c3f7..86c1789a1b0 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -18,7 +18,7 @@ mkXfceDerivation {
   pname = "xfce4-panel";
   version = "4.16.3";
 
-  sha256 = "085hxllsf792sgi8nn0qjfj5vclbrw2dgrgzl6gy55lxcbhkml9x";
+  sha256 = "sha256-PdE64WKdluKfof/l1wTPi7JdpJMYWIvi0yIdpyntsCA=";
 
   nativeBuildInputs = [
     gobject-introspection
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 709b6a2a0cb..76672b660a1 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "xfce4-power-manager";
   version = "4.16.0";
 
-  sha256 = "1rfw07xbv83rfb0mz3ayanlcvnaq7xpl2znsyya0hspysvavwks2";
+  sha256 = "sha256-Qk++1db+agiU99p+QW8/WNnNqFVejV/BcnmgvfoB3OU=";
 
   nativeBuildInputs = [ automakeAddFlags exo ];
   buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ];
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 0d4c0615898..d47dbc9340a 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-session";
   version = "4.16.0";
 
-  sha256 = "0b8vkcqn2arjp6qdwmzr0f84n8fjgy2kbf9h4gq03400ar1l111c";
+  sha256 = "sha256-LIRAQ1YAkAHwIzC5NYV/0iFLkAP5V96wuTIrYTGbGy0=";
 
   buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
 
diff --git a/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 4f6f291f134..61382ba8c50 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
   pname = "xfce4-settings";
   version = "4.16.2";
 
-  sha256 = "09npyqxsbrvz60bkbardqrizd5rvray5hkp84qgjzc10z4qrnk0f";
+  sha256 = "sha256-DkybMfkgsC8fJuhOWLzKO5f2Y8YtqzUXMH/npTv21yY=";
 
   postPatch = ''
     for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
diff --git a/pkgs/desktops/xfce/core/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix
index 41af53c9cc2..f255c5e5e58 100644
--- a/pkgs/desktops/xfce/core/xfconf/default.nix
+++ b/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfconf";
   version = "4.16.0";
 
-  sha256 = "00cp2cm1w5a6k7g0fjvqx7d2iwaqw196vii9jkx1aa7mb0f2gk63";
+  sha256 = "sha256-w8wnHFj1KBX6lCnGbVLgWPEo2ul4SwfemUYVHioTlwE=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
 
diff --git a/pkgs/desktops/xfce/core/xfdesktop/default.nix b/pkgs/desktops/xfce/core/xfdesktop/default.nix
index a9e461a4e64..d47d4769a56 100644
--- a/pkgs/desktops/xfce/core/xfdesktop/default.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfdesktop";
   version = "4.16.0";
 
-  sha256 = "1znbccr25wvizmzzgdcf719y3qc9gqdi1g4rasgrmi95427lvwn3";
+  sha256 = "sha256-w/JNjyAlxZqfVpm8EBt+ieHhUziOtfd//XHzIjJjy/4=";
 
   buildInputs = [
     exo
diff --git a/pkgs/desktops/xfce/core/xfwm4/default.nix b/pkgs/desktops/xfce/core/xfwm4/default.nix
index f8cfc551545..179da89a521 100644
--- a/pkgs/desktops/xfce/core/xfwm4/default.nix
+++ b/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
   pname = "xfwm4";
   version = "4.16.1";
 
-  sha256 = "1lhxm9ifkrnvn1vq3aak3kd695i1ishpryjnw617ifzawy9lj10b";
+  sha256 = "sha256-CwRJk+fqu3iC4Vb6fKGOIZZk2hxTqYF3sNvm6WKqHdI=";
 
   nativeBuildInputs = [ exo librsvg ];
 
diff --git a/pkgs/desktops/xfce/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index 7858450b081..8ff0d83cae3 100644
--- a/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -57,3 +57,4 @@ let
 in
 
 stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])
+# TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
index 0d047447e0c..ffb0118edee 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-battery-plugin";
-  version = "1.1.3";
-  rev-prefix = "";
+  version = "1.1.4";
+  rev-prefix = "xfce4-battery-plugin-";
   odd-unstable = false;
-  sha256 = "0ligdiasrfc3170kd7sif2ml6lvlpp11lbxz3xdvklqkv7p3323y";
+  sha256 = "sha256-LwwlyWhtVM+OHR9KtE4DPyU5V/dMOjcgSjsI3o7qfk8=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index d4492948ac6..7f18009c51d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -4,7 +4,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-clipman-plugin";
   version = "1.6.2";
-  sha256 = "0pm4pzq3imc0m09mg0zk6kwcn5yzdgiqgdbpws01q3xz58jmb4a6";
+  sha256 = "sha256-RpFVJSq/DxyA5ne1h+Nr3xfL+DTzg1cTqIDVOPC/pF4=";
 
   buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index f776e6c1693..358d2b64e44 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -4,7 +4,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-cpufreq-plugin";
   version = "1.2.5";
-  sha256 = "1isqlfhz1ijl1h3hfvi0n4misdjsrhd7pc9h5rkaqm4vh543ggxg";
+  sha256 = "sha256-r783SIGbVKxmLjCxexrMWjYdK7EgbgcHDFTG8KGjWMc=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 991da9928ff..1a8842f5c86 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "13302psv0fzg2dsgadr8j6mb06k1bsa4zw6hxmb644vqlvcwq37v";
+    sha256 = "sha256-+wzM2aZ4E2JW7dDwT5ReYRqwqpEoN/V0E+87sPUVYIw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
index 44d255c5fa6..2626ea74997 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
@@ -12,7 +12,7 @@ mkXfceDerivation {
   version = "0.8.1";
 
   rev-prefix = "xfce4-datetime-plugin-";
-  sha256 = "06h13bmh2sni4qbr3kfnqaa5dq5f48h4xkywrm9pa6h2nyvn4rma";
+  sha256 = "sha256-qmZit7cCGnVTzdzPTiAiruBWlMLWzZEXJtFqAesaARo=";
 
   nativeBuildInputs = [
     gettext
@@ -26,6 +26,6 @@ mkXfceDerivation {
 
   meta = with lib; {
     description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
index 9224a22e53b..41f71ec2f90 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "xuzhen";
     repo = "xfce4-dockbarx-plugin";
     rev = rev;
-    sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn";
+    sha256 = "sha256-VqtGcBRjvpCO9prVHOv6Gt1rAZtcAgkQkVCoR6ykC2k=";
   };
 
   pythonPath = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
index 7c48e4a2a9f..00738ccbc62 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0a72kqsjjh45swimqlpyrahdnplp0383v0i4phr4n6g8c1ixyry7";
+    sha256 = "sha256-x2ffY2DoGUsyvCSCPdAAl17boMr+Ulwj14VAKTWe4ig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
index d19f0051d43..4bc03994048 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1iaszzkagl1mb0cdafrvlfjnjklhhs9y90517par34sjiqbq1dsd";
+    sha256 = "sha256-TbeAF45Sk5HVPaGA5JOGkE5ppaM7O9UYWDXQp+b/WsU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
index 36cca7b7395..1e98a5a6212 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU=";
+    sha256 = "sha256-Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
index 8289be33310..e190df90b83 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU=";
+    sha256 = "sha256-shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
index 3a01e806387..8ff68c21d61 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://git.xfce.org/archive/${pname}/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "11k7m41jxkaqmpp5njkixw60q517xnw923mz34dnm1llx9ilvfk8";
+    sha256 = "sha256-aLpNY+qUhmobGb8OkbjtJxQMDO9xSlvurVjNLgOpZ4Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
index b9f4481be32..56d9a15aaad 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0bmykjhd3gs1737fl3zn5gg6f3vlncak2xqz89zv5018znz1xy90";
+    sha256 = "sha256-IPkevv0ogLJ/Qh93MRWzdA9n3iv2D+rOOEG/0aCcvi4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
index 37f64021c72..8012b14b138 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0q3pysdp85b3c7g3b59y3c69g4nw6bvbf518lnri4lxrnsvpizpf";
+    sha256 = "sha256-7v54t7a5UxKzpSgUt/Yy3JKXDBs+lTXeYWMVdJv2d2A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
index ec57a7260f6..a44e923d356 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "HugLifeTiZ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l70f6mzkscsj4wr43wp5c0l2qnf85vj24cv02bjrh3bzz6wkak8";
+    sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
   };
 
   nativeBuildInputs = [ pkg-config vala_0_46 wafHook python3 ];
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
index 4ee50a07a34..dc39001b808 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-netload-plugin";
-  version = "1.3.2";
-  rev-prefix = "version-";
+  version = "1.4.0";
+  rev-prefix = "xfce4-netload-plugin-";
   odd-unstable = false;
-  sha256 = "1py1l4z5ah4nlq8l2912k47ffsa5z7p1gbvlk7nw6b9r1x4ykdfl";
+  sha256 = "sha256-HasaMymMCPidYkaAUK4gvD+Ka7NJdFOTeq43gJ1G3jo=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
index 79519b85876..6e84c83eafc 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
+    sha256 = "sha256-E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index 10850974bb7..ab398372161 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -18,7 +18,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-pulseaudio-plugin";
   version = "0.4.3";
-  sha256 = "1rfw2w8gl95iawiy57qlvz958dqjc8bmxnc3dma4rqzm6g46jkgq";
+  sha256 = "sha256-+E1pyDP140xUbYPZXhdiEjdU0t8Un+IjV7Ek+hAX3OU=";
 
   nativeBuildInputs = [
     automakeAddFlags
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index dbefda4e5ee..2e275f2b35d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0v44qwrwb95jrlsni1gdlc0zhymlm62w42zs3jbr5mcdc7j4mil3";
+    sha256 = "sha256-g8ZK5GGN1ZKXHPoLwoWptHr4AaPthWg1zbKkxTPHhGw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
index 3c35297897b..092985f5acd 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0lknh5l30qs5c69wwjcblbyhczvdbxs59fqkb8mpqbfm05w01lan";
+    sha256 = "sha256-VtEAeAHVLXwrWhO7VHRfbX8G/aKLSc6TYUVjMGiBdlI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
index 3731d3937bd..a31824ab771 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1qr4m3n2l3rvsizsr3h7fyfajszfalqm7rhvjx2yjj8r3f8x4ljb";
+    sha256 = "sha256-S1LSkRsZSelFlxvmUzFV7mupnHcHjqx/1DsPKuyoJOM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
index 209e25bc9e3..838dba46c88 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -12,7 +12,7 @@ mkXfceDerivation {
   pname = "xfce4-verve-plugin";
   version = "2.0.1";
   rev-prefix = "";
-  sha256 = "YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M=";
+  sha256 = "sha256-YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M=";
 
   buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
index 5992bf343ed..d300329d287 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1z2k24d599mxf5gqa35i3xmc3gk2yvqs80hxxpyw06yma6ljw973";
+    sha256 = "sha256-4yQuqVHVG8D97R0CpPH2Yr7Bah+xDIVfcb2mVBoRU/w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index 123376b0f2b..b9d6f5b23eb 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "2.5.3";
   rev-prefix = "v";
   odd-unstable = false;
-  sha256 = "15kcph35pji3l1y81snrmpqzhhpdc9h4nk6cjsjyla51a1s2y3hz";
+  sha256 = "sha256-Hw4vdFChKOqllsxMS2Bi7UL48a3Z6oB8oCPKWwa8bJY=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
index 281003db92a..bcd43d328e3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "invidian";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l066a174v2c7ly125v9x1fgbg5bnpwdwnjh69v9kp4plp791q4n";
+    sha256 = "sha256-luCQzqWX3Jl2MlBa3vi1q7z1XOhpFxE8PUxscoIyBlA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index 35bc5ea8284..f24a38c82a3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
@@ -16,7 +16,7 @@ mkXfceDerivation {
   pname = "xfce4-xkb-plugin";
   version = "0.8.2";
   rev-prefix = "";
-  sha256 = "xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
+  sha256 = "sha256-xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
 
   buildInputs = [
     garcon
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index c46b5a0fd1b..53d18b4d9b3 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -13,7 +13,7 @@ mkXfceDerivation {
   pname  = "thunar-archive-plugin";
   version = "0.4.0";
 
-  sha256 = "1793zicm00fail4iknliwy2b668j239ndxhc9hy6jarvdyp08h38";
+  sha256 = "sha256-aEAErm87K2k8TAz2ZtMQEhmzhOeR2hkJjcoBUFn8I50=";
 
   nativeBuildInputs = [
     intltool
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index d43c56c7288..3e8004d3d53 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "Jeinzi";
     repo = "thunar-dropbox";
     rev = version;
-    sha256 = "1fshjvh542ffa8npfxv3cassgn6jclb2ix9ir997y4k0abzp1fxb";
+    sha256 = "sha256-q7tw/1JgEn9SyjH1KBZl0tintWJjd3ctUs4JUuCWULs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix
index 7bce45c455f..5c88be00ba8 100644
--- a/pkgs/development/compilers/gleam/default.nix
+++ b/pkgs/development/compilers/gleam/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gleam";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vBxVGIgg2BpVvEYjmX99YSf1zy9aWOHr6ftaYxJWkzY=";
+    sha256 = "sha256-QcJudP4zhtY1CxV3XLkiC06hrKOqlLdb+X6lHvqc7ZA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++
     lib.optionals stdenv.isDarwin [ Security libiconv ];
 
-  cargoSha256 = "sha256-2zHc7xk5MuEUO9YGifSWbgRTi51ZUk84QLro94LsBtQ=";
+  cargoSha256 = "sha256-een2aI6gDVx450mQcwF1uRG/tn9FzahTMWpPdvUBumE=";
 
   meta = with lib; {
     description = "A statically typed language for the Erlang VM";
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 0fb58bfeda4..a2021c836fe 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -37,8 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://kotlinlang.org/";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers;
-      [ ];
+    maintainers = with lib.maintainers; [ SubhrajyotiSen ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix
index c3bd33ce4bf..5ee1df77418 100644
--- a/pkgs/development/coq-modules/VST/default.nix
+++ b/pkgs/development/coq-modules/VST/default.nix
@@ -8,9 +8,9 @@ with lib; mkCoqDerivation {
   repo = "VST";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.12" "8.13"; out = "2.7.1"; }
+    { case = range "8.12" "8.13"; out = "2.8"; }
   ] null;
-  release."2.7.1".sha256 = "1674j7bkvihiv19vizm99dp6gj3lryb00zx6a87jz214f3ydcvnj";
+  release."2.8".sha256 = "sha256-cyK88uzorRfjapNQ6XgQEmlbWnDsiyLve5po1VG52q0=";
   releaseRev = v: "v${v}";
   propagatedBuildInputs = [ compcert ];
 
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 978cea5b09e..3b94a8087d3 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -15,7 +15,8 @@ let compcert = mkCoqDerivation rec {
   releaseRev = v: "v${v}";
 
   defaultVersion =  with versions; switch coq.version [
-      { case = range "8.8" "8.13"; out = "3.8"; }
+      { case = range "8.8" "8.11"; out = "3.8"; }
+      { case = range "8.12" "8.13"; out = "3.9"; }
     ] null;
 
   release = {
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
new file mode 100644
index 00000000000..8234891046d
--- /dev/null
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, cmake, jsoncpp, libuuid, zlib, openssl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "drogon";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "an-tao";
+    repo = "drogon";
+    rev = "v${version}";
+    sha256 = "0ncdlsi3zhmpdwh83d52npb1b2q982y858yl88zl2nfq4zhcm3wa";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    # examples are used in the test during installCheckPhase, otherwise they are unnecessary
+    "-DBUILD_EXAMPLES=${if doInstallCheck then "ON" else "OFF"}"
+  ];
+
+  propagatedBuildInputs = [
+    jsoncpp
+    libuuid
+    zlib
+    openssl
+  ];
+
+  patches = [
+    # this part of the test fails because it attempts to configure a CMake project that uses find_package on itself
+    # the rest of the test runs fine because it uses executables that are built in buildPhase when BUILD_EXAMPLES is enabled
+    ./no_cmake_test.patch
+  ];
+
+  installCheckPhase = ''
+    cd ..
+    patchShebangs test.sh
+    ./test.sh
+  '';
+
+  doInstallCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/an-tao/drogon";
+    description = "C++14/17 based HTTP web application framework";
+    license = licenses.mit;
+    maintainers = [ maintainers.urlordjames ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/drogon/no_cmake_test.patch b/pkgs/development/libraries/drogon/no_cmake_test.patch
new file mode 100644
index 00000000000..8d38fbf44b7
--- /dev/null
+++ b/pkgs/development/libraries/drogon/no_cmake_test.patch
@@ -0,0 +1,42 @@
+diff --git a/test.sh b/test.sh
+index e5da08e..ba620cc 100755
+--- a/test.sh
++++ b/test.sh
+@@ -157,37 +157,6 @@ cd ../views
+ 
+ echo "Hello, world!" >>hello.csp
+ 
+-cd ../build
+-if [ $os = "windows" ]; then
+-  conan install $src_dir -s compiler="Visual Studio" -s compiler.version=16 -sbuild_type=Debug -g cmake_paths
+-  cmake_gen="$cmake_gen -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake -DCMAKE_INSTALL_PREFIX=$src_dir/install"
+-fi
+-cmake .. $cmake_gen
+-
+-if [ $? -ne 0 ]; then
+-    echo "Error in testing"
+-    exit -1
+-fi
+-
+-cmake --build . -- $make_flags
+-
+-if [ $? -ne 0 ]; then
+-    echo "Error in testing"
+-    exit -1
+-fi
+-
+-if [ $os = "linux" ]; then
+-  if [ ! -f "drogon_test" ]; then
+-      echo "Failed to build drogon_test"
+-      exit -1
+-  fi
+-else
+-  if [ ! -f "Debug\drogon_test.exe" ]; then
+-      echo "Failed to build drogon_test"
+-      exit -1
+-  fi
+-fi
+-
+ cd ../../
+ rm -rf drogon_test
+ 
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 9d29afd6927..2a394f8279b 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , zlib
 , expat
 , cmake
@@ -15,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.3";
+  version = "0.27.4";
 
   outputs = [ "out" "dev" "doc" "man" ];
 
@@ -23,30 +22,9 @@ stdenv.mkDerivation rec {
     owner = "exiv2";
     repo  = "exiv2";
     rev = "v${version}";
-    sha256 = "0d294yhcdw8ziybyd4rp5hzwknzik2sm0cz60ff7fljacv75bjpy";
+    sha256 = "0m1x79q6i5fw3gr9k0dw0bbl7ym27g9vbmxiamks6yw028xqwc5a";
   };
 
-  patches = [
-    # Fix aarch64 build https://github.com/Exiv2/exiv2/pull/1271
-    (fetchpatch {
-      name = "cmake-fix-aarch64.patch";
-      url = "https://github.com/Exiv2/exiv2/commit/bbe0b70840cf28b7dd8c0b7e9bb1b741aeda2efd.patch";
-      sha256 = "13zw1mn0ag0jrz73hqjhdsh1img7jvj5yddip2k2sb5phy04rzfx";
-    })
-
-    # Use correct paths with multiple outputs
-    # https://github.com/Exiv2/exiv2/pull/1275
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/48f2c9dbbacc0ef84c8ebf4cb1a603327f0b8750.patch";
-      sha256 = "vjB3+Ld4c/2LT7nq6uatYwfHTh+HeU5QFPFXuNLpIPA=";
-    })
-    # https://github.com/Exiv2/exiv2/pull/1294
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/306c8a6fd4ddd70e76043ab255734720829a57e8.patch";
-      sha256 = "0D/omxYxBPGUu3uSErlf48dc6Ukwc2cEN9/J3e7a9eU=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     doxygen
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index a6fb316d659..9692ac53151 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -6,17 +6,13 @@ assert x11Support -> libX11 != null && cairo != null;
 
 with lib;
 
-let
-  version = "2.4.1";
-  versmm = versions.major version + "." + versions.minor version;
-  name = "hwloc-${version}";
-
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "hwloc";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
-    sha256 = "sha256-OSQh5p8mEgyKuV0VH+mJ8rS2nas8dzV0HE4KbX3l3mM=";
+    url = "https://www.open-mpi.org/software/hwloc/v${versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
+    sha256 = "1j2j9wn39a8v91r23xncm1rzls6rjkgkvdvqghbdsnq8ps491kx9";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libbencodetools/default.nix b/pkgs/development/libraries/libbencodetools/default.nix
new file mode 100644
index 00000000000..b8150a90f68
--- /dev/null
+++ b/pkgs/development/libraries/libbencodetools/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitLab
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libbencodetools";
+  version = "unstable-2021-04-15";
+
+  src = fetchFromGitLab {
+    owner = "heikkiorsila";
+    repo = "bencodetools";
+    rev = "1ab11f6509a348975e8aec829d7abbf2f8e9b7d1";
+    sha256 = "1i2dgvxxwj844yn45hnfx3785ljbvbkri0nv0jx51z4i08w7cz0h";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  configureFlags = [
+    "--without-python"
+  ];
+
+  meta = with lib; {
+    description = "Collection of tools for manipulating bencoded data";
+    homepage = "https://gitlab.com/heikkiorsila/bencodetools";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 9695b221cb9..ef13fdc9de1 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv
 , fetchurl
 , pkg-config
-, gobject-introspection
 , glib
 , python3
 , systemd
 , libgudev
+, withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
-    "--enable-introspection"
+    (lib.enableFeature withIntrospection "introspection")
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index feb9c7e6514..a1d99117515 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -1,24 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python2, gnused }:
+{ lib, stdenv, fetchFromGitHub, postgresql, python3, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "6.4.5";
+  version = "7.5.2";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "0djmjr2b5x5nd2a4idv5j8s6w0kdmvil910iv1kyc7x94dirbrni";
+    sha256 = "15ifd28v6xbbx931icydy8xmkd8030b20xzqjja6vwwvzss2w9fa";
   };
 
-  nativeBuildInputs = [ gnused python2 ];
-  buildInputs = [ postgresql doxygen xmlto ];
+  nativeBuildInputs = [ gnused python3 ];
+  buildInputs = [ postgresql ];
 
   preConfigure = ''
-    patchShebangs .
+    patchShebangs ./tools/splitconfig
   '';
 
-  configureFlags = [ "--enable-shared" ];
+  configureFlags = [ "--enable-shared --disable-documentation" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/pkgs/development/libraries/science/math/libtorch/bin.nix b/pkgs/development/libraries/science/math/libtorch/bin.nix
index 87b5835aa9e..efbd071ecd7 100644
--- a/pkgs/development/libraries/science/math/libtorch/bin.nix
+++ b/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -18,7 +18,7 @@ let
   # this derivation. However, we should ensure on version bumps
   # that the CUDA toolkit for `passthru.tests` is still
   # up-to-date.
-  version = "1.8.1";
+  version = "1.9.0";
   device = if cudaSupport then "cuda" else "cpu";
   srcs = import ./binary-hashes.nix version;
   unavailable = throw "libtorch is not available for this platform";
diff --git a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
index ec4522a7559..6ded62fb87c 100644
--- a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
+++ b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
@@ -1,14 +1,14 @@
 version: {
   x86_64-darwin-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-macos-${version}.zip";
-    hash = "sha256-FYgnd5zlycjCYnP5bZcjpMdGYXrRERwhFFBYo/SJgzs=";
+    hash = "sha256-TOJ+iQpqazta46y4IzIbfEGMjz/fz+pRDV8fKqriB6Q=";
   };
   x86_64-linux-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcpu.zip";
-    hash = "sha256-xneCcVrY25Whgbs/kPbwdS1Lc0e6RxsDRpA5lHTZigc=";
+    hash = "sha256-gZMNLCzW3j+eplBqWo6lVvuHS5iRqtMD8NL3MoszsVg=";
   };
   x86_64-linux-cuda = {
     url = "https://download.pytorch.org/libtorch/cu111/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcu111.zip";
-    hash = "sha256-VW+TW00nD49GBztCyxHE4dTyy81aN/kfYE3hKQOIm50=";
+    hash = "sha256-dRu4F8k2SAbtghwrPJNyX0u3tsODCbXfi9EqUdf4xYc=";
   };
 }
diff --git a/pkgs/development/libraries/science/math/tensorflow-lite/default.nix b/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
index f407303d987..cf2346bad27 100644
--- a/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
+++ b/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
@@ -83,6 +83,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/tensorflow/tensorflow/commit/f3c4f4733692150fd6174f2cd16438cfaba2e5ab.patch";
       sha256 = "0zx4hbz679kn79f30159rl1mq74dg45cvaawii0cyv48z472yy4k";
     })
+    # TODO: remove on the next version bump
+    (fetchpatch {
+      name = "cxxstandard-var.patch";
+      url = "https://github.com/tensorflow/tensorflow/commit/9b128ae4200e10b4752f903492d1e7d11957ed5c.patch";
+      sha256 = "1q0izdwdji5fbyqll6k4dmkzfykyvvz5cvc6hysdj285nkn2wy6h";
+    })
   ];
 
   buildInputs = [ zlib flatbuffers ];
@@ -140,7 +146,14 @@ stdenv.mkDerivation rec {
       # tensorflow lite expects to compile abseil into `libtensorflow-lite.a`
       ln -s ${abseil-cpp.src} "$prefix/absl"
 
-      buildFlagsArray+=(INCLUDES="-I $PWD ${includes}" TARGET_TOOLCHAIN_PREFIX="" -j$NIX_BUILD_CORES all)
+      # set CXXSTANDARD=c++17 here because abseil-cpp in nixpkgs is set as
+      # such and would be used in dependents like libedgetpu
+      buildFlagsArray+=(
+        INCLUDES="-I $PWD ${includes}"
+        CXXSTANDARD="-std=c++17"
+        TARGET_TOOLCHAIN_PREFIX=""
+        -j$NIX_BUILD_CORES
+        all)
     '';
 
   installPhase = ''
diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix
index 7de24c13462..52a92d3a8d4 100644
--- a/pkgs/development/ocaml-modules/bz2/default.nix
+++ b/pkgs/development/ocaml-modules/bz2/default.nix
@@ -24,6 +24,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ocaml
     findlib
+  ];
+
+  propagatedBuildInputs = [
     bzip2
   ];
 
diff --git a/pkgs/development/ocaml-modules/tls/async.nix b/pkgs/development/ocaml-modules/tls/async.nix
new file mode 100644
index 00000000000..ceac7a7c074
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tls/async.nix
@@ -0,0 +1,21 @@
+{ lib, buildDunePackage, tls, async, cstruct-async, core, cstruct, mirage-crypto-rng-async }:
+
+buildDunePackage rec {
+  pname = "tls-async";
+
+  inherit (tls) src meta version;
+
+  minimumOCamlVersion = "4.08";
+  useDune2 = true;
+
+  doCheck = true;
+
+  propagatedBuildInputs = [
+    async
+    core
+    cstruct
+    cstruct-async
+    mirage-crypto-rng-async
+    tls
+  ];
+}
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index dadeb5a98ea..5a5479c9fe8 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -1,28 +1,47 @@
-{ lib, fetchurl, buildDunePackage, ppx_sexp_conv, ppx_cstruct, cstruct
-, cstruct-sexp, sexplib, mirage-crypto, mirage-crypto-pk, mirage-crypto-rng
-, x509, domain-name, fmt, cstruct-unix, ounit2, ocaml_lwt, ptime, rresult
-, mirage-crypto-ec, hkdf, logs, alcotest }:
+{ lib, fetchurl, buildDunePackage
+, cstruct, cstruct-sexp, domain-name, fmt, ppx_cstruct, ppx_sexp_conv, logs, hkdf, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, mirage-crypto-rng, ocaml_lwt, ptime, rresult, sexplib, x509
+, alcotest, cstruct-unix, ounit2, randomconv
+}:
 
 buildDunePackage rec {
-  minimumOCamlVersion = "4.08";
-
-  version = "0.13.1";
   pname = "tls";
+  version = "0.13.2";
 
   src = fetchurl {
     url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-v${version}.tbz";
-    sha256 = "ca95fa59a82f7d38b0b495fc0cd1ff54e7728492a292895d0067c1ba9de81b7b";
+    sha256 = "sha256-IE6Fuvem8A3lZ/M8GLNYNwCG+v7BbPQ4QdYS+fKT50c=";
   };
 
+  minimumOCamlVersion = "4.08";
   useDune2 = true;
 
-  doCheck = true;
-  checkInputs = [ cstruct-unix ounit2 alcotest ];
+  propagatedBuildInputs = [
+    cstruct
+    cstruct-sexp
+    domain-name
+    fmt
+    ppx_cstruct
+    ppx_sexp_conv
+    logs
+    hkdf
+    mirage-crypto
+    mirage-crypto-ec
+    mirage-crypto-pk
+    mirage-crypto-rng
+    ocaml_lwt
+    ptime
+    rresult
+    sexplib
+    x509
+  ];
 
-  propagatedBuildInputs = [ ppx_sexp_conv ppx_cstruct cstruct cstruct-sexp
-                            sexplib mirage-crypto mirage-crypto-pk mirage-crypto-rng
-                            x509 domain-name fmt ocaml_lwt ptime mirage-crypto-ec
-                            hkdf logs rresult ];
+  doCheck = true;
+  checkInputs = [
+    alcotest
+    cstruct-unix
+    ounit2
+    randomconv
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/mirleft/ocaml-tls";
diff --git a/pkgs/development/ocaml-modules/tls/mirage.nix b/pkgs/development/ocaml-modules/tls/mirage.nix
index 18d0f08357d..a0428536b81 100644
--- a/pkgs/development/ocaml-modules/tls/mirage.nix
+++ b/pkgs/development/ocaml-modules/tls/mirage.nix
@@ -1,25 +1,23 @@
 { buildDunePackage, tls
-, x509, lwt, fmt, mirage-flow, mirage-kv, mirage-clock, ptime
-, mirage-crypto, mirage-crypto-pk, mirage-crypto-ec
+, fmt, lwt, mirage-clock, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, mirage-flow, mirage-kv, ptime, x509
 }:
 
 buildDunePackage {
   pname = "tls-mirage";
-
-  inherit (tls) version src useDune2 minimumOCamlVersion;
+  inherit (tls) src version minimumOCamlVersion useDune2;
 
   propagatedBuildInputs = [
-    tls
-    x509
-    lwt
     fmt
-    mirage-flow
-    mirage-kv
+    lwt
     mirage-clock
-    ptime
     mirage-crypto
-    mirage-crypto-pk
     mirage-crypto-ec
+    mirage-crypto-pk
+    mirage-flow
+    mirage-kv
+    ptime
+    tls
+    x509
   ];
 
   meta = tls.meta // {
diff --git a/pkgs/development/python-modules/calmjs-parse/default.nix b/pkgs/development/python-modules/calmjs-parse/default.nix
new file mode 100644
index 00000000000..33cf052a442
--- /dev/null
+++ b/pkgs/development/python-modules/calmjs-parse/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, ply
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "calmjs-parse";
+  version = "1.2.5";
+
+  src = fetchFromGitHub {
+    owner = "calmjs";
+    repo = "calmjs.parse";
+    rev = version;
+    sha256 = "0ypfbas33k1706p6w1bf9gnrv38z8fa4qci1iaks80dp58g8sv4r";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+    ply
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    ${python.interpreter} -m unittest calmjs.parse.tests.make_suite
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "calmjs.parse"
+    "calmjs.parse.asttypes"
+    "calmjs.parse.parsers"
+    "calmjs.parse.rules"
+    "calmjs.parse.sourcemap"
+    "calmjs.parse.unparsers.es5"
+    "calmjs.parse.walkers"
+  ];
+
+  meta = with lib; {
+    description = "Various parsers for ECMA standards";
+    homepage = "https://github.com/calmjs/calmjs.parse";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/doorbirdpy/default.nix b/pkgs/development/python-modules/doorbirdpy/default.nix
new file mode 100644
index 00000000000..1290aaf0575
--- /dev/null
+++ b/pkgs/development/python-modules/doorbirdpy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "doorbirdpy";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    pname = "DoorBirdPy";
+    inherit version;
+    sha256 = "ed0e94953cdf96111c7f73c5fcf358f65dc0ff5e47f63fc057bf18ca7512e606";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # no tests on PyPI, no tags on GitLab
+  doCheck = false;
+
+  pythonImportsCheck = [ "doorbirdpy" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the DoorBird LAN API";
+    homepage = "https://gitlab.com/klikini/doorbirdpy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/eebrightbox/default.nix b/pkgs/development/python-modules/eebrightbox/default.nix
new file mode 100644
index 00000000000..d8050b9bf5e
--- /dev/null
+++ b/pkgs/development/python-modules/eebrightbox/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pbr
+, calmjs-parse
+, certifi
+, chardet
+, idna
+, ply
+, requests
+, urllib3
+, httpretty
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "eebrightbox";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "krygal";
+    repo = "eebrightbox";
+    rev = version;
+    sha256 = "1kms240g01871qbvyc5rzf86yxsrlnfvp323jh4k35fpf45z44rr";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "==" ">="
+  '';
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  PBR_VERSION = version;
+
+  propagatedBuildInputs = [
+    calmjs-parse
+    certifi
+    chardet
+    idna
+    ply
+    requests
+    urllib3
+  ];
+
+  checkInputs = [
+    httpretty
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Connector for EE BrightBox routers";
+    homepage = "https://github.com/krygal/eebrightbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/elgato/default.nix b/pkgs/development/python-modules/elgato/default.nix
new file mode 100644
index 00000000000..6ee0cd01912
--- /dev/null
+++ b/pkgs/development/python-modules/elgato/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, poetry-core
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "elgato";
+  version = "2.1.1";
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "frenck";
+    repo = "python-elgato";
+    rev = "v${version}";
+    sha256 = "19z568jjyww7vi8s44anrb66qjz5l22nz4jqcz49ybhf22warmff";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Upstream doesn't set a version for the pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "0.0.0" "${version}" \
+      --replace "--cov" ""
+  '';
+
+  pythonImportsCheck = [ "elgato" ];
+
+  meta = with lib; {
+    description = "Python client for Elgato Key Lights";
+    homepage = "https://github.com/frenck/python-elgato";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/gurobipy/linux.nix b/pkgs/development/python-modules/gurobipy/linux.nix
index d572b10fd62..ebcdc0e73f2 100644
--- a/pkgs/development/python-modules/gurobipy/linux.nix
+++ b/pkgs/development/python-modules/gurobipy/linux.nix
@@ -1,21 +1,28 @@
-{ fetchurl, python }:
-assert python.pkgs.isPy27;
+{ lib, buildPythonPackage, python, gurobi }:
 
-python.pkgs.buildPythonPackage
-  { pname = "gurobipy";
-    version = "7.5.2";
-    src = fetchurl
-      { url = "http://packages.gurobi.com/7.5/gurobi7.5.2_linux64.tar.gz";
-        sha256 = "13i1dl22lnmg7z9mb48zl3hy1qnpwdpr0zl2aizda0qnb7my5rnj";
-      };
-    setSourceRoot = "sourceRoot=$(echo gurobi*/*64)";
-    patches = [ ./no-clever-setup.patch ];
-    postInstall = "mv lib/libaes*.so* lib/libgurobi*.so* $out/lib";
-    postFixup =
-      ''
-        patchelf --set-rpath $out/lib \
-          $out/lib/python2.7/site-packages/gurobipy/gurobipy.so
-        patchelf --add-needed libaes75.so \
-          $out/lib/python2.7/site-packages/gurobipy/gurobipy.so
-      '';
-  }
+buildPythonPackage {
+  pname = "gurobipy";
+  version = "9.1.2";
+
+  src = gurobi.src;
+
+  setSourceRoot = "sourceRoot=$(echo gurobi*/*64)";
+
+  patches = [ ./no-clever-setup.patch ];
+
+  postInstall = ''
+    mv lib/libgurobi*.so* $out/lib
+  '';
+
+  postFixup = ''
+    patchelf --set-rpath $out/lib \
+      $out/lib/${python.libPrefix}/site-packages/gurobipy/gurobipy.so
+  '';
+
+  meta = with lib; {
+    description = "The Gurobi Python interface";
+    homepage = "https://www.gurobi.com";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch b/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
index c71ac7d6863..bcb43a4707b 100644
--- a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
+++ b/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
@@ -1,7 +1,7 @@
 diff -Naur a/setup.py b/setup.py
---- a/setup.py	2017-12-22 10:52:43.730264611 -0500
-+++ b/setup.py	2017-12-22 10:53:27.660104199 -0500
-@@ -15,30 +15,6 @@
+--- a/setup.py	2021-04-24 12:53:18.300255006 -0500
++++ b/setup.py	2021-04-24 12:47:51.619052574 -0500
+@@ -15,29 +15,6 @@
  from distutils.command.install import install
  import os,sys,shutil
  
@@ -13,7 +13,6 @@ diff -Naur a/setup.py b/setup.py
 -    def finalize_options(self):
 -        self.cwd = os.path.dirname(os.path.realpath(__file__))
 -    def run(self):
--        assert os.getcwd() == self.cwd, 'Must be run from setup.py directory: %s' % self.cwd
 -        build_dir = os.path.join(os.getcwd(), "build")
 -        if os.path.exists(build_dir):
 -            print('removing %s' % build_dir)
@@ -32,24 +31,11 @@ diff -Naur a/setup.py b/setup.py
  License = """
      This software is covered by the Gurobi End User License Agreement.
      By completing the Gurobi installation process and using the software,
-@@ -79,20 +55,4 @@
+@@ -78,7 +55,5 @@
        packages = ['gurobipy'],
        package_dir={'gurobipy' : srcpath },
        package_data = {'gurobipy' : [srcfile] },
 -      cmdclass={'install' : GurobiInstall, 
 -                'clean'   : GurobiClean }
        )
--
--if os.name == 'posix' and sys.platform == 'darwin': # update Mac paths
--  verstr = sys.version[:3]
--  default = '/Library/Frameworks/Python.framework/Versions/%s/Python' % verstr
--  default = '/System'+default if verstr == '2.7' else default
--  modified = sys.prefix + '/Python'
--  if default != modified:
--    import subprocess
--    from distutils.sysconfig import get_python_lib
--    sitelib = get_python_lib() + '/gurobipy/gurobipy.so'
--    if not os.path.isfile(modified): # Anaconda
--      libver = verstr if verstr == '2.7' else verstr+'m'
--      modified = sys.prefix + '/lib/libpython%s.dylib' % libver # For Anaconda
--    subprocess.call(('install_name_tool', '-change', default, modified, sitelib))
+ 
diff --git a/pkgs/development/python-modules/pydaikin/default.nix b/pkgs/development/python-modules/pydaikin/default.nix
index fbb205bb9f7..9b2eda85abe 100644
--- a/pkgs/development/python-modules/pydaikin/default.nix
+++ b/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pydaikin";
-  version = "2.4.2";
+  version = "2.4.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromBitbucket {
     owner = "mustang51";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13cslszjhd1x7j0ja0n0wpy62hb2sdmkrmjl3qhwqfggps2w2wy1";
+    sha256 = "0i013ma2fs6an3izak6zbs9lbr4l7b5x54d0xagw6gqf5n8dsclq";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  # while they have tests, they do not run them in their CI and they fail as of 2.4.2
+  # while they have tests, they do not run them in their CI and they fail as of 2.4.3
   # AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/pytorch/bin.nix b/pkgs/development/python-modules/pytorch/bin.nix
index 41af9502c0c..288af6f7efc 100644
--- a/pkgs/development/python-modules/pytorch/bin.nix
+++ b/pkgs/development/python-modules/pytorch/bin.nix
@@ -18,7 +18,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "1.8.1";
+  version = "1.9.0";
 in buildPythonPackage {
   inherit version;
 
diff --git a/pkgs/development/python-modules/pytorch/binary-hashes.nix b/pkgs/development/python-modules/pytorch/binary-hashes.nix
index 4855d135710..d6fbde19f0f 100644
--- a/pkgs/development/python-modules/pytorch/binary-hashes.nix
+++ b/pkgs/development/python-modules/pytorch/binary-hashes.nix
@@ -2,16 +2,16 @@ version: {
   x86_64-linux-37 = {
     name = "torch-${version}-cp37-cp37m-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp37-cp37m-linux_x86_64.whl";
-    hash = "sha256-lxj066PiB+S88GqQnXKgd9RCiKkMk3mctx/eBieZjAk=";
+    hash = "sha256-GOTC4HpSxd+3V4LNPy3Ig1+IAhm3U+6s/gOkKxD4AJE=";
   };
   x86_64-linux-38 = {
     name = "torch-${version}-cp38-cp38-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp38-cp38-linux_x86_64.whl";
-    hash = "sha256-qvTQMLz4CQPgalzUyYwz6rm+ExyWlIzI+FSMQhxM4eM=";
+    hash = "sha256-29KiXQJWCRRn92+ZddBq3Q+zYIKavUxB5HL3HafO0gc=";
   };
   x86_64-linux-39 = {
     name = "torch-${version}-cp39-cp39-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp39-cp39-linux_x86_64.whl";
-    hash = "sha256-z0pzEiljU+E2x2SuOEAg86dmVY1iFZSDOCfoOAFhLQo=";
+    hash = "sha256-VCLRkELiF8KqlAMLFrP+TaW+m6jupG5+WdQKEQlVli0=";
   };
 }
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 8fae54c8466..35eb79d8b2d 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -117,7 +117,7 @@ let
 in buildPythonPackage rec {
   pname = "pytorch";
   # Don't forget to update pytorch-bin to the same version.
-  version = "1.8.1";
+  version = "1.9.0";
 
   disabled = !isPy3k;
 
@@ -132,7 +132,7 @@ in buildPythonPackage rec {
     repo   = "pytorch";
     rev    = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-HERbvmrfhWwH164GFHU/M0KbhVAuhI5sBZSxCZy8mRk=";
+    sha256 = "sha256-gZmEhV1zzfr/5T2uNfS+8knzyJIxnv2COWVyiAzU9jM=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/pyyaml-env-tag/default.nix b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
new file mode 100644
index 00000000000..f81bbbd7acb
--- /dev/null
+++ b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pyyaml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyyaml-env-tag";
+  version = "0.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    pname = "pyyaml_env_tag";
+    inherit version;
+    sha256 = "1nsva88jsmwn0cb9jnrfiz4dvs9xakkpgfii7g1xwkx1pmsjc2bh";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "yaml_env_tag" ];
+
+  meta = with lib; {
+    description = "Custom YAML tag for referencing environment variables";
+    homepage = "https://github.com/waylan/pyyaml-env-tag";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index 64d834f1bb2..f7774cc7127 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -1,40 +1,55 @@
-{ lib, python3, fetchFromGitHub }:
+{ lib
+, python3
+, fetchFromGitHub
+}:
 
 with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "mkdocs";
-  version = "1.0.4";
+  version = "1.2.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "mkdocs";
-    repo = "mkdocs";
+    owner = pname;
+    repo = pname;
     rev = version;
-    sha256 = "1x35vgiskgz4wwrvi4m1mri5wlphf15p90fr3rxsy5bf19v3s9hs";
+    sha256 = "sha256-JF3Zz1ObxeKsIF0pa8duJxqjLgMvmWsWMApHT43Z+EY=";
   };
 
-  checkInputs = [
-    nose nose-exclude mock
+  propagatedBuildInputs = [
+    click
+    jinja2
+    markdown
+    mergedeep
+    pyyaml
+    pyyaml-env-tag
+    ghp-import
+    importlib-metadata
+    watchdog
+    packaging
   ];
 
-  NOSE_EXCLUDE_TESTS = lib.concatStringsSep ";" [
-    "mkdocs.tests.gh_deploy_tests.TestGitHubDeploy"
-    "mkdocs.tests.config.config_tests.ConfigTests"
-    "mkdocs.tests.config.config_options_tests.DirTest"
+  checkInputs = [
+    Babel
+    mock
+    pytestCheckHook
   ];
 
-  checkPhase = "nosetests mkdocs";
+  postPatch = ''
+    # Remove test due to missing requirement
+    rm mkdocs/tests/theme_tests.py
+  '';
 
-  propagatedBuildInputs = [
-    tornado
-    livereload
-    click
-    pyyaml
-    markdown
-    jinja2
-    backports_tempfile
+  pytestFlagsArray = [ "mkdocs/tests/*.py" ];
+
+  disabledTests = [
+    # Don't start a test server
+    "testing_server"
   ];
 
+  pythonImportsCheck = [ "mkdocs" ];
+
   meta = with lib; {
     description = "Project documentation with Markdown / static website generator";
     longDescription = ''
@@ -42,11 +57,11 @@ buildPythonApplication rec {
       geared towards building project documentation. Documentation source files
       are written in Markdown, and configured with a single YAML configuration file.
 
-      MkDocs can also be used to generate general-purpose Websites.
+      MkDocs can also be used to generate general-purpose websites.
     '';
     homepage = "http://mkdocs.org/";
-    license = lib.licenses.bsd2;
+    license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = [ maintainers.rkoe ];
+    maintainers = with maintainers; [ rkoe ];
   };
 }
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 894168145ae..22a6a59cc1b 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.12.7";
+  version = "0.12.9";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-LHM3dlVfwgA1HJPg/77Er/RWEDVmmQuuhrS5KzTAtV0=";
+    sha256 = "sha256-MqwgdhgWIfYE0wO7fWQuC72tEwCVgL7qUbJlJ3APf4E=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 2019c7cb3e2..f4ff5dd2b94 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.40.1";
+  version = "1.41.0";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-5OtXfDPpdwVMnI5Pttr+XQPgJXI7YexPtBhIDeS1CXk=";
+    sha256 = "sha256-ogH3L2EG0xdGpCaEfMUYnCWyFTGgx/C/O54mMxcJSBA=";
   };
 
-  vendorSha256 = "sha256-8SPUOQ88RkU0dkyNccf+POKitXHlCRaxrIugV91gDZQ=";
+  vendorSha256 = "sha256-gYulktNetcgXk43Ydk4+WEMZMFCrmx6p5VnsFIJdQhk=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index a24ec105014..9264ac27fa2 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.8.0";
+  version = "2.8.1";
 
   subPackages = [ "cmd/gosec" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "securego";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AC3NHW7LYbpZGA+iaM9eXFLothhqZuvRJM1ehBByhpk=";
+    sha256 = "sha256-AlADSEekcUH/pCGggKlkBDiIYMe1zsoe9hh6fVUwQVA=";
   };
 
-  vendorSha256 = "sha256-QfbElEjkYdmzYhQ8TOFIb2jfG2xzbW1UL2eLxROsBfw=";
+  vendorSha256 = "sha256-HBwIZfvkL9HSwkD1sZzBM7IJFAjLbCxyc95vqR5TFAg=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 4abe6b6d17f..61b4a570b81 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.40.0";
+  version = "0.41.0";
 
   src = fetchurl {
-    url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "17n1xdalz38h9p4ylcpkbbqp22b1np5l8y5l3r58kaf9k8p6cfa7";
+    url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
+    sha256 = "10z1010k25i40iv7v339csmbs83hmwjv1004jikckb78wncd12s3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "https://ktlint.github.io/";
     license = licenses.mit;
     platforms = jre_headless.meta.platforms;
-    maintainers = with maintainers; [ tadfisher ];
+    maintainers = with maintainers; [ tadfisher SubhrajyotiSen ];
   };
 }
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 94fca742b6d..909a160c7ee 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , substituteAll
 , binutils
 , asciidoc
@@ -34,6 +35,11 @@ let ccache = stdenv.mkDerivation rec {
       src = ./force-objdump-on-darwin.patch;
       objdump = "${binutils.bintools}/bin/objdump";
     })
+    # Fix clang C++ modules test (remove in next release)
+    (fetchpatch {
+      url = "https://github.com/ccache/ccache/commit/8b0c783ffc77d29a3e3520345b776a5c496fd892.patch";
+      sha256 = "13qllx0qhfrdila6bdij9lk74fhkm3vdj01zgq1ri6ffrv9lqrla";
+    })
   ];
 
   nativeBuildInputs = [ asciidoc cmake perl ];
diff --git a/pkgs/development/tools/misc/terraform-ls/default.nix b/pkgs/development/tools/misc/terraform-ls/default.nix
index dec2cd3a19a..e189c563e86 100644
--- a/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JctiWJ2HeFtrrOwCe1MCzxTkE2855FsgFocaAgK4fMk=";
+    sha256 = "sha256-68Hs9kwv7GTGnYtoJh61ubaggPKbxFwz7qDwYaJ74c8=";
   };
-  vendorSha256 = "sha256-r4/WTzI1unvmjKOSJsaHVkws2/qWLuRrHLlzwckrm2Q=";
+  vendorSha256 = "sha256-NgOpnCe0uGQVDVKYUIULqPTfvfkDtxIUQiCVwiE7nuc=";
 
   preBuild = ''
     buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version} -X main.prerelease=")
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index b26449ba7c7..117ac7ba00a 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ihb6hq1va6nj7d2883m9gdhzrwmcsw7z0fxqkhs9scv4i9x6s9d";
+    sha256 = "1p6k5al8vvafz2w4z27jnyw8w2cp316h70dlx40ir4c3lk511n2j";
   };
 
-  cargoSha256 = "04gm9drb4qh1sdzqqdj3lwb462y22sz24gjr6nw3sd2a0iqhsknf";
+  cargoSha256 = "0ssfny11pv2b4zz7lh28cv603slp54pbcgj18y9k7b6jjajrz67q";
 
   cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
     ++ lib.optionals luauSupport [ "--features" "luau" ];
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index 7fe4a6087f7..263d92dcea6 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -1,34 +1,37 @@
-{lib, stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}:
+{ lib, stdenv, fetchFromSourcehut
+, SDL, SDL_image, libGLU, libGL, openal, libvorbis, freealut }:
 
-stdenv.mkDerivation {
-  name = "blackshades-svn-110";
-  src = fetchsvn {
-    url = "svn://svn.icculus.org/blackshades/trunk";
-    rev = "110";
-    sha256 = "0kbrh1dympk8scjxr6av24qs2bffz44l8qmw2m5gyqf4g3rxf6ra";
-  };
+stdenv.mkDerivation rec {
+  pname = "blackshades";
+  version = "1.1.1";
 
-  NIX_LDFLAGS = "-lSDL_image";
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1gx43hcqahbd21ib8blhzmsrwqfzx4qy7f10ck0mh2zc4bfihz64";
+  };
 
   buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
 
   patchPhase = ''
-    sed -i -e s,Data/,$out/opt/$name/Data/,g \
-      -e s,Data:,$out/opt/$name/Data/,g \
-      Source/*.cpp
+    sed -i -e s,Data/,$out/share/$pname/,g \
+      -e s,Data:,$out/share/$pname/,g \
+      src/*.cpp
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/opt/$name
-    cp objs/blackshades $out/bin
-    cp -R Data IF* Readme $out/opt/$name/
+    mkdir -p $out/bin $out/share/doc/$pname
+    cp build/blackshades $out/bin
+    cp -R Data $out/share/$pname
+    cp README.md $out/share/doc/$pname
   '';
 
   meta = {
-    homepage = "http://icculus.org/blackshades/";
-    description = "Protect the VIP";
-    license = lib.licenses.free;
-    maintainers = with lib.maintainers; [viric];
+    homepage = "https://sr.ht/~cnx/blackshades";
+    description = "A psychic bodyguard FPS";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ McSinyx viric ];
     platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/misc/emulators/commander-x16/emulator.nix b/pkgs/misc/emulators/commanderx16/emulator.nix
index 73442215ff1..73442215ff1 100644
--- a/pkgs/misc/emulators/commander-x16/emulator.nix
+++ b/pkgs/misc/emulators/commanderx16/emulator.nix
diff --git a/pkgs/misc/emulators/commander-x16/rom.nix b/pkgs/misc/emulators/commanderx16/rom.nix
index 5da77ebceef..5da77ebceef 100644
--- a/pkgs/misc/emulators/commander-x16/rom.nix
+++ b/pkgs/misc/emulators/commanderx16/rom.nix
diff --git a/pkgs/misc/emulators/commanderx16/run.nix b/pkgs/misc/emulators/commanderx16/run.nix
new file mode 100644
index 00000000000..cf14252b487
--- /dev/null
+++ b/pkgs/misc/emulators/commanderx16/run.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, runtimeShell
+, symlinkJoin
+, writeTextFile
+}:
+
+{ emulator, rom }:
+
+assert emulator.version == rom.version;
+
+let
+  runScript = writeTextFile {
+    name = "run-x16";
+    text = ''
+      #!${runtimeShell}
+
+      defaultRom="${rom}/share/x16-rom/rom.bin"
+
+      exec "${emulator}/bin/x16emu" -rom $defaultRom "$@"
+    '';
+    executable = true;
+    destination = "/bin/run-x16";
+  };
+in
+symlinkJoin {
+  name = "run-x16-${emulator.version}";
+
+  paths = [
+    emulator
+    rom
+    runScript
+  ];
+}
+# TODO [ AndersonTorres ]:
+
+# 1. Parse the command line in order to allow the user to set an optional
+# rom-file
+# 2. generate runScript based on symlinkJoin (maybe a postBuild?)
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 17b22ce0723..600528a7944 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pam ? null, libX11, libXext, libXinerama
-, libXdmcp, libXt }:
+, libXdmcp, libXt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "xlockmore-5.66";
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
   };
 
   # Optionally, it can use GTK.
-  buildInputs = [ pam libX11 libXext libXinerama libXdmcp libXt ];
+  buildInputs = [ pam libX11 libXext.dev libXinerama libXdmcp libXt ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   # Don't try to install `xlock' setuid. Password authentication works
   # fine via PAM without super user privileges.
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 95a7ef3c606..4a60fcf0c9d 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -186,7 +186,7 @@
     "dnsip" = ps: with ps; [ aiodns ];
     "dominos" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pizzapi
     "doods" = ps: with ps; [ pillow ]; # missing inputs: pydoods
-    "doorbird" = ps: with ps; [ aiohttp-cors ]; # missing inputs: doorbirdpy
+    "doorbird" = ps: with ps; [ aiohttp-cors doorbirdpy ];
     "dovado" = ps: with ps; [ ]; # missing inputs: dovado
     "downloader" = ps: with ps; [ ];
     "dsmr" = ps: with ps; [ dsmr-parser ];
@@ -209,11 +209,11 @@
     "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
     "edimax" = ps: with ps; [ pyedimax ];
     "edl21" = ps: with ps; [ ]; # missing inputs: pysml
-    "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox
+    "ee_brightbox" = ps: with ps; [ eebrightbox ];
     "efergy" = ps: with ps; [ ];
     "egardia" = ps: with ps; [ pythonegardia ];
     "eight_sleep" = ps: with ps; [ pyeight ];
-    "elgato" = ps: with ps; [ ]; # missing inputs: elgato
+    "elgato" = ps: with ps; [ elgato ];
     "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
     "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
     "elv" = ps: with ps; [ ]; # missing inputs: pypca
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 004a65daee9..04a2aed97de 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -134,6 +134,19 @@ let
       });
     })
 
+    # Pinned due to API changes in eebrightbox>=0.0.5
+    (self: super: {
+      eebrightbox = super.eebrightbox.overridePythonAttrs (oldAttrs: rec {
+        version = "0.0.4";
+        src = fetchFromGitHub {
+          owner = "krygal";
+          repo = "eebrightbox";
+          rev = version;
+          sha256 = "0d8mmpwgrd7gymw5263r1v2wjv6dx6w6pq13d62fkfm4h2hya4a4";
+        };
+      });
+    })
+
     # home-assistant-frontend does not exist in python3.pkgs
     (self: super: {
       home-assistant-frontend = self.callPackage ./frontend.nix { };
@@ -344,6 +357,7 @@ in with py.pkgs; buildPythonApplication rec {
     "dialogflow"
     "directv"
     "discovery"
+    "doorbird"
     "dsmr"
     "dte_energy_bridge"
     "duckdns"
@@ -352,7 +366,9 @@ in with py.pkgs; buildPythonApplication rec {
     "eafm"
     "ecobee"
     "econet"
+    "ee_brightbox"
     "efergy"
+    "elgato"
     "emonitor"
     "emulated_hue"
     "enphase_envoy"
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 636a1b6d02a..8164330c556 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -41,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.7.5"; # ensure that jellyfin-web has matching version
+  version = "10.7.6"; # ensure that jellyfin-web has matching version
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin";
     rev = "v${version}";
-    sha256 = "DlbNZpomNki9zrfG0C7He0Xrq79vx4Rn8ixpekvk34E=";
+    sha256 = "3wXB9HrOaLgHJjWpwPWVtcy8xcYBgZoE29hWqf1On2Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/jellyfin/web.nix b/pkgs/servers/jellyfin/web.nix
index 1bd4a305a7a..fe7f577bf47 100644
--- a/pkgs/servers/jellyfin/web.nix
+++ b/pkgs/servers/jellyfin/web.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "jellyfin-web";
-  version = "10.7.5";
+  version = "10.7.6";
   # TODO: on the next major release remove src.postFetch
   # and use the lock file in web-update.sh:
   # https://github.com/jellyfin/jellyfin-web/commit/6efef9680d55a93f4333ef8bfb65a8a650c99a49
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "jellyfin";
     repo = "jellyfin-web";
     rev = "v${version}";
-    sha256 = "5y6hWEDxY5WbOUdjujmuMV3bQVvYU2J9oIANBVN5XOc=";
+    sha256 = "T5a17mAvx7fLla2jQp1dNswijeUbBQB1RA1ZkVpLWqM=";
     postFetch = ''
       mkdir -p $out
       cd $out
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index 2ffd10e3a6a..ddc5b28e5e0 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-cYpGTk0adT3X/elrJW2Wjv4SbPvgeyYmsOHTrft8678=";
+    sha256 = "sha256-xqGesBNN9lZTYx0kTZfFARq1a/dEC+c3Fo0xLxZuZP4=";
   };
 
   vendorSha256 = "sha256-8l+Kb1ADMLwv0Hf/ikok8eUcEEST07rhk8BjHxJI0lc=";
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index 8f4b9bf0875..e5725a78fc5 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.11.2";
+  version = "3.12.6";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
-    repo = "spaceship-prompt";
-    sha256 = "1q7m9mmg82n4fddfz01y95d5n34xnzhrnn1lli0vih39sgmzim9b";
+    repo = pname;
     rev = "v${version}";
+    sha256 = "sha256-tKFah8b62wuw5vaNHddmj31UNd9kKCcQ99p8GlTnR6s=";
   };
 
+  dontBuild = true;
+
   installPhase = ''
-    install -D -m644 LICENSE.md "$out/share/licenses/spaceship-prompt/LICENSE"
-    install -D -m644 README.md "$out/share/doc/spaceship-prompt/README.md"
-    find docs -type f -exec install -D -m644 {} "$out/share/doc/spaceship-prompt/{}" \;
-    find lib -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    find scripts -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    find sections -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    install -D -m644 spaceship.zsh "$out/lib/spaceship-prompt/spaceship.zsh"
+    install -Dm644 LICENSE.md "$out/share/licenses/spaceship-prompt/LICENSE"
+    install -Dm644 README.md "$out/share/doc/spaceship-prompt/README.md"
+    find docs -type f -exec install -Dm644 {} "$out/share/doc/spaceship-prompt/{}" \;
+    find lib -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    find scripts -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    find sections -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    install -Dm644 spaceship.zsh "$out/lib/spaceship-prompt/spaceship.zsh"
     install -d "$out/share/zsh/themes/"
     ln -s "$out/lib/spaceship-prompt/spaceship.zsh" "$out/share/zsh/themes/spaceship.zsh-theme"
     install -d "$out/share/zsh/site-functions/"
@@ -28,8 +30,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Zsh prompt for Astronauts";
     homepage = "https://github.com/denysdovhan/spaceship-prompt/";
+    changelog = "https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v${version}";
     license = licenses.mit;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nyanloutre ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ nyanloutre fortuneteller2k ];
   };
 }
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 62d07486214..53b60bf2ce7 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.32.0";
+  version = "1.32.1";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-SQWGFF43J730XFj32ZU2N8PQMP2yIiSLLfEIAbeJvBg=";
+    sha256 = "sha256-S18SVSyFpIWkzQiRBY7i1siIPRiRR/SHAse3NJzwR3A=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch b/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
new file mode 100644
index 00000000000..36adff53a01
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
@@ -0,0 +1,200 @@
+From 11711398a1ec16f4eaeac8523b77165a560b69cc Mon Sep 17 00:00:00 2001
+From: OPNA2608 <christoph.neidahl@gmail.com>
+Date: Sun, 13 Jun 2021 13:55:53 +0200
+Subject: [PATCH] Look for system-installed Rt libs
+
+---
+ CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------
+ 1 file changed, 102 insertions(+), 57 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f3e53c3..027c1b1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,15 +50,6 @@ message("!! Optional feature summary:")
+ message("!!   RtMidi: ${USE_RTMIDI}")
+ message("!!   RtAudio: ${USE_RTAUDIO}")
+ 
+-if(USE_RTAUDIO)
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    pkg_check_modules(JACK "jack")
+-    message("!!   -- Jack driver: ${JACK_FOUND}")
+-    pkg_check_modules(PULSEAUDIO "libpulse-simple")
+-    message("!!   -- Pulseaudio driver: ${PULSEAUDIO_FOUND}")
+-  endif()
+-endif()
+-
+ if(ENABLE_PLOTS)
+   message("!!   Qwt: ${QWT_LIBRARY}")
+ endif()
+@@ -250,65 +241,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ endif()
+ 
+ if(USE_RTMIDI)
+-  add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
+-  target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtMidi PUBLIC "asound")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
+-    target_link_libraries(RtMidi PUBLIC "winmm")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
+-    find_library(COREMIDI_LIBRARY "CoreMIDI")
+-    target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTMIDI rtmidi)
++    if(RTMIDI_FOUND)
++      message("Using system-installed RtMidi found by pkg-config.")
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LDFLAGS})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++      target_compile_options(OPL3BankEditor PUBLIC ${RTMIDI_CFLAGS})
++    endif()
+   endif()
++
++  if(NOT RTMIDI_FOUND)
++    find_library(RTMIDI_LIBRARY "rtmidi")
++    find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h")
++    message("RtMidi library: ${RTMIDI_LIBRARY}")
++    message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}")
++    if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtMidi.")
++      set(RTMIDI_FOUND TRUE)
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LIBRARY})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    message("Using bundled RtMidi.")
++    add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
++    target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtMidi PUBLIC "asound")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
++      target_link_libraries(RtMidi PUBLIC "winmm")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
++      find_library(COREMIDI_LIBRARY "CoreMIDI")
++      target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++    endif()
++    target_link_libraries(OPL3BankEditor PRIVATE RtMidi)
++  endif()
++
+   target_sources(OPL3BankEditor PRIVATE "src/midi/midi_rtmidi.cpp")
+   target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_MIDI")
+-  target_link_libraries(OPL3BankEditor PRIVATE RtMidi)
+ endif()
+ 
+ if(USE_RTAUDIO)
+-  add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
+-  target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtAudio PUBLIC "asound")
+-    if(JACK_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
+-      target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
+-      link_directories(${JACK_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTAUDIO rtaudio)
++    if(RTAUDIO_FOUND)
++      message("Using system-installed RtAudio found by pkg-config.")
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LDFLAGS})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
++      target_compile_options(OPL3BankEditor PUBLIC ${RTAUDIO_CFLAGS})
++    endif()
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    find_library(RTAUDIO_LIBRARY "rtaudio")
++    find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h")
++    message("RtAudio library: ${RTAUDIO_LIBRARY}")
++    message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}")
++    if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtAudio.")
++      set(RTAUDIO_FOUND TRUE)
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LIBRARY})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
+     endif()
+-    if(PULSEAUDIO_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
+-      target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
+-      link_directories(${PULSEAUDIO_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    message("Using bundled RtAudio.")
++    add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
++    target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtAudio PUBLIC "asound")
++      if(JACK_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
++        target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
++        link_directories(${JACK_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++      endif()
++      if(PULSEAUDIO_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
++        target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
++        link_directories(${PULSEAUDIO_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++      endif()
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
++      target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
++      target_link_libraries(RtAudio PUBLIC "ksguid")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
++      target_include_directories(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include")
++      target_sources(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include/asio.cpp"
++        "src/audio/external/rtaudio/include/asiodrivers.cpp"
++        "src/audio/external/rtaudio/include/asiolist.cpp"
++        "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
++      find_library(COREAUDIO_LIBRARY "CoreAudio")
++      target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
++      find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
++      target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
+     endif()
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
+-    target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
+-    target_link_libraries(RtAudio PUBLIC "ksguid")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
+-    target_include_directories(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include")
+-    target_sources(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include/asio.cpp"
+-      "src/audio/external/rtaudio/include/asiodrivers.cpp"
+-      "src/audio/external/rtaudio/include/asiolist.cpp"
+-      "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
+-    find_library(COREAUDIO_LIBRARY "CoreAudio")
+-    target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
+-    find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
+-    target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
++    target_link_libraries(OPL3BankEditor PRIVATE RtAudio)
+   endif()
++
+   target_sources(OPL3BankEditor PRIVATE "src/audio/ao_rtaudio.cpp")
+   target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_AUDIO_TESTING")
+-  target_link_libraries(OPL3BankEditor PRIVATE RtAudio)
+ endif()
+ 
+ add_executable(measurer_tool
+-- 
+2.29.3
+
diff --git a/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch b/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
new file mode 100644
index 00000000000..f62c3236b33
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
@@ -0,0 +1,200 @@
+From 69c993dacc7dc0cb9d105c3dfa764cd7be5c343e Mon Sep 17 00:00:00 2001
+From: OPNA2608 <christoph.neidahl@gmail.com>
+Date: Sun, 13 Jun 2021 14:21:17 +0200
+Subject: [PATCH] Look for system-installed Rt libs
+
+---
+ CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------
+ 1 file changed, 102 insertions(+), 57 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f428dc4..18ba8c3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,15 +41,6 @@ message("!! Optional feature summary:")
+ message("!!   RtMidi: ${USE_RTMIDI}")
+ message("!!   RtAudio: ${USE_RTAUDIO}")
+ 
+-if(USE_RTAUDIO)
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    pkg_check_modules(JACK "jack")
+-    message("!!   -- Jack driver: ${JACK_FOUND}")
+-    pkg_check_modules(PULSEAUDIO "libpulse-simple")
+-    message("!!   -- Pulseaudio driver: ${PULSEAUDIO_FOUND}")
+-  endif()
+-endif()
+-
+ if(ENABLE_PLOTS)
+   message("!!   Qwt: ${QWT_LIBRARY}")
+ endif()
+@@ -198,65 +189,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ endif()
+ 
+ if(USE_RTMIDI)
+-  add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
+-  target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtMidi PUBLIC "asound")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
+-    target_link_libraries(RtMidi PUBLIC "winmm")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
+-    find_library(COREMIDI_LIBRARY "CoreMIDI")
+-    target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTMIDI rtmidi)
++    if(RTMIDI_FOUND)
++      message("Using system-installed RtMidi found by pkg-config.")
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LDFLAGS})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++      target_compile_options(OPN2BankEditor PUBLIC ${RTMIDI_CFLAGS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    find_library(RTMIDI_LIBRARY "rtmidi")
++    find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h")
++    message("RtMidi library: ${RTMIDI_LIBRARY}")
++    message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}")
++    if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtMidi.")
++      set(RTMIDI_FOUND TRUE)
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LIBRARY})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    message("Using bundled RtMidi.")
++    add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
++    target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtMidi PUBLIC "asound")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
++      target_link_libraries(RtMidi PUBLIC "winmm")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
++      find_library(COREMIDI_LIBRARY "CoreMIDI")
++      target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++    endif()
++    target_link_libraries(OPN2BankEditor PRIVATE RtMidi)
+   endif()
++
+   target_sources(OPN2BankEditor PRIVATE "src/midi/midi_rtmidi.cpp")
+   target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_MIDI")
+-  target_link_libraries(OPN2BankEditor PRIVATE RtMidi)
+ endif()
+ 
+ if(USE_RTAUDIO)
+-  add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
+-  target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtAudio PUBLIC "asound")
+-    if(JACK_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
+-      target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
+-      link_directories(${JACK_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTAUDIO rtaudio)
++    if(RTAUDIO_FOUND)
++      message("Using system-installed RtAudio found by pkg-config.")
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LDFLAGS})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
++      target_compile_options(OPN2BankEditor PUBLIC ${RTAUDIO_CFLAGS})
+     endif()
+-    if(PULSEAUDIO_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
+-      target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
+-      link_directories(${PULSEAUDIO_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    find_library(RTAUDIO_LIBRARY "rtaudio")
++    find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h")
++    message("RtAudio library: ${RTAUDIO_LIBRARY}")
++    message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}")
++    if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtAudio.")
++      set(RTAUDIO_FOUND TRUE)
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LIBRARY})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
+     endif()
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
+-    target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
+-    target_link_libraries(RtAudio PUBLIC "ksguid")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
+-    target_include_directories(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include")
+-    target_sources(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include/asio.cpp"
+-      "src/audio/external/rtaudio/include/asiodrivers.cpp"
+-      "src/audio/external/rtaudio/include/asiolist.cpp"
+-      "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
+-    find_library(COREAUDIO_LIBRARY "CoreAudio")
+-    target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
+-    find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
+-    target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
+   endif()
++
++  if(NOT RTAUDIO_FOUND)
++    message("Using bundled RtAudio.")
++    add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
++    target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtAudio PUBLIC "asound")
++      if(JACK_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
++        target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
++        link_directories(${JACK_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++      endif()
++      if(PULSEAUDIO_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
++        target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
++        link_directories(${PULSEAUDIO_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++      endif()
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
++      target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
++      target_link_libraries(RtAudio PUBLIC "ksguid")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
++      target_include_directories(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include")
++      target_sources(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include/asio.cpp"
++        "src/audio/external/rtaudio/include/asiodrivers.cpp"
++        "src/audio/external/rtaudio/include/asiolist.cpp"
++        "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
++      find_library(COREAUDIO_LIBRARY "CoreAudio")
++      target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
++      find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
++      target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
++    endif()
++    target_link_libraries(OPN2BankEditor PRIVATE RtAudio)
++  endif()
++
+   target_sources(OPN2BankEditor PRIVATE "src/audio/ao_rtaudio.cpp")
+   target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_AUDIO_TESTING")
+-  target_link_libraries(OPN2BankEditor PRIVATE RtAudio)
+ endif()
+ 
+ add_executable(measurer_tool
+-- 
+2.29.3
+
diff --git a/pkgs/tools/audio/opl3bankeditor/common.nix b/pkgs/tools/audio/opl3bankeditor/common.nix
new file mode 100644
index 00000000000..9f6972ce954
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/common.nix
@@ -0,0 +1,69 @@
+{ pname, chip, version, sha256, extraPatches ? [] }:
+
+{ mkDerivation
+, stdenv
+, lib
+, fetchFromGitHub
+, dos2unix
+, cmake
+, pkg-config
+, qttools
+, qtbase
+, qwt
+, rtaudio
+, rtmidi
+}:
+
+let
+  binname = "${chip} Bank Editor";
+  mainProgram = "${lib.strings.toLower chip}_bank_editor";
+in
+mkDerivation rec {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "Wohlstand";
+    repo = pname;
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  prePatch = ''
+    dos2unix CMakeLists.txt
+  '';
+
+  patches = extraPatches;
+
+  nativeBuildInputs = [
+    dos2unix
+    cmake
+    pkg-config
+    qttools
+  ];
+
+  buildInputs = [
+    qtbase
+    qwt
+    rtaudio
+    rtmidi
+  ];
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/{bin,Applications}
+    mv "${binname}.app" $out/Applications/
+
+    install_name_tool -change {,${qwt}/lib/}libqwt.6.dylib "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
+    wrapQtApp "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
+
+    ln -s "$out/Applications/${binname}.app/Contents/MacOS/${binname}" $out/bin/${mainProgram}
+  '';
+
+  meta = with lib; {
+    inherit mainProgram;
+    description = "A small cross-platform editor of the ${chip} FM banks of different formats";
+    homepage = src.meta.homepage;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
+  };
+}
diff --git a/pkgs/tools/audio/opl3bankeditor/default.nix b/pkgs/tools/audio/opl3bankeditor/default.nix
index 13f8dde680d..85762bb69b9 100644
--- a/pkgs/tools/audio/opl3bankeditor/default.nix
+++ b/pkgs/tools/audio/opl3bankeditor/default.nix
@@ -1,27 +1,9 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qttools, alsa-lib }:
-
-mkDerivation rec {
+import ./common.nix rec {
+  pname = "opl3bankeditor";
+  chip = "OPL3";
   version = "1.5.1";
-  pname = "OPL3BankEditor";
-
-  src = fetchFromGitHub {
-    owner = "Wohlstand";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1g59qrkcm4xnyxx0s2x28brqbf2ix6vriyx12pcdvfhhcdi55hxh";
-    fetchSubmodules = true;
-  };
-
-  buildInputs = [
-    alsa-lib qttools
+  sha256 = "08krbxlxgmc7i2r2k6d6wgi0m6k8hh3j60xf21kz4kp023w613sa";
+  extraPatches = [
+    ./0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
   ];
-  nativeBuildInputs = [ cmake ];
-
-  meta = with lib; {
-    description = "A small cross-platform editor of the OPL3 FM banks of different formats";
-    homepage = src.meta.homepage;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
-  };
 }
diff --git a/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix b/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
index 1d10452470e..d9c4bbe1511 100644
--- a/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
+++ b/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
@@ -1,14 +1,9 @@
-{ opl3bankeditor, fetchFromGitHub }:
-
-opl3bankeditor.overrideAttrs (oldAttrs: rec {
+import ./common.nix rec {
+  pname = "opn2bankeditor";
+  chip = "OPN2";
   version = "1.3";
-  pname = "OPN2BankEditor";
-
-  src = fetchFromGitHub {
-    owner = "Wohlstand";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0xsvv0gxqh1lx22f1jm384f7mq1jp57fmpsx1jjaxz435w5hf8s0";
-    fetchSubmodules = true;
-  };
-})
+  sha256 = "0niam6a6y57msbl0xj23g6l7gisv4a670q0k1zqfm34804532a32";
+  extraPatches = [
+    ./0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
+  ];
+}
diff --git a/pkgs/tools/graphics/eplot/default.nix b/pkgs/tools/graphics/eplot/default.nix
index b4dd9cd36d8..2e69bc8a263 100644
--- a/pkgs/tools/graphics/eplot/default.nix
+++ b/pkgs/tools/graphics/eplot/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, gnuplot, ruby }:
 
 stdenv.mkDerivation {
-  name = "eplot-2.07";
+  pname = "eplot";
+  version = "2.09";
 
   # Upstream has been contacted (2015-03) regarding providing versioned
   # download URLs. Initial response was positive, but no action yet.
@@ -20,12 +21,16 @@ stdenv.mkDerivation {
   dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin"
     cp "$src" "$out/bin/eplot"
     cp "$ecSrc" "$out/bin/ec"
     chmod +x "$out/bin/"*
 
     sed -i -e "s|gnuplot -persist|${gnuplot}/bin/gnuplot -persist|" "$out/bin/eplot"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -39,9 +44,9 @@ stdenv.mkDerivation {
       This package also includes the complementary 'ec' tool (say "extract
       column").
     '';
-    homepage = "http://liris.cnrs.fr/christian.wolf/software/eplot/";
+    homepage = "https://perso.liris.cnrs.fr/christian.wolf/software/eplot/";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor shamilton ];
   };
 }
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 46efe896bf2..4d69f237a08 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.0.14";
+  version = "2.0.15";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-nOXp7NdSZaWivrYd6TsmTtS2c8eBvEY7Ba0zZEEEI0A=";
+    sha256 = "sha256-PUcsDyszFT4DzTwvbcCO8FQErvmotmY7gREZ2sgpcw8=";
   };
 
   vendorSha256 = "sha256-7SfqBxCfOYwePK/6SsWS5StuVr0png6WjQXIDuQW0EE=";
diff --git a/pkgs/tools/misc/discocss/default.nix b/pkgs/tools/misc/discocss/default.nix
index 2e0506bf420..f847f615756 100644
--- a/pkgs/tools/misc/discocss/default.nix
+++ b/pkgs/tools/misc/discocss/default.nix
@@ -2,23 +2,24 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "discocss";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "mlvzk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EdkcTVDFQppBeAoyM5hMMIK0d4B87JyVlmCW7zlGfDs=";
+    sha256 = "sha256-afmQCOOZ1MwQkbZZNHYfq2+IRv2eOtYBrGVHzDEbUHw=";
   };
 
   dontBuild = true;
 
   installPhase = ''
-    install -m755 -D ./discocss $out/bin/discocss
+    install -Dm755 ./discocss $out/bin/discocss
   '';
 
   meta = with lib; {
     description = "A tiny Discord css-injector";
+    changelog = "https://github.com/mlvzk/discocss/releases/tag/v${version}";
     homepage = "https://github.com/mlvzk/discocss";
     license = licenses.mpl20;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
index eaddc8790e9..e877304a2d5 100644
--- a/pkgs/tools/misc/fselect/default.nix
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "sha256-6/mcGq6qKYmcBcNndYYJB3rnHr6ZVpEcVjJBz7NEJEw=";
+    sha256 = "sha256-uIqkk0aQVPXUWjOWmMTdM28Ihi+mflPpxnXJLFIQYJw=";
   };
 
-  cargoSha256 = "sha256-W6YmFsTlU3LD3tvhLuA/3k/269gR2RLLOo86BQC5x98=";
+  cargoSha256 = "sha256-5LRCLJbLiocB/VDf9MMxyIsERmOvuSAQEe822Dcu2j8=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 3510be4ed77..1237645ebae 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://dev.yorhel.nl/ncdu";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub zowoq ];
+    maintainers = with maintainers; [ pSub SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 76541e922cf..9f0af308cfb 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.48"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.49"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 339f41ab81e..ce054a6a480 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 4ec1009a615521371dd98576c456f62f63190ad9
-  ref: refs/tags/6.0.48
+  revision: 2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59
+  ref: refs/tags/6.0.49
   specs:
-    metasploit-framework (6.0.48)
+    metasploit-framework (6.0.49)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -125,19 +125,19 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.467.0)
-    aws-sdk-core (3.114.2)
+    aws-partitions (1.469.0)
+    aws-sdk-core (3.114.3)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.242.0)
+    aws-sdk-ec2 (1.244.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.55.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.43.0)
+    aws-sdk-kms (1.44.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-s3 (1.96.1)
@@ -391,7 +391,7 @@ GEM
     warden (1.2.9)
       rack (>= 2.0.9)
     webrick (1.7.0)
-    websocket-driver (0.7.4)
+    websocket-driver (0.7.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     windows_error (0.1.2)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 28ef25223ea..ebc2e52746e 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.48";
+  version = "6.0.49";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-E7vuuQ4vxm+pUi95d5rnz8Rgp0DmV08sgtswfzUaa0o=";
+    sha256 = "sha256-qpUzFA4nowrveI3N6kiiM1a4EQq9Y3m94VRjhHLIvn8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index d94b5de86c3..7f43161b5be 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -114,30 +114,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18j2m4i70zinxvwib53kclyvgl5j474nm230yy15bqsfhmhm5qqc";
+      sha256 = "0xh65jmz3s12kfi7ij0j89d638nzdvq4z6dq9amzgmiw09ycvdbr";
       type = "gem";
     };
-    version = "1.467.0";
+    version = "1.469.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ybqvdmxcw0jgyjy99c5nr0jirs1yyp0lqy95hl0wgvxhvck001";
+      sha256 = "10wk5y4flc04cc42cmcfgr9sj67mz4582d45xmll56mpz4cw5cfc";
       type = "gem";
     };
-    version = "3.114.2";
+    version = "3.114.3";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zbhgfd4x70ikajximd4s4ni6rd9bvylxwqzh84iwmjngf2sa5fi";
+      sha256 = "0xnpxgcmacmqs98swlv3qkg7svpwydb1kqsngqciyg3jddzxrzp6";
       type = "gem";
     };
-    version = "1.242.0";
+    version = "1.244.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -154,10 +154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh";
+      sha256 = "0407yggwsy89fzh387vq3af5azplci5v0a8y97h7r6da4jrv1ksm";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.44.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
@@ -574,12 +574,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "4ec1009a615521371dd98576c456f62f63190ad9";
-      sha256 = "0jkb38spyc6vh8n4ymz682kn1i6gwyd7fy9gaalnziig1swyxfqk";
+      rev = "2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59";
+      sha256 = "0zxyr1r88qslw6ypjqxx188vhmikl94fmkcdg3phm8r71qa375da";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.48";
+    version = "6.0.49";
   };
   metasploit-model = {
     groups = ["default"];
@@ -1426,10 +1426,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l1wmvs0yf8gz64rymijx2pygwch99qdci91q8j193fwrz22bp7x";
+      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
       type = "gem";
     };
-    version = "0.7.4";
+    version = "0.7.5";
   };
   websocket-extensions = {
     groups = ["default"];
diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix
index b260d46f934..b9b49d4e2df 100644
--- a/pkgs/tools/security/rekor/default.nix
+++ b/pkgs/tools/security/rekor/default.nix
@@ -1,21 +1,25 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 let
-  generic = { pname, subPackages, description, postInstall }:
+  generic = { pname, packageToBuild, description }:
     buildGoModule rec {
       inherit pname;
-      version = "0.1.1";
+      version = "0.2.0";
 
       src = fetchFromGitHub {
         owner = "sigstore";
         repo = "rekor";
         rev = "v${version}";
-        sha256 = "1hvkfvc747g5r4h8vb1d8ikqxmlyxsycnlh78agmmjpxlasspmbk";
+        sha256 = "1y6qw55r30jgkcwc6434ly0v9dcfa2lc7z5djn7rjcqrjg3gn7yv";
       };
 
-      vendorSha256 = "0vdir9ia3hv27rkm6jnvhsfc3mxw36xfvwqnfd34rgzmzcfxlrbv";
+      vendorSha256 = "1wlh505ypwyr91wi80fpbap3far3fljwjd4mql2qcqgg0b1yay9s";
 
-      inherit subPackages postInstall;
+      subPackages = [ packageToBuild ];
+
+      preBuild = ''
+        buildFlagsArray+=("-ldflags" "-s -w -X github.com/sigstore/rekor/${packageToBuild}/app.gitVersion=v${version}")
+      '';
 
       meta = with lib; {
         inherit description;
@@ -28,24 +32,12 @@ let
 in {
   rekor-cli = generic {
     pname = "rekor-cli";
-    subPackages = [ "cmd/cli" ];
-    # Will not be needed with the next version, the package as been renamed upstream
-    postInstall = ''
-      if [ -f "$out/bin/cli" ]; then
-        mv "$out/bin/cli" "$out/bin/rekor-client"
-      fi
-    '';
+    packageToBuild = "cmd/rekor-cli";
     description = "CLI client for Sigstore, the Signature Transparency Log";
   };
   rekor-server = generic {
     pname = "rekor-server";
-    subPackages = [ "cmd/server" ];
-    # Will not be needed with the next version, the package as been renamed upstream
-    postInstall = ''
-      if [ -f "$out/bin/server" ]; then
-        mv "$out/bin/server" "$out/bin/rekor-server"
-      fi
-    '';
+    packageToBuild = "cmd/rekor-server";
     description = "Sigstore server, the Signature Transparency Log";
   };
 }
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index bff605dbcde..5a466dfa2a1 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -35,7 +35,15 @@ buildGoModule rec {
     installManPage gdu.1
   '';
 
-  doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
+  # doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
+  # also fails x86_64-linux on hydra with:
+  # dir_test.go:82:
+  #             Error Trace:    dir_test.go:82
+  #             Error:          Not equal:
+  #                             expected: 0
+  #                             actual  : 512
+  #             Test:           TestFlags
+  doCheck = false;
 
   meta = with lib; {
     description = "Disk usage analyzer with console interface";
diff --git a/pkgs/tools/text/vgrep/default.nix b/pkgs/tools/text/vgrep/default.nix
index a2ac4b51001..edd0416b0ef 100644
--- a/pkgs/tools/text/vgrep/default.nix
+++ b/pkgs/tools/text/vgrep/default.nix
@@ -27,6 +27,6 @@ buildGoModule rec {
     description = "User-friendly pager for grep/git-grep/ripgrep";
     homepage = "https://github.com/vrothberg/vgrep";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ zowoq ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1ad6c5fc391..5ffc2f00cb6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -765,15 +765,17 @@ in
 
   adafruit-ampy = callPackage ../tools/misc/adafruit-ampy { };
 
-  adlplug = callPackage ../applications/audio/adlplug { };
+  adlplug = callPackage ../applications/audio/adlplug {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices WebKit DiscRecording;
+    jack = libjack2;
+  };
+  opnplug = adlplug.override {
+    type = "OPN";
+  };
 
   arc_unpacker = callPackage ../tools/archivers/arc_unpacker { };
 
-  opnplug = callPackage ../applications/audio/adlplug {
-    adlplugChip = "-DADLplug_CHIP=OPN2";
-    pname = "OPNplug";
-  };
-
   adminer = callPackage ../servers/adminer { };
 
   advancecomp = callPackage ../tools/compression/advancecomp {};
@@ -7041,7 +7043,9 @@ in
 
   munge = callPackage ../tools/security/munge { };
 
-  munt = libsForQt5.callPackage ../applications/audio/munt { };
+  munt = libsForQt5.callPackage ../applications/audio/munt {
+    jack = libjack2;
+  };
 
   mutagen = callPackage ../tools/misc/mutagen { };
 
@@ -7588,8 +7592,7 @@ in
   olsrd = callPackage ../tools/networking/olsrd { };
 
   opl3bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor { };
-
-  opn2bankeditor = callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
+  opn2bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
 
   orangefs = callPackage ../tools/filesystems/orangefs {
     autoreconfHook = buildPackages.autoreconfHook269;
@@ -14779,6 +14782,8 @@ in
       vdpauinfo;
   };
 
+  drogon = callPackage ../development/libraries/drogon { };
+
   dssi = callPackage ../development/libraries/dssi {};
 
   duckdb = callPackage ../development/libraries/duckdb {};
@@ -15921,6 +15926,8 @@ in
   libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
   libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
 
+  libbencodetools = callPackage ../development/libraries/libbencodetools { };
+
   libbluedevil = callPackage ../development/libraries/libbluedevil { };
 
   libbdplus = callPackage ../development/libraries/libbdplus { };
@@ -25559,6 +25566,8 @@ in
 
   nwg-launchers = callPackage ../applications/misc/nwg-launchers { };
 
+  nwg-menu = callPackage ../applications/misc/nwg-menu { };
+
   ocenaudio = callPackage ../applications/audio/ocenaudio { };
 
   onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };
@@ -28138,6 +28147,10 @@ in
 
   ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { };
 
+  lightning-loop = callPackage ../applications/blockchains/lightning-loop { };
+
+  lightning-pool = callPackage ../applications/blockchains/lightning-pool { };
+
   litecoin  = libsForQt514.callPackage ../applications/blockchains/litecoin.nix {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
@@ -31623,8 +31636,12 @@ in
 
   yapesdl = callPackage ../misc/emulators/yapesdl { };
 
-  x16-emulator = callPackage ../misc/emulators/commander-x16/emulator.nix { };
-  x16-rom = callPackage ../misc/emulators/commander-x16/rom.nix { };
+  x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };
+  x16-rom = callPackage ../misc/emulators/commanderx16/rom.nix { };
+  x16-run = (callPackage ../misc/emulators/commanderx16/run.nix { }) {
+    emulator = x16-emulator;
+    rom = x16-rom;
+  };
 
   bullet = callPackage ../development/libraries/bullet {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c6172887833..5a6f426b836 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1034,6 +1034,8 @@ let
 
     tls = callPackage ../development/ocaml-modules/tls { };
 
+    tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
+
     tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
 
     torch = callPackage ../development/ocaml-modules/torch {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 49b5d629e9a..9d5f97f6def 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1277,6 +1277,8 @@ in {
 
   caldav = callPackage ../development/python-modules/caldav { };
 
+  calmjs-parse = callPackage ../development/python-modules/calmjs-parse { };
+
   can = callPackage ../development/python-modules/can { };
 
   canmatrix = callPackage ../development/python-modules/canmatrix { };
@@ -2144,6 +2146,8 @@ in {
 
   dominate = callPackage ../development/python-modules/dominate { };
 
+  doorbirdpy = callPackage ../development/python-modules/doorbirdpy { };
+
   dopy = callPackage ../development/python-modules/dopy { };
 
   dotty-dict = callPackage ../development/python-modules/dotty-dict { };
@@ -2229,10 +2233,14 @@ in {
 
   edward = callPackage ../development/python-modules/edward { };
 
+  eebrightbox = callPackage ../development/python-modules/eebrightbox { };
+
   effect = callPackage ../development/python-modules/effect { };
 
   eggdeps = callPackage ../development/python-modules/eggdeps { };
 
+  elgato = callPackage ../development/python-modules/elgato { };
+
   elasticsearch = callPackage ../development/python-modules/elasticsearch { };
 
   elasticsearch-dsl = callPackage ../development/python-modules/elasticsearch-dsl { };
@@ -7176,6 +7184,8 @@ in {
 
   pyyaml = callPackage ../development/python-modules/pyyaml { };
 
+  pyyaml-env-tag = callPackage ../development/python-modules/pyyaml-env-tag { };
+
   pyzerproc = callPackage ../development/python-modules/pyzerproc { };
 
   pyzmq = callPackage ../development/python-modules/pyzmq { };