about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc')
-rw-r--r--nixpkgs/pkgs/applications/misc/1password-gui/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/1password/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix37
-rw-r--r--nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix37
-rw-r--r--nixpkgs/pkgs/applications/misc/ablog/default.nix36
-rw-r--r--nixpkgs/pkgs/applications/misc/abook/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/almanah/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/anytype/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/appeditor/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/avrdudess/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/blender/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/misc/bottles/default.nix19
-rwxr-xr-xnixpkgs/pkgs/applications/misc/bottles/update.py65
-rw-r--r--nixpkgs/pkgs/applications/misc/dasel/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/dbeaver/default.nix21
-rw-r--r--nixpkgs/pkgs/applications/misc/electron-cash/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/electrum/default.nix39
-rw-r--r--nixpkgs/pkgs/applications/misc/eos-installer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/faircamp/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/misc/faircamp/test-wav.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/font-manager/default.nix14
-rw-r--r--nixpkgs/pkgs/applications/misc/freeplane/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/gnome-solanum/default.nix70
-rw-r--r--nixpkgs/pkgs/applications/misc/gosmore/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/joshuto/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/keepassx/community.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/koreader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/kratos/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/lighthouse/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/logseq/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/mob/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mop/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/mucommander/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/0001-Use-command-v-in-favor-of-which.patch25
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch57
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/1.17.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/mupdf/default.nix61
-rw-r--r--nixpkgs/pkgs/applications/misc/nix-tour/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/misc/nut/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/obsidian/default.nix22
-rw-r--r--nixpkgs/pkgs/applications/misc/octoprint/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/misc/orca/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/organicmaps/default.nix91
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfdiff/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/pdfpc/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/misc/phoc/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/qmetro/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/regextester/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/sigi/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/sleepyhead/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/misc/slmenu/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/stog/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/stork/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/tootle/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/misc/tpmmanager/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/misc/tuhi/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/urlview/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/misc/xmr-stak/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zettlr/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/zscroll/default.nix6
68 files changed, 849 insertions, 348 deletions
diff --git a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
index 6de089ba58c5..311ef3037bb8 100644
--- a/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password-gui/default.nix
@@ -30,14 +30,23 @@
 , systemd
 , udev
 , xdg-utils
+
+  # The 1Password polkit file requires a list of users for whom polkit
+  # integrations should be enabled. This should be a list of strings that
+  # correspond to usernames.
+, polkitPolicyOwners ? []
 }:
-stdenv.mkDerivation rec {
+let
+  # Convert the polkitPolicyOwners variable to a polkit-compatible string for the polkit file.
+  policyOwners = lib.concatStringsSep " " (map (user: "unix-user:${user}") polkitPolicyOwners);
+
+in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.5.0";
+  version = "8.6.0";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "tnZr+qjUcJ9Fhk6RP8iwu+/JsvYSE03NHhBfhedyCTQ=";
+    sha256 = "AgmLbf2YHZr8McSIL5dxp5HxOC7gLrZWIopuA7aL0JI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -86,8 +95,12 @@ stdenv.mkDerivation rec {
       substituteInPlace $out/share/applications/${pname}.desktop \
         --replace 'Exec=/opt/1Password/${pname}' 'Exec=${pname}'
 
+      '' + (lib.optionalString (polkitPolicyOwners != [ ])
+      ''
       # Polkit file
-      install -Dm 0644 -t $out/share/polkit-1/actions com.1password.1Password.policy
+        mkdir -p $out/share/polkit-1/actions
+        substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
+        '') + ''
 
       # Icons
       cp -a resources/icons $out/share
diff --git a/nixpkgs/pkgs/applications/misc/1password/default.nix b/nixpkgs/pkgs/applications/misc/1password/default.nix
index 512f5546aecd..25685b2e125e 100644
--- a/nixpkgs/pkgs/applications/misc/1password/default.nix
+++ b/nixpkgs/pkgs/applications/misc/1password/default.nix
@@ -1,28 +1,38 @@
-{ lib, stdenv, fetchzip, autoPatchelfHook, fetchurl, xar, cpio }:
+{ lib, stdenv, fetchurl, fetchzip, autoPatchelfHook, installShellFiles, cpio, xar }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  fetch = srcPlatform: sha256: extension:
+    let
+      args = {
+        url = "https://cache.agilebits.com/dist/1P/op2/pkg/v${version}/op_${srcPlatform}_v${version}.${extension}";
+        inherit sha256;
+      } // lib.optionalAttrs (extension == "zip") { stripRoot = false; };
+    in
+    if extension == "zip" then fetchzip args else fetchurl args;
 
-stdenv.mkDerivation rec {
   pname = "1password-cli";
-  version = "1.12.2";
+  version = "2.0.0";
+  sources = rec {
+    aarch64-linux = fetch "linux_arm64" "sha256-NhCs68on8LzoeOmM5eP8LwmFaVWz6aghqtHzfUlACiA=" "zip";
+    i686-linux = fetch "linux_386" "sha256-vCxgEBq4YVfljq2zUpvBdZUbIiam4z64P1m9OMWq1f4=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-CDwrJ5ksXf9kwHobw4jvRUi1hLQzq4/yRlk+kHPN7UE=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-DC9hdzRjQ9iNjbe6PfRpMXzDeInq4rYSAa2nDHQMTRo=" "pkg";
+    x86_64-darwin = aarch64-darwin;
+  };
+  platforms = builtins.attrNames sources;
+  mainProgram = "op";
+in
+
+stdenv.mkDerivation {
+  inherit pname version;
   src =
-    if stdenv.isLinux then
-      fetchzip
-        {
-          url = {
-            "i686-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-            "x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-            "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm64_v${version}.zip";
-          }.${stdenv.hostPlatform.system};
-          sha256 = {
-            "i686-linux" = "tCm/vDBASPN9FBSVRJ6BrFc7hdtZWPEAgvokJhjazPg=";
-            "x86_64-linux" = "3VkVMuTAfeEowkguJi2fd1kG7GwO1VN5GBPgNaH3Zv4=";
-            "aarch64-linux" = "12h1s9c97w0gb6bia3hy7773mwpfnyrn40sbjm1zc37y4zyi5dyp";
-          }.${stdenv.hostPlatform.system};
-          stripRoot = false;
-        } else
-      fetchurl {
-        url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_apple_universal_v${version}.pkg";
-        sha256 = "xG/6YZdkJxr5Py90rkIyG4mK40yFTmNSfih9jO2uF+4=";
-      };
+    if (builtins.elem system platforms) then
+      sources.${system}
+    else
+      throw "Source for ${pname} is not available for ${system}";
+
+  nativeBuildInputs = [ installShellFiles ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
   buildInputs = lib.optionals stdenv.isDarwin [ xar cpio ];
 
@@ -32,25 +42,27 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -D op $out/bin/op
+    install -D ${mainProgram} $out/bin/${mainProgram}
+    runHook postInstall
   '';
 
-  dontStrip = stdenv.isDarwin;
+  postInstall = "installShellCompletion --cmd ${mainProgram}" + lib.concatMapStrings
+    (s: " --${s} <($out/bin/${mainProgram} completion ${s})") [ "bash" "fish" "zsh" ];
 
-  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
+  dontStrip = stdenv.isDarwin;
 
   doInstallCheck = true;
 
   installCheckPhase = ''
-    $out/bin/op --version
+    $out/bin/${mainProgram} --version
   '';
 
   meta = with lib; {
     description = "1Password command-line tool";
-    homepage = "https://support.1password.com/command-line/";
-    downloadPage = "https://app-updates.agilebits.com/product_history/CLI";
+    homepage = "https://developer.1password.com/docs/cli/";
+    downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
     maintainers = with maintainers; [ joelburget marsam ];
     license = licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
+    inherit mainProgram platforms;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
index 2fb60e8fef12..db2f33332806 100644
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
@@ -55,12 +55,12 @@
   (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
   (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "0np2x73x2g3145qnd4ibkxlz535g19lansmaqkjplf0xc6qi5zsg"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "1315hycfqlalh6k4zvvz7pz3dylpp0sr45j1v9avcb143hjqnav6"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1x254v25wilx4nh4dnjij4p9g0wsrqn9jyf4z48fa1bw1q3j3rba"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0s874cs94p1rxdy6n22ch3vr1ad1w0nkh7cnjxvxcjim2b4lfvln"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "1jpw4s862j4aa7b7wchi03gxcy02j6hhpbsfbcayiyx6ry788i15"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "0s0xpqd0nc9kldfay5j1krbc1nyfasxw4xxjx1mwpnbr7n99wbms"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "09whyl3i9mzy10n5zxlq66lj3l4p29hm75igmdip2fb376zxyam3"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
@@ -74,24 +74,25 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.0"; sha256 = "0m4q75iz6nj76sakab3265rzz969gk1rm2qwbvn0v60h3hflkqgb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.0"; sha256 = "07fgwhgnwcf58dkrfpmfyzqvd33x6ir25qn3v96j8bl4x9dn4sij"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.0"; sha256 = "0z2whbviiw6kjqa7c2gj3j7fqq31m28iww66n7hvy3cnqcn3471k"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "159hq4fn2n5n2mkxw6wi4nhj0ifclpn7gxspqljlgczlhkm1vxqb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "146rbmk0svvqaf0c4msg67h17x4k4gd5kzsbb3iqvs14xfkli2xw"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1ywkycp9llrfk4jcd7agaivlhn9pig70cj65xkfhjw1wx51756jc"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1njh3iky5wyxdrisz8xfpy7kzbsrvzfhpdl01xbavvz189x4ajqp"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.3"; sha256 = "14lypnhdby9939l75y6i077x4ccb22yakzjrbapl8an438h09yf8"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.3"; sha256 = "1swbrmpsayy99ycwaq68dx9ydd5h3qv9brwig6ryff1xfn1llndq"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.3"; sha256 = "1py3nrfvllqlnb9mhs0qwgy7c14n33b2hfb0qc49rx22sqv8ylbp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.3"; sha256 = "0rshhsygm3id8wig8mqs846l8dck65drszpzjh1d00d1fk2bxzs4"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.3"; sha256 = "0k9gc94cvn36p0v3pj296asg2sq9a8ah6lfw0xvvmd4hq2k72s79"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.3"; sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0ws9vxias9iynhcajkl9lz4c8f6hc4b5spypxd0ha33lcjaj408a"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "0gjj6p2nnxzhyrmmmwiyrll782famhll9lbgj8cji1i93amxq1pb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "003s3x2ffk4g76jy4b60n6vizly03amjbli4lngsy0wzc86c0ij1"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "0180ipzzz9pc6f6l17rg5bxz1ghzbapmiqq66kdl33bmbny6vmm9"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
   (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.0.0"; sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.0.0"; sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r"; })
diff --git a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
index 54bcfc8f5b30..db2f33332806 100644
--- a/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
+++ b/nixpkgs/pkgs/applications/misc/ArchiSteamFarm/deps-x86_64-linux.nix
@@ -55,12 +55,12 @@
   (fetchNuGet { pname = "Humanizer.Core.zh-Hant"; version = "2.13.14"; sha256 = "07xsdx8j1rhp712kwy8jx9ang6f9zljqrvaggf0ssj5zqbliz93p"; })
   (fetchNuGet { pname = "JetBrains.Annotations"; version = "2021.3.0"; sha256 = "01ssylllbwpana2w3iybi533zlvcsbhzjc8kr0g4kg307kjbfn8v"; })
   (fetchNuGet { pname = "Markdig.Signed"; version = "0.26.0"; sha256 = "1giwdvmy6n4vfb0g7sxmdf9bklb4r2vdfhm1xfxvqys8rfm15d4z"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "0np2x73x2g3145qnd4ibkxlz535g19lansmaqkjplf0xc6qi5zsg"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "1315hycfqlalh6k4zvvz7pz3dylpp0sr45j1v9avcb143hjqnav6"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0r6jyxl3h1asj30la78skd5gsxgwjpvkspmkw1gglxfg85hnqc8w"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1x254v25wilx4nh4dnjij4p9g0wsrqn9jyf4z48fa1bw1q3j3rba"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1hnqhvgjp342nx9s47w5sknmlpkfxbcfi50pa4vary2r7sv8ka2w"; })
-  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0s874cs94p1rxdy6n22ch3vr1ad1w0nkh7cnjxvxcjim2b4lfvln"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "1jpw4s862j4aa7b7wchi03gxcy02j6hhpbsfbcayiyx6ry788i15"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0rrrfgkr7rzhlnsnajvzb1ijkybp99d992bqxy9pbawmq7d60bdk"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "0s0xpqd0nc9kldfay5j1krbc1nyfasxw4xxjx1mwpnbr7n99wbms"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "09whyl3i9mzy10n5zxlq66lj3l4p29hm75igmdip2fb376zxyam3"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "11kv50kll3iq88kn40f5v5qlq8mydv6y6xz2cbzjw4aadd44njwq"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.JsonPatch"; version = "6.0.0-rc.1.21452.15"; sha256 = "0c3vnaag8gxlxij77n18m3hawpjkjjamsnq5kfjz5cvc7sfg3fwh"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Mvc.NewtonsoftJson"; version = "6.0.0-rc.1.21452.15"; sha256 = "1xyx358w4fqzxr9cy358agnm86rjijbnvikiqlngz2msgmldxi2z"; })
   (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.0.0"; sha256 = "18gdbsqf6i79ld4ikqr4jhx9ndsggm865b5xj1xmnmgg12ydp19a"; })
@@ -74,24 +74,25 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Logging.Abstractions"; version = "5.0.0"; sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Options"; version = "5.0.0"; sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.0"; sha256 = "0m4q75iz6nj76sakab3265rzz969gk1rm2qwbvn0v60h3hflkqgb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.0"; sha256 = "0aska6s99rfg13ngsaxr151a6sk8r68lv3mj8yv0bhvwcpln4342"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.0"; sha256 = "0z2whbviiw6kjqa7c2gj3j7fqq31m28iww66n7hvy3cnqcn3471k"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.0"; sha256 = "188cbx99ahvksap9w20943p62fmzxa6fl133w4r7c6bjpsrm29a4"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.0"; sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.0"; sha256 = "159hq4fn2n5n2mkxw6wi4nhj0ifclpn7gxspqljlgczlhkm1vxqb"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.0"; sha256 = "146rbmk0svvqaf0c4msg67h17x4k4gd5kzsbb3iqvs14xfkli2xw"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.0"; sha256 = "0qaylw18flrfl3vxnbp8wsiz29znidmn6dhv7k4v4jj2za16wmji"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.0"; sha256 = "1ywkycp9llrfk4jcd7agaivlhn9pig70cj65xkfhjw1wx51756jc"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.0"; sha256 = "1njh3iky5wyxdrisz8xfpy7kzbsrvzfhpdl01xbavvz189x4ajqp"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.0"; sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6"; })
+  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.3"; sha256 = "14lypnhdby9939l75y6i077x4ccb22yakzjrbapl8an438h09yf8"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.3"; sha256 = "1swbrmpsayy99ycwaq68dx9ydd5h3qv9brwig6ryff1xfn1llndq"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.3"; sha256 = "1py3nrfvllqlnb9mhs0qwgy7c14n33b2hfb0qc49rx22sqv8ylbp"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.3"; sha256 = "0rshhsygm3id8wig8mqs846l8dck65drszpzjh1d00d1fk2bxzs4"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.3"; sha256 = "0k9gc94cvn36p0v3pj296asg2sq9a8ah6lfw0xvvmd4hq2k72s79"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.3"; sha256 = "1y428glba68s76icjzfl1v3p61pcz7rd78wybhabs8zq8w9cp2pj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm"; version = "6.0.3"; sha256 = "0ws9vxias9iynhcajkl9lz4c8f6hc4b5spypxd0ha33lcjaj408a"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; version = "6.0.3"; sha256 = "0gjj6p2nnxzhyrmmmwiyrll782famhll9lbgj8cji1i93amxq1pb"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.3"; sha256 = "0f04srx6q0jk81a60n956hz32fdngzp0xmdb2x7gyl77gsq8yijj"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; version = "6.0.3"; sha256 = "003s3x2ffk4g76jy4b60n6vizly03amjbli4lngsy0wzc86c0ij1"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; version = "6.0.3"; sha256 = "0180ipzzz9pc6f6l17rg5bxz1ghzbapmiqq66kdl33bmbny6vmm9"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.win-x64"; version = "6.0.3"; sha256 = "1rjkzs2013razi2xs943q62ys1jh8blhjcnj75qkvirf859d11qw"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "5.0.0"; sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
   (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
-  (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
   (fetchNuGet { pname = "Microsoft.OpenApi"; version = "1.2.3"; sha256 = "07b19k89whj69j87afkz86gp9b3iybw8jqwvlgcn43m7fb2y99rr"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.0.0"; sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7"; })
   (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.0.0"; sha256 = "06mn31cgpp7d8lwdyjanh89prc66j37dchn74vrd9s588rq0y70r"; })
diff --git a/nixpkgs/pkgs/applications/misc/ablog/default.nix b/nixpkgs/pkgs/applications/misc/ablog/default.nix
new file mode 100644
index 000000000000..b6a3a1dfdb56
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/ablog/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, python3
+}:
+
+with python3.pkgs;
+
+buildPythonApplication rec {
+  pname = "ablog";
+  version = "0.10.23";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-fqqB17dNzcDZmFw3nj85T5zvMzY6SN/JxbB3IASOas8=";
+  };
+
+  propagatedBuildInputs = [
+    feedgen
+    sphinx
+    invoke
+    watchdog
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  meta = with lib; {
+    description = "ABlog for blogging with Sphinx";
+    homepage = "https://ablog.readthedocs.io/en/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rgrinberg ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/abook/default.nix b/nixpkgs/pkgs/applications/misc/abook/default.nix
index de463cfd6665..e822f869619b 100644
--- a/nixpkgs/pkgs/applications/misc/abook/default.nix
+++ b/nixpkgs/pkgs/applications/misc/abook/default.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Text-based addressbook program designed to use with mutt mail client";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.edwtjo ];
-    platforms = with lib.platforms; linux;
+    platforms = with lib.platforms; unix;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/almanah/default.nix b/nixpkgs/pkgs/applications/misc/almanah/default.nix
index a4ef9b34318c..5e4f44823548 100644
--- a/nixpkgs/pkgs/applications/misc/almanah/default.nix
+++ b/nixpkgs/pkgs/applications/misc/almanah/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , atk
 , cairo
 , desktop-file-utils
@@ -32,6 +34,16 @@ stdenv.mkDerivation rec {
     sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:2:5: ERROR: Function does not take positional arguments.
+    # Patch taken from https://gitlab.gnome.org/GNOME/almanah/-/merge_requests/13
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/almanah/-/commit/8c42a67695621d1e30cec933a04e633e6030bbaf.patch";
+      sha256 = "qyqFgYSu4emFDG/Mjwz1bZb3v3/4gwQSKmGCoPPNYCQ=";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     gettext
diff --git a/nixpkgs/pkgs/applications/misc/anytype/default.nix b/nixpkgs/pkgs/applications/misc/anytype/default.nix
index e80bb82ccec1..5f09fba4cb7a 100644
--- a/nixpkgs/pkgs/applications/misc/anytype/default.nix
+++ b/nixpkgs/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.23.5";
+  version = "0.24.0";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-kVM/F0LsIgMtur8jHZzUWkFIcfHe0i8y9Zxe3z5SkVM=";
+    sha256 = "sha256-QyexUZNn7QGHjXYO/+1kUebTmAzdVpwG9Ile8Uh3i8Q=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/nixpkgs/pkgs/applications/misc/appeditor/default.nix b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
index cf1303422d27..9e38a208e179 100644
--- a/nixpkgs/pkgs/applications/misc/appeditor/default.nix
+++ b/nixpkgs/pkgs/applications/misc/appeditor/default.nix
@@ -43,6 +43,11 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
+    # Fix build with vala 0.56
+    # https://github.com/donadigo/appeditor/pull/122
+    substituteInPlace src/Application.vala \
+      --replace "private static string? create_exec_filename;" "public static string? create_exec_filename;"
+
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
diff --git a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
index 0a42e6f5e2cd..56ee5fa52801 100644
--- a/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
+++ b/nixpkgs/pkgs/applications/misc/avrdudess/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "avrdudess";
-  version = "2.2.20140102";
+  version = "2.13";
 
   src = fetchurl {
-    url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip";
-    sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6";
+    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.13/AVRDUDESS-2.13-portable.zip";
+    sha256 = "0fpvc19fb14ppqfb2yg821szmhyanxcp5chfldf8yh51f64zihv9";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -36,7 +36,8 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "GUI for AVRDUDE (AVR microcontroller programmer)";
-    homepage = "https://github.com/zkemble/AVRDUDESS";
+    homepage = "https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/";
+    changelog = "https://github.com/ZakKemble/AVRDUDESS/blob/v${version}/Changelog.txt";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/nixpkgs/pkgs/applications/misc/blender/default.nix b/nixpkgs/pkgs/applications/misc/blender/default.nix
index 31c1d4a19937..a0467b817142 100644
--- a/nixpkgs/pkgs/applications/misc/blender/default.nix
+++ b/nixpkgs/pkgs/applications/misc/blender/default.nix
@@ -1,11 +1,11 @@
 { config, stdenv, lib, fetchurl, fetchzip, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python39Packages
+, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python310Packages
 , openvdb, libXxf86vm, tbb, alembic
-, zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
+, zlib, zstd, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
-, cudaSupport ? config.cudaSupport or false, cudatoolkit
+, cudaSupport ? config.cudaSupport or false, cudatoolkit_11
 , colladaSupport ? true, opencollada
 , spaceNavSupport ? stdenv.isLinux, libspnav
 , makeWrapper
@@ -17,30 +17,31 @@
 
 with lib;
 let
-  python = python39Packages.python;
+  python = python310Packages.python;
   optix = fetchzip {
-    url = "https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip";
-    sha256 = "1b3ccd3197anya2bj3psxdrvrpfgiwva5zfv2xmyrl73nb2dvfr7";
+    # url taken from the archlinux blender PKGBUILD
+    url = "https://developer.download.nvidia.com/redist/optix/v7.3/OptiX-7.3.0-Include.zip";
+    sha256 = "0max1j4822mchj0xpz9lqzh91zkmvsn4py0r174cvqfz8z8ykjk8";
   };
 
 in
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.93.5";
+  version = "3.1.0";
 
   src = fetchurl {
     url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
-    sha256 = "1fsw8w80h8k5w4zmy659bjlzqyn5i198hi1kbpzfrdn8psxg2bfj";
+    sha256 = "1d0476bzcz86lwdnyjn7hyzkmhfiqh47ls5h09jlbm7v7k9x69hw";
   };
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
 
-  nativeBuildInputs = [ cmake makeWrapper python39Packages.wrapPython llvmPackages.llvm.dev ]
+  nativeBuildInputs = [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev ]
     ++ optionals cudaSupport [ addOpenGLRunpath ];
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       freetype libjpeg libpng libsamplerate libsndfile libtiff
-      opencolorio openexr openimagedenoise openimageio2 openjpeg python zlib fftw jemalloc
+      opencolorio openexr openimagedenoise openimageio2 openjpeg python zlib zstd fftw jemalloc
       alembic
       (opensubdiv.override { inherit cudaSupport; })
       tbb
@@ -62,10 +63,10 @@ stdenv.mkDerivation rec {
       llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
     ])
     ++ optional jackaudioSupport libjack2
-    ++ optional cudaSupport cudatoolkit
+    ++ optional cudaSupport cudatoolkit_11
     ++ optional colladaSupport opencollada
     ++ optional spaceNavSupport libspnav;
-  pythonPath = with python39Packages; [ numpy requests ];
+  pythonPath = with python310Packages; [ numpy requests ];
 
   postPatch = ''
     # allow usage of dynamically linked embree
@@ -84,7 +85,7 @@ stdenv.mkDerivation rec {
         --replace '${"$"}{LIBDIR}/opencollada' \
                   '${opencollada}' \
         --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \
-                  '${python39Packages.numpy}/${python.sitePackages}/numpy'
+                  '${python310Packages.numpy}/${python.sitePackages}/numpy'
     '' else ''
       substituteInPlace extern/clew/src/clew.c --replace '"libOpenCL.so"' '"${ocl-icd}/lib/libOpenCL.so"'
     '');
@@ -106,8 +107,8 @@ stdenv.mkDerivation rec {
       "-DPYTHON_VERSION=${python.pythonVersion}"
       "-DWITH_PYTHON_INSTALL=OFF"
       "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
-      "-DPYTHON_NUMPY_PATH=${python39Packages.numpy}/${python.sitePackages}"
-      "-DPYTHON_NUMPY_INCLUDE_DIRS=${python39Packages.numpy}/${python.sitePackages}/numpy/core/include"
+      "-DPYTHON_NUMPY_PATH=${python310Packages.numpy}/${python.sitePackages}"
+      "-DPYTHON_NUMPY_INCLUDE_DIRS=${python310Packages.numpy}/${python.sitePackages}/numpy/core/include"
       "-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
       "-DWITH_OPENVDB=ON"
       "-DWITH_TBB=ON"
diff --git a/nixpkgs/pkgs/applications/misc/bottles/default.nix b/nixpkgs/pkgs/applications/misc/bottles/default.nix
index 865e3a849a1d..b0b1718c87b5 100644
--- a/nixpkgs/pkgs/applications/misc/bottles/default.nix
+++ b/nixpkgs/pkgs/applications/misc/bottles/default.nix
@@ -4,7 +4,7 @@
 , python3Packages, gettext
 , appstream-glib, gdk-pixbuf, glib, gobject-introspection, gspell, gtk3, gtksourceview4, gnome
 , steam, xdg-utils, pciutils, cabextract, wineWowPackages
-, freetype, p7zip, gamemode
+, freetype, p7zip, gamemode, mangohud
 , bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs
 , bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs
 }:
@@ -12,7 +12,7 @@
 let
   steam-run = (steam.override {
     # required by wine runner `caffe`
-    extraLibraries = pkgs: with pkgs; [ libunwind libusb1 ]
+    extraLibraries = pkgs: with pkgs; [ libunwind libusb1 gnutls ]
       ++ bottlesExtraLibraries pkgs;
     extraPkgs = pkgs: [ ]
       ++ bottlesExtraPkgs pkgs;
@@ -20,8 +20,10 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2022.2.28-trento-1";
-  sha256 = "tE6YuuZZcs3RKxs1S6OoGt0CXz3oHUi/sopFN0iywds=";
+  version = "2022.3.14-trento-3";
+  sha256 = "0wdqj9l69a9pnray2zcfgl2yw0hmrh23njbgwgqccimch014ckdq";
+  # Note: Update via pkgs/applications/misc/bottles/update.py
+  # mostly copypasted from pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
@@ -80,6 +82,7 @@ python3Packages.buildPythonApplication rec {
     freetype
     p7zip
     gamemode # programs.gamemode.enable
+    mangohud
   ];
 
   format = "other";
@@ -89,13 +92,19 @@ python3Packages.buildPythonApplication rec {
   preConfigure = ''
     patchShebangs build-aux/meson/postinstall.py
     substituteInPlace src/backend/wine/winecommand.py \
-      --replace '= f"{Paths.runners}' '= f"${steam-run}/bin/steam-run {Paths.runners}'
+      --replace \
+        'self.__get_runner()' \
+        '(lambda r: (f"${steam-run}/bin/steam-run {r}", r)[r == "wine" or r == "wine64"])(self.__get_runner())'
   '';
 
   preFixup = ''
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  passthru = {
+    updateScript = ./update.py;
+  };
+
   meta = with lib; {
     description = "An easy-to-use wineprefix manager";
     homepage = "https://usebottles.com/";
diff --git a/nixpkgs/pkgs/applications/misc/bottles/update.py b/nixpkgs/pkgs/applications/misc/bottles/update.py
new file mode 100755
index 000000000000..6adacd7d0e07
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/bottles/update.py
@@ -0,0 +1,65 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p python3 nix nix-prefetch-git
+
+import fileinput
+import json
+import os
+import re
+import subprocess
+
+from datetime import datetime
+from urllib.request import urlopen, Request
+
+
+DIR = os.path.dirname(os.path.abspath(__file__))
+HEADERS = {'Accept': 'application/vnd.github.v3+json'}
+
+
+def github_api_request(endpoint):
+    base_url = 'https://api.github.com/'
+    request = Request(base_url + endpoint, headers=HEADERS)
+    with urlopen(request) as http_response:
+        return json.loads(http_response.read().decode('utf-8'))
+
+
+def get_commit_date(repo, sha):
+    url = f'https://api.github.com/repos/{repo}/commits/{sha}'
+    request = Request(url, headers=HEADERS)
+    with urlopen(request) as http_response:
+        commit = json.loads(http_response.read().decode())
+        date = commit['commit']['committer']['date'].rstrip('Z')
+        date = datetime.fromisoformat(date).date().isoformat()
+        return 'unstable-' + date
+
+
+def nix_prefetch_git(url, rev):
+    """Prefetches the requested Git revision (incl. submodules) of the given repository URL."""
+    print(f'nix-prefetch-git {url} {rev}')
+    out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev, '--fetch-submodules'])
+    return json.loads(out)['sha256']
+
+
+def nix_prefetch_url(url, unpack=False):
+    """Prefetches the content of the given URL."""
+    print(f'nix-prefetch-url {url}')
+    options = ['--type', 'sha256']
+    if unpack:
+        options += ['--unpack']
+    out = subprocess.check_output(['nix-prefetch-url'] + options + [url])
+    return out.decode('utf-8').rstrip()
+
+
+def update_file(relpath, version, sha256):
+    file_path = os.path.join(DIR, relpath)
+    with fileinput.FileInput(file_path, inplace=True) as f:
+        for line in f:
+            result = line
+            result = re.sub(r'^  version = ".+";', f'  version = "{version}";', result)
+            result = re.sub(r'^  sha256 = ".+";', f'  sha256 = "{sha256}";', result)
+            print(result, end='')
+
+
+if __name__ == "__main__":
+    bottles_version = github_api_request('repos/bottlesdevs/Bottles/releases/latest')['tag_name']
+    bottles_hash = nix_prefetch_git('https://github.com/bottlesdevs/Bottles.git', bottles_version)
+    update_file('default.nix', bottles_version, bottles_hash)
diff --git a/nixpkgs/pkgs/applications/misc/dasel/default.nix b/nixpkgs/pkgs/applications/misc/dasel/default.nix
index eb17bf5c1943..d8fd18f9de4e 100644
--- a/nixpkgs/pkgs/applications/misc/dasel/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.23.0";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    sha256 = "sha256-MUF57begai6yMYLPC5dnyO9S39uHogB+Ie3qDA46Cn8=";
+    sha256 = "sha256-Em+WAI8G492h7FJTnTHFj5L7M4xBZhW4qC0MMc2JRUU=";
   };
 
   vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
diff --git a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
index 61dd6e4a6d6e..d713afc96a3f 100644
--- a/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
+++ b/nixpkgs/pkgs/applications/misc/dbeaver/default.nix
@@ -16,19 +16,24 @@
 , maven
 , webkitgtk
 , glib-networking
+, javaPackages
 }:
 
-stdenv.mkDerivation rec {
+javaPackages.mavenfod rec {
   pname = "dbeaver";
-  version = "22.0.0"; # When updating also update fetchedMavenDeps.sha256
+  version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-LSEsaCEUoKViKC+IjJrV/w1VzOGi4EOr4LnAutOIyJU=";
+    sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
   };
 
+
+  mvnSha256 = "7Sm1hAoi5xc4MLONOD8ySLLkpao0qmlMRRva/8zR210=";
+  mvnParameters = "-P desktop,all-platforms";
+
   fetchedMavenDeps = stdenv.mkDerivation {
     name = "dbeaver-${version}-maven-deps";
     inherit src;
@@ -37,7 +42,7 @@ stdenv.mkDerivation rec {
       maven
     ];
 
-    buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 -P desktop,all-platforms";
+    buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}";
 
     # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
     installPhase = ''
@@ -88,14 +93,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildPhase = ''
-    runHook preBuild
-
-    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 -P desktop,all-platforms
-
-    runHook postBuild
-  '';
-
   installPhase =
     let
       productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
diff --git a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
index 16f5673bed1b..7fe091cf7732 100644
--- a/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electron-cash/default.nix
@@ -3,13 +3,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.2.5";
+  version = "4.2.7";
 
   src = fetchFromGitHub {
     owner = "Electron-Cash";
     repo = "Electron-Cash";
     rev = version;
-    sha256 = "sha256-ALIrNnhpX46xdQdfJdx/9e/QtdyBEgi5xLrbuOBJR7o=";
+    sha256 = "sha256-m8a3x5fPSrnrCH30MToT3aKtX35nFUbeerR7ubWgOOI=";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -40,6 +40,7 @@ python3Packages.buildPythonApplication rec {
     keepkey
     btchip
     hidapi
+    pyopenssl
     pyscard
     pysatochip
   ];
diff --git a/nixpkgs/pkgs/applications/misc/electrum/default.nix b/nixpkgs/pkgs/applications/misc/electrum/default.nix
index 29a129192960..f9ef802ce422 100644
--- a/nixpkgs/pkgs/applications/misc/electrum/default.nix
+++ b/nixpkgs/pkgs/applications/misc/electrum/default.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  version = "4.1.5";
+  version = "4.2.1";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -37,7 +37,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "1ps8yaps5kfd7yv7bpdvssbwm6f5qivxcvhwn17cpddc2760a7nk";
+    sha256 = "sha256-BoikYSsQZAv8WswIr5nmBsGmjZbTXaLAbdO2QtPvc7c=";
 
     extraPostFetch = ''
       mv $out ./all
@@ -45,19 +45,6 @@ let
     '';
   };
 
-  py = python3.override {
-    packageOverrides = self: super: {
-
-      aiorpcx = super.aiorpcx.overridePythonAttrs (oldAttrs: rec {
-        version = "0.18.7";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0";
-        };
-      });
-    };
-  };
-
 in
 
 python3.pkgs.buildPythonApplication {
@@ -66,7 +53,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi";
+    sha256 = "sha256-2SxSTH9P380j2KaCbkXjgmQO7K2z81AG6PMA/EMggXA=";
   };
 
   postUnpack = ''
@@ -74,27 +61,9 @@ python3.pkgs.buildPythonApplication {
     cp -ar ${tests} $sourceRoot/electrum/tests
   '';
 
-  postPatch = ''
-    substituteInPlace contrib/requirements/requirements.txt \
-      --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
-
-    # according to upstream, this is fine
-    # https://github.com/spesmilo/electrum/issues/7361
-    substituteInPlace contrib/requirements/requirements.txt \
-      --replace "qdarkstyle<2.9" "qdarkstyle>=2.7"
-  '';
-
-  patches = [
-    # trezorlib 0.13 compatibility
-    (fetchpatch {
-      url = "https://github.com/spesmilo/electrum/commit/97e61cfacdca374103e4184f0f9a07a0c5757afb.patch";
-      sha256 = "sha256-RGVBO9IskC+lQOHNGjrqH6EM/inNPJlcD9sSWedyT5E=";
-    })
-  ];
-
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with py.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     aiohttp
     aiohttp-socks
     aiorpcx
diff --git a/nixpkgs/pkgs/applications/misc/eos-installer/default.nix b/nixpkgs/pkgs/applications/misc/eos-installer/default.nix
index 02d629412a39..8234a77ba145 100644
--- a/nixpkgs/pkgs/applications/misc/eos-installer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/eos-installer/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
-, gnome, gnupg, gtk3, udisks
+, gnome-desktop, gnupg, gtk3, udisks
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf autoconf-archive automake glib intltool libtool pkg-config
   ];
-  buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
+  buildInputs = [ gnome-desktop gtk3 udisks ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/nixpkgs/pkgs/applications/misc/faircamp/default.nix b/nixpkgs/pkgs/applications/misc/faircamp/default.nix
new file mode 100644
index 000000000000..4486381b8b34
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/faircamp/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, rustPlatform
+, fetchgit
+, makeWrapper
+, ffmpeg
+, callPackage
+, unstableGitUpdater
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "faircamp";
+  version = "unstable-2022-01-19";
+
+  # TODO when switching to a stable release, use fetchFromGitea and add a
+  # version test. Meanwhile, fetchgit is used to make unstableGitUpdater work.
+  src = fetchgit {
+    url = "https://codeberg.org/simonrepp/faircamp.git";
+    rev = "f8ffc7a35a12251b83966b35c63f72b4912f75a9";
+    sha256 = "sha256-9t42+813IPLUChbLkcwzoCr7FXSL1g+ZG6I3d+7pmec=";
+  };
+
+  cargoHash = "sha256-24ALBede3W8rjlBRdtL0aazRyK1RmNLdHF/bt5i4S5Y=";
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  postInstall = ''
+    wrapProgram $out/bin/faircamp \
+      --prefix PATH : ${lib.makeBinPath [ ffmpeg ]}
+  '';
+
+  passthru.tests.wav = callPackage ./test-wav.nix { };
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "A self-hostable, statically generated bandcamp alternative";
+    longDescription = ''
+      Faircamp takes a directory on your disk - your Catalog - and from it
+      produces a fancy-looking (and technically simple and completely static)
+      website, which presents your music in a way similar to how popular
+      commercial service bandcamp does it.
+
+      You can upload the files faircamp generates to any webspace - no database
+      and no programming language support (PHP or such) is required. If your
+      webspace supports SSH access, faircamp can be configured to upload your
+      website for you automatically, otherwise you can use FTP or whichever
+      means you prefer to do that manually.
+    '';
+    homepage = "https://codeberg.org/simonrepp/faircamp";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/faircamp/test-wav.nix b/nixpkgs/pkgs/applications/misc/faircamp/test-wav.nix
new file mode 100644
index 000000000000..8a9d2eaa2f35
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/faircamp/test-wav.nix
@@ -0,0 +1,14 @@
+{ stdenv
+, faircamp
+, ffmpeg
+}:
+
+stdenv.mkDerivation {
+  name = "faircamp-test-wav";
+  meta.timeout = 60;
+  buildCommand = ''
+    mkdir album
+    ${ffmpeg}/bin/ffmpeg -f lavfi -i "sine=frequency=440:duration=1" album/track.wav
+    ${faircamp}/bin/faircamp --build-dir $out
+  '';
+}
diff --git a/nixpkgs/pkgs/applications/misc/font-manager/default.nix b/nixpkgs/pkgs/applications/misc/font-manager/default.nix
index bd6ae3d74780..e90c0a4ec18e 100644
--- a/nixpkgs/pkgs/applications/misc/font-manager/default.nix
+++ b/nixpkgs/pkgs/applications/misc/font-manager/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , meson
-, fetchpatch
 , ninja
 , gettext
 , python3
@@ -26,24 +25,15 @@
 
 stdenv.mkDerivation rec {
   pname = "font-manager";
-  version = "0.8.7";
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "FontManager";
     repo = "master";
     rev = version;
-    sha256 = "lqXjGSsiWaMJGyr1c2Wt/bs4F8q51mQ1+f6vbZRQzVs=";
+    sha256 = "sha256-M13Q9d2cKhc0tudkvw0zgqPAFTlmXwK+LltXeuDPWxo=";
   };
 
-  patches = [
-    # Fix compilation with latest Vala.
-    # https://github.com/FontManager/font-manager/issues/240
-    (fetchpatch {
-      url = "https://github.com/FontManager/font-manager/commit/f9c4621389dae5999ca9d2f3c8402c2512a9ea60.patch";
-      sha256 = "ZEJZSUYFLKmiHpVusO3ZUXMLUzJbbbCSqMjCtwlzPRY=";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     meson
diff --git a/nixpkgs/pkgs/applications/misc/freeplane/default.nix b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
index 37c4abb37646..e2931698d1ac 100644
--- a/nixpkgs/pkgs/applications/misc/freeplane/default.nix
+++ b/nixpkgs/pkgs/applications/misc/freeplane/default.nix
@@ -1,24 +1,31 @@
-{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_5, which }:
+{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_6, which }:
 
 let
   pname = "freeplane";
-  version = "1.9.5";
+  version = "1.9.14";
+
+  src_sha256 = "UiXtGJs+hibB63BaDDLXgjt3INBs+NfMsKcX2Q/kxKw=";
+  deps_outputHash = "tHhRaMIQK8ERuzm+qB9tRe2XSesL0bN3rComB9/qWgg=";
+  emoji_outputHash = "w96or4lpKCRK8A5HaB4Eakr7oVSiQALJ9tCJvKZaM34=";
+
+  jdk = jdk11;
+  gradle = gradle_6;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY=";
+    sha256 = src_sha256;
   };
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps";
     inherit src;
 
-    nativeBuildInputs = [ jdk11 perl gradle_5 ];
+    nativeBuildInputs = [ jdk perl gradle ];
 
     buildPhase = ''
-      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon jar
+      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon jar
     '';
 
     # Mavenize dependency paths
@@ -31,7 +38,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA=";
+    outputHash = deps_outputHash;
   };
 
   # Point to our local deps repo
@@ -60,16 +67,14 @@ let
     }
   '';
 
-  # downloaded from unicode.org and twemoji.maxcdn.com by code in freeplane/emoji.gradle
-  # the below hash is for versions of freeplane that use twemoji 12.1.4, and emoji 12.1
   emoji = stdenv.mkDerivation rec {
     name = "${pname}-emoji";
     inherit src;
 
-    nativeBuildInputs = [ jdk11 gradle_5 ];
+    nativeBuildInputs = [ jdk gradle ];
 
     buildPhase = ''
-      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} emojiGraphicsClasses emojiListClasses
+      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} :freeplane:downloadEmoji
     '';
 
     installPhase = ''
@@ -80,19 +85,19 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0zikbakbr2fhyv4h4h52ajhznjka0hg6hiqfy1528a39i6psipn3";
+    outputHash = emoji_outputHash;
   };
 
 in stdenv.mkDerivation rec {
   inherit pname version src;
 
-  nativeBuildInputs = [ makeWrapper jdk11 gradle_5 ];
+  nativeBuildInputs = [ makeWrapper jdk gradle ];
 
   buildPhase = ''
     mkdir -p -- ./freeplane/build/emoji/{txt,resources/images}
     cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt
     cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji
-    GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build
+    GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build
   '';
 
   installPhase = ''
@@ -102,8 +107,8 @@ in stdenv.mkDerivation rec {
     cp -a ./BIN/. $out/share/${pname}
     makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \
       --set FREEPLANE_BASE_DIR $out/share/${pname} \
-      --set JAVA_HOME ${jdk11} \
-      --prefix PATH : ${lib.makeBinPath [ jdk11 which ]}
+      --set JAVA_HOME ${jdk} \
+      --prefix PATH : ${lib.makeBinPath [ jdk which ]}
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index ed0e3e72be2d..dc5dedbd1ad9 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.20.5";
+  version = "1.21.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UJAoxRybEYxQY+7l/szSj9fy1J552yaxF3MdaEmDiQQ=";
+    sha256 = "sha256-D/K+C7IX4VGv+FFYuPQEqwVYSjiDcSeElVunVMiFWI8=";
   };
 
   propagatedBuildInputs = [ requests yt-dlp ];
diff --git a/nixpkgs/pkgs/applications/misc/gnome-solanum/default.nix b/nixpkgs/pkgs/applications/misc/gnome-solanum/default.nix
new file mode 100644
index 000000000000..8ad1267afa93
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/gnome-solanum/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, rustPlatform
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+, python3
+, git
+, glib
+, gtk4
+, gst_all_1
+, libadwaita
+}:
+
+stdenv.mkDerivation rec {
+  pname = "solanum";
+  version = "3.0.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "Solanum";
+    rev = "v${version}";
+    sha256 = "0cga6cz6jfbipzp008rjznkz7844licdc34lk133fcyqil0cg0ap";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "10kzv98b2fiql9f6n2fv6lrgq4fdzxq0h4nzcq9jrw3fsggzl0wb";
+  };
+
+  postPatch = ''
+    patchShebangs build-aux
+  '';
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    python3
+    git
+    desktop-file-utils
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/World/Solanum";
+    description = "A pomodoro timer for the GNOME desktop";
+    maintainers = with maintainers; [ linsui ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/gosmore/default.nix b/nixpkgs/pkgs/applications/misc/gosmore/default.nix
index 854fec8642a8..bd87e7b4aeb6 100644
--- a/nixpkgs/pkgs/applications/misc/gosmore/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gosmore/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, fetchsvn, libxml2, gtk2, curl, pkg-config } :
 
-let
+stdenv.mkDerivation rec {
+  pname = "gosmore";
   version = "31801";
-in
-stdenv.mkDerivation {
-  name = "gosmore-r${version}";
   # the gosmore svn repository does not lock revision numbers of its externals
   # so we explicitly disable them to avoid breaking the hash
   # especially as the externals appear to be unused
diff --git a/nixpkgs/pkgs/applications/misc/joshuto/default.nix b/nixpkgs/pkgs/applications/misc/joshuto/default.nix
index 7d4ec87b9f4b..32018d7151db 100644
--- a/nixpkgs/pkgs/applications/misc/joshuto/default.nix
+++ b/nixpkgs/pkgs/applications/misc/joshuto/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "joshuto";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "kamiyaa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-9TGHSGYCzU6uAIO4zZ/6+B4oVPE6SD9Phl4dShylW5o=";
+    sha256 = "sha256-RbA7MM/3u2LJG6QD5f15E/XoLwHMkPasx0ht4PqV/jc=";
   };
 
-  cargoSha256 = "sha256-g8YYOk2RW4GPdkWlvAxd5KFdV4S1l5yKEzNm9OAc8RI=";
+  cargoSha256 = "sha256-vhTfAoAwDJ9BjhgUEkV2H+KAetJR1YqwaZ7suF6yMXA=";
 
   buildInputs = lib.optional stdenv.isDarwin SystemConfiguration;
 
diff --git a/nixpkgs/pkgs/applications/misc/keepassx/community.nix b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
index a8548f2c5c00..c2e7ae58eb3c 100644
--- a/nixpkgs/pkgs/applications/misc/keepassx/community.nix
+++ b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
@@ -22,6 +22,7 @@
 , qtx11extras
 , quazip
 , readline
+, wrapGAppsHook
 , wrapQtAppsHook
 , yubikey-personalization
 , zlib
@@ -90,7 +91,7 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
-  nativeBuildInputs = [ asciidoctor cmake wrapQtAppsHook qttools pkg-config ];
+  nativeBuildInputs = [ asciidoctor cmake wrapGAppsHook wrapQtAppsHook qttools pkg-config ];
 
   buildInputs = [
     curl
diff --git a/nixpkgs/pkgs/applications/misc/koreader/default.nix b/nixpkgs/pkgs/applications/misc/koreader/default.nix
index 2e6318f98807..0a082cce3274 100644
--- a/nixpkgs/pkgs/applications/misc/koreader/default.nix
+++ b/nixpkgs/pkgs/applications/misc/koreader/default.nix
@@ -13,12 +13,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2022.02";
+  version = "2022.03.1";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "sha256-gR81ZN0N3bmvLVqwUanXTrpBnzhPZT0bo4J8VOfaJh8=";
+    sha256 = "sha256-ZoqITWPR60G4xY9InrtIY9rCWUk0PidGFZokHLWl5ps=";
   };
 
   sourceRoot = ".";
diff --git a/nixpkgs/pkgs/applications/misc/kratos/default.nix b/nixpkgs/pkgs/applications/misc/kratos/default.nix
index a0b67042ecac..043f607c010d 100644
--- a/nixpkgs/pkgs/applications/misc/kratos/default.nix
+++ b/nixpkgs/pkgs/applications/misc/kratos/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kratos";
-  version = "0.8.0-alpha.3";
+  version = "0.8.3-alpha.1.pre.0";
 
   src = fetchFromGitHub {
     owner = "ory";
     repo = "kratos";
     rev = "v${version}";
-    sha256 = "0ihq2kxjackicxg0hrpmx6bsgz056xbaq3j8py37z2w6mwszarcg";
+    sha256 = "1225paf0x6lb6cb3q5f4lyz0r426ifx4x8145q7nsc6v64srck2y";
   };
 
-  vendorSha256 = "175pckj30cm5xkbvsdvwzarvwapsylyjgj4ss8v5r1sa0fjpj008";
+  vendorSha256 = "10zhxbccjsp6hbmk2lnvbag6c92hz703mcaigaj4wvlf7glpldm6";
 
   subPackages = [ "." ];
 
@@ -25,7 +25,7 @@ buildGoModule rec {
        test/e2e/run.sh
        script/testenv.sh
        script/test-envs.sh
-       persistence/sql/migratest/update_fixtures.sh
+       script/debug-entrypoint.sh
     )
     patchShebangs "''${files[@]}"
 
diff --git a/nixpkgs/pkgs/applications/misc/lighthouse/default.nix b/nixpkgs/pkgs/applications/misc/lighthouse/default.nix
index e9aa79dcdd83..01ffb7a9ffe8 100644
--- a/nixpkgs/pkgs/applications/misc/lighthouse/default.nix
+++ b/nixpkgs/pkgs/applications/misc/lighthouse/default.nix
@@ -3,8 +3,8 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lighthouse-${date}";
-  date = "2016-07-20";
+  pname = "lighthouse";
+  version = "unstable-2016-07-20";
 
   src = fetchFromGitHub {
     owner = "emgram769";
diff --git a/nixpkgs/pkgs/applications/misc/logseq/default.nix b/nixpkgs/pkgs/applications/misc/logseq/default.nix
index 81c9e9d55156..153e50f9a873 100644
--- a/nixpkgs/pkgs/applications/misc/logseq/default.nix
+++ b/nixpkgs/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.3";
+  version = "0.6.5";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "o3tBHk7bauNczz6lPS3lV0mpYEaBa0lh/mAJKJM2eWU=";
+    sha256 = "WKROcCv0IzRnQd74j5Iget5jlfyDbeJ/PXgZmSNrSsQ=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
index 88b3d253114d..0ff5b4a6a625 100644
--- a/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/nixpkgs/pkgs/applications/misc/lutris/fhsenv.nix
@@ -7,7 +7,7 @@
 let
 
   qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
-  gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.gnome-desktop gnome.libgnome-keyring webkitgtk ];
+  gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome-desktop gnome.libgnome-keyring webkitgtk ];
   xorgDeps = pkgs: with pkgs.xorg; [
     libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
     libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
diff --git a/nixpkgs/pkgs/applications/misc/mob/default.nix b/nixpkgs/pkgs/applications/misc/mob/default.nix
index f6490906b55e..2b9c847bac8f 100644
--- a/nixpkgs/pkgs/applications/misc/mob/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mob/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildGoPackage
 , fetchFromGitHub
-
-, withSpeech ? true
+, stdenv
+, withSpeech ? !stdenv.isDarwin
 , makeWrapper
 , espeak-ng
 }:
diff --git a/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix b/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
index 1a764dfaef30..c29813517496 100644
--- a/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/moonlight-qt/default.nix
@@ -57,5 +57,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ luc65r ];
     platforms = platforms.all;
+    mainProgram = "moonlight";
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/mop/default.nix b/nixpkgs/pkgs/applications/misc/mop/default.nix
index f31b79c9ddf4..105728b7f044 100644
--- a/nixpkgs/pkgs/applications/misc/mop/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mop/default.nix
@@ -1,9 +1,15 @@
-{ lib, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "mop";
   version = "0.2.0";
-  rev = "bc666ec165d08b43134f7ec0bf29083ad5466243";
+
+  src = fetchFromGitHub {
+    owner = "mop-tracker";
+    repo = "mop";
+    rev = "bc666ec165d08b43134f7ec0bf29083ad5466243";
+    sha256 = "sha256-fX7G4M3gfv31Eb2HChTY4RfVF2U92000U4ZnFNML5X4=";
+  };
 
   goPackagePath = "github.com/michaeldv/mop";
   goDeps = ./deps.nix;
@@ -16,12 +22,6 @@ buildGoPackage rec {
     mv cmd mop
   '';
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/mop-tracker/mop";
-    sha256 = "0zp51g9i8rw6acs4vnrxclbxa5z1v0a0m1xx27szszp0rphcczkx";
-  };
-
   meta = with lib; {
     description = "Simple stock tracker implemented in go";
     homepage =  "https://github.com/mop-tracker/mop";
diff --git a/nixpkgs/pkgs/applications/misc/mucommander/default.nix b/nixpkgs/pkgs/applications/misc/mucommander/default.nix
index 648b4951504f..681e2d3eb4e6 100644
--- a/nixpkgs/pkgs/applications/misc/mucommander/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mucommander/default.nix
@@ -2,7 +2,6 @@
 
 let
   version = "0.9.3-3";
-  name = "mucommander-${version}";
 
   src = fetchFromGitHub {
     owner = "mucommander";
@@ -34,8 +33,8 @@ let
 
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
-    inherit src postPatch;
+    pname = "mucommander-deps";
+    inherit version src postPatch;
     nativeBuildInputs = [ gradle_6 perl ];
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
@@ -53,7 +52,8 @@ let
   };
 
 in stdenv.mkDerivation {
-  inherit name src postPatch;
+  pname = "mucommander";
+  inherit version src postPatch;
   nativeBuildInputs = [ gradle_6 perl makeWrapper ];
 
   buildPhase = ''
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/0001-Use-command-v-in-favor-of-which.patch b/nixpkgs/pkgs/applications/misc/mupdf/0001-Use-command-v-in-favor-of-which.patch
new file mode 100644
index 000000000000..26ed3aec9fb7
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mupdf/0001-Use-command-v-in-favor-of-which.patch
@@ -0,0 +1,25 @@
+From b2935ed7e2962d73f3b493c38c0bb1e8659c0a60 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Tue, 8 Mar 2022 23:59:19 +0100
+Subject: [PATCH 1/2] Use command -v in favor of which
+
+---
+ Makerules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makerules b/Makerules
+index 0fdaecb..6d52cca 100644
+--- a/Makerules
++++ b/Makerules
+@@ -145,7 +145,7 @@ else ifeq ($(OS),MACOS)
+   LD = xcrun ld
+   RANLIB = xcrun ranlib
+ 
+-  ifeq (, $(shell which pkg-config))
++  ifeq (, $(shell command -v pkg-config))
+     $(warning "No pkg-config found, install it for proper integration of libcrypto")
+   else
+     HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch b/nixpkgs/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch
new file mode 100644
index 000000000000..2fe1a4afd9fd
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mupdf/0002-Add-Darwin-deps.patch
@@ -0,0 +1,57 @@
+From 0f0ccfc01cfe72d96eafee57ec6c5107f09c7238 Mon Sep 17 00:00:00 2001
+From: toonn <toonn@toonn.io>
+Date: Wed, 9 Mar 2022 00:08:28 +0100
+Subject: [PATCH 2/2] Add Darwin deps
+
+---
+ Makerules | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+diff --git a/Makerules b/Makerules
+index 6d52cca..a6bd0ed 100644
+--- a/Makerules
++++ b/Makerules
+@@ -153,6 +153,40 @@ else ifeq ($(OS),MACOS)
+ 	  LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+ 	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+     endif
++    # Required for mupdf-gl
++    ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
++          SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
++          SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++    endif
++    ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
++          SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
++          SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++    endif
++    ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
++          SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
++          SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++    endif
++    ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
++          SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
++          SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++    endif
++    # Required for mupdf-x11
++    HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++    ifeq ($(HAVE_X11),yes)
++          X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
++          X11_LIBS := $(shell pkg-config --libs x11 xext)
++    endif
++    # Required for mupdf-x11-curl
++    HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++    ifeq ($(HAVE_SYS_CURL),yes)
++          SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
++          SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++    endif
++    HAVE_PTHREAD := yes
++    ifeq ($(HAVE_PTHREAD),yes)
++          PTHREAD_CFLAGS :=
++          PTHREAD_LIBS := -lpthread
++    endif
+   endif
+ 
+ else ifeq ($(OS),Linux)
+-- 
+2.17.2 (Apple Git-113)
+
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix b/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix
index 95e9c7c3307a..ec978b9fc3a2 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix
+++ b/nixpkgs/pkgs/applications/misc/mupdf/1.17.nix
@@ -82,7 +82,6 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://mupdf.com";
-    repositories.git = "git://git.ghostscript.com/mupdf.git";
     description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra fpletz ];
diff --git a/nixpkgs/pkgs/applications/misc/mupdf/default.nix b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
index 7bb9a89b8b39..99812bcdc8c9 100644
--- a/nixpkgs/pkgs/applications/misc/mupdf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/mupdf/default.nix
@@ -2,6 +2,9 @@
 , lib
 , fetchurl
 , fetchpatch
+, copyDesktopItems
+, makeDesktopItem
+, desktopToDarwinBundle
 , pkg-config
 , freetype
 , harfbuzz
@@ -10,7 +13,7 @@
 , libjpeg
 , darwin
 , gumbo
-, enableX11 ? true
+, enableX11 ? (!stdenv.isDarwin)
 , libX11
 , libXext
 , libXi
@@ -21,6 +24,7 @@
 , enableGL ? true
 , freeglut
 , libGLU
+, xcbuild
 }:
 let
 
@@ -39,6 +43,10 @@ stdenv.mkDerivation rec {
     sha256 = "1vfyhlqq1a0k0drcggly4bgsjasmf6lmpfbdi5xcrwdbzkagrbr1";
   };
 
+  patches = [ ./0001-Use-command-v-in-favor-of-which.patch
+              ./0002-Add-Darwin-deps.patch
+            ];
+
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
   '';
@@ -50,8 +58,12 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ]
     ++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optional (enableGL || enableX11) copyDesktopItems
+    ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
+
   buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
+    ++ lib.optional stdenv.isDarwin xcbuild
     ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
     ++ lib.optionals enableCurl [ curl openssl ]
     ++ lib.optionals enableGL (
@@ -68,6 +80,30 @@ stdenv.mkDerivation rec {
     rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = pname;
+      comment = meta.description;
+      icon = "mupdf";
+      exec = "${pname} %f";
+      terminal = false;
+      mimeTypes = [
+        "application/epub+zip"
+        "application/oxps"
+        "application/pdf"
+        "application/vnd.ms-xpsdocument"
+        "application/x-cbz"
+        "application/x-pdf"
+      ];
+      categories = [ "Graphics" "Viewer" ];
+      keywords = [
+        "mupdf" "comic" "document" "ebook" "viewer"
+        "cbz" "epub" "fb2" "pdf" "xps"
+      ];
+    })
+  ];
+
   postInstall = ''
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
@@ -83,26 +119,19 @@ stdenv.mkDerivation rec {
     EOF
 
     moveToOutput "bin" "$bin"
-  '' + lib.optionalString enableX11 ''
+  '' + lib.optionalString (enableX11 || enableGL) ''
+    mkdir -p $bin/share/icons/hicolor/48x48/apps
+    cp docs/logo/mupdf.png $bin/share/icons/hicolor/48x48/apps
+  '' + (if enableGL then ''
+    ln -s "$bin/bin/mupdf-gl" "$bin/bin/mupdf"
+  '' else lib.optionalString (enableX11) ''
     ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
-    mkdir -p $bin/share/applications
-    cat > $bin/share/applications/mupdf.desktop <<EOF
-    [Desktop Entry]
-    Type=Application
-    Version=1.0
-    Name=mupdf
-    Comment=PDF viewer
-    Exec=$bin/bin/mupdf-x11 %f
-    Terminal=false
-    MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
-    EOF
-  '';
+  '');
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://mupdf.com";
-    repositories.git = "git://git.ghostscript.com/mupdf.git";
     description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra fpletz ];
diff --git a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
index 57b1b6256906..b7485255b8a8 100644
--- a/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nix-tour/default.nix
@@ -1,34 +1,50 @@
-{ lib, stdenv, fetchgit, electron, runtimeShell } :
+{ lib
+, stdenv
+, fetchFromGitHub
+, electron
+, runtimeShell
+, makeWrapper
+, copyDesktopItems
+, makeDesktopItem
+}:
 
 stdenv.mkDerivation rec {
   pname = "nix-tour";
-  version = "0.0.1";
+  version = "unstable-2022-01-03";
 
-  buildInputs = [ electron ];
-
-  src = fetchgit {
-    url = "https://github.com/nixcloud/tour_of_nix";
-    rev = "v${version}";
-    sha256 = "09b1vxli4zv1nhqnj6c0vrrl51gaira94i8l7ww96fixqxjgdwvb";
+  src = fetchFromGitHub {
+    owner = "nixcloud";
+    repo = "tour_of_nix";
+    rev = "6a6784983e6dc121574b97eb9b1d03592c8cb9a7";
+    sha256 = "sha256-BhQz59wkwwY0ShXzqUD6MQl4NE/jUik5RbLzseEc5Bc=";
   };
 
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
+  buildInputs = [ electron ];
+
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share
-    cp -R * $out/share
-    chmod 0755 $out/share/ -R
-    echo "#!${runtimeShell}" > $out/bin/nix-tour
-    echo "cd $out/share/" >> $out/bin/nix-tour
-    echo "${electron}/bin/electron $out/share/electron-main.js" >> $out/bin/nix-tour
-    chmod 0755 $out/bin/nix-tour
+    install -d $out/bin $out/share/nix-tour
+    cp -R * $out/share/nix-tour
+    makeWrapper ${electron}/bin/electron $out/bin/nix-tour \
+      --add-flags $out/share/nix-tour/electron-main.js
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "Tour of Nix";
+      genericName = "Tour of Nix";
+      comment =
+        "Interactive programming guide dedicated to the nix programming language";
+      categories = [ "Development" "Documentation" ];
+      exec = "nix-tour";
+    })
+  ];
+
   meta = with lib; {
     description = "'the tour of nix' from nixcloud.io/tour as offline version";
     homepage = "https://nixcloud.io/tour";
     license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ qknight ];
+    maintainers = with maintainers; [ qknight yuu ];
   };
-
 }
diff --git a/nixpkgs/pkgs/applications/misc/nut/default.nix b/nixpkgs/pkgs/applications/misc/nut/default.nix
index 4694c243b391..41f46ff1c003 100644
--- a/nixpkgs/pkgs/applications/misc/nut/default.nix
+++ b/nixpkgs/pkgs/applications/misc/nut/default.nix
@@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
       It uses a layered approach to connect all of the parts.
     '';
     homepage = "https://networkupstools.org/";
-    repositories.git = "https://github.com/networkupstools/nut.git";
     platforms = platforms.linux;
     maintainers = [ maintainers.pierron ];
     license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
diff --git a/nixpkgs/pkgs/applications/misc/obsidian/default.nix b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
index 67a0939ddab9..3dad5c846952 100644
--- a/nixpkgs/pkgs/applications/misc/obsidian/default.nix
+++ b/nixpkgs/pkgs/applications/misc/obsidian/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "0.13.31";
+  version = "0.14.2";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
     homepage = "https://obsidian.md";
@@ -21,23 +21,12 @@ let
     maintainers = with maintainers; [ conradmearns zaninime opeik ];
   };
 
+  filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
-    url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}${extension}";
-    inherit sha256;
+    url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
+    sha256 = if stdenv.isDarwin then "128kgqkf54ljkglwqa6i0qnfqhhmsv7hwbaqnml95n5dzyxrbm4s" else "00gip6pvkbywywlx71j87sxyh8yhkd36i1ydncbpnhsplr6smsq3";
   };
 
-  sha256 = rec {
-    x86_64-linux = "v3Zm5y8V1KyWDQeJxhryBojz56OTT7gfT+pLGDUD4zs=";
-    x86_64-darwin = "m/81uuDhMJJ1tHTUPww+xNdwsaYCOmeNtbjdwMAwhBU=";
-    aarch64-darwin = x86_64-darwin;
-  }.${system};
-
-  extension = rec {
-    x86_64-linux = ".tar.gz";
-    x86_64-darwin = "-universal.dmg";
-    aarch64-darwin = x86_64-darwin;
-  }.${system};
-
   linux = stdenv.mkDerivation rec {
     icon = fetchurl {
       url = "https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png";
@@ -49,8 +38,9 @@ let
       desktopName = "Obsidian";
       comment = "Knowledge base";
       icon = "obsidian";
-      exec = "obsidian";
+      exec = "obsidian %u";
       categories = [ "Office" ];
+      mimeTypes = [ "x-scheme-handler/obsidian" ];
     };
 
     inherit pname version src;
diff --git a/nixpkgs/pkgs/applications/misc/octoprint/default.nix b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
index eda78c54a10e..4dc6f8763189 100644
--- a/nixpkgs/pkgs/applications/misc/octoprint/default.nix
+++ b/nixpkgs/pkgs/applications/misc/octoprint/default.nix
@@ -34,6 +34,47 @@ let
         (mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
         (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
 
+        # black uses hash, not sha256 identifier. Newer black version requires newer click version
+        (
+          self: super: {
+            black = super.black.overridePythonAttrs (oldAttrs: rec {
+              version = "21.12b0";
+              src = oldAttrs.src.override {
+                inherit version;
+                hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
+              };
+              doCheck = false;
+            });
+          }
+        )
+
+        # tests need network
+        (
+          self: super: {
+            curio = super.curio.overridePythonAttrs (oldAttrs: rec {
+              disabledTests = [
+                "test_timeout"
+                "test_ssl_outgoing"
+              ];
+            });
+          }
+        )
+
+        # tests need network
+        (
+          self: super: {
+            trio = super.trio.overridePythonAttrs (oldAttrs: rec {
+              disabledTests = [
+                "test_local_address_real"
+              ];
+              disabledTestPaths = [
+                "trio/tests/test_exports.py"
+                "trio/tests/test_socket.py"
+              ];
+            });
+          }
+        )
+
         # Requires flask<2, cannot mkOverride because tests need to be disabled
         (
           self: super: {
@@ -400,7 +441,7 @@ let
                 homepage = "https://octoprint.org/";
                 description = "The snappy web interface for your 3D printer";
                 license = licenses.agpl3Only;
-                maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
+                maintainers = with maintainers; [ abbradar gebner WhittlesJr gador ];
               };
             };
           }
diff --git a/nixpkgs/pkgs/applications/misc/orca/default.nix b/nixpkgs/pkgs/applications/misc/orca/default.nix
index d0b2c85f1078..63923188db7b 100644
--- a/nixpkgs/pkgs/applications/misc/orca/default.nix
+++ b/nixpkgs/pkgs/applications/misc/orca/default.nix
@@ -34,13 +34,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "41.2";
+  version = "42.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
+    sha256 = "LCUXmrQbJgsY8f+Jm+uv5olDi0nf/SEd78l2olCT9zo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/applications/misc/organicmaps/default.nix b/nixpkgs/pkgs/applications/misc/organicmaps/default.nix
new file mode 100644
index 000000000000..7e320e5f367a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/organicmaps/default.nix
@@ -0,0 +1,91 @@
+{ lib
+, mkDerivation
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, pkg-config
+, which
+, python3
+, rsync
+, makeWrapper
+, qtbase
+, qtsvg
+, libGLU
+, libGL
+, zlib
+, icu
+, freetype
+}:
+
+mkDerivation rec {
+  pname = "organicmaps";
+  version = "2022.03.23-4-android";
+
+  src = fetchFromGitHub {
+    owner = "organicmaps";
+    repo = "organicmaps";
+    rev = version;
+    sha256 = "sha256-4VBsHq8z/odD7Nrk9e0sYMEBBLeTAHsWsdgPIN1KVZo=";
+    fetchSubmodules = true;
+  };
+
+  postPatch = ''
+    # Disable certificate check. It's dependent on time
+    echo "exit 0" > tools/unix/check_cert.sh
+
+    # crude fix for https://github.com/organicmaps/organicmaps/issues/1862
+    echo "echo ${lib.replaceStrings ["." "-" "android"] ["" "" ""] version}" > tools/unix/version.sh
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkg-config
+    which
+    python3
+    rsync
+    makeWrapper
+  ];
+
+  # Most dependencies are vendored
+  buildInputs = [
+    qtbase
+    qtsvg
+    libGLU
+    libGL
+    zlib
+    icu
+    freetype
+  ];
+
+  # Yes, this is PRE configure. The configure phase uses cmake
+  preConfigure = ''
+    bash ./configure.sh
+  '';
+
+  postInstall = ''
+    install -Dm755 OMaps $out/bin/OMaps
+    # Tell the program that the read-only and the read-write data locations
+    # are different, and create the read-write one.
+    wrapProgram $out/bin/OMaps \
+      --add-flags "-resources_path $out/share/organicmaps/data" \
+      --add-flags '-data_path "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"' \
+      --run 'mkdir -p "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"'
+
+    mkdir -p $out/share/organicmaps
+    cp -r ../data $out/share/organicmaps/data
+    install -Dm644 ../qt/res/logo.png $out/share/icons/hicolor/96x96/apps/organicmaps.png
+    install -Dm644 ../qt/res/OrganicMaps.desktop $out/share/applications/OrganicMaps.desktop
+  '';
+
+  meta = with lib; {
+    homepage = "https://organicmaps.app/";
+    description = "Detailed Offline Maps for Travellers, Tourists, Hikers and Cyclists";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+    mainProgram = "OMaps";
+    broken = stdenv.isDarwin; # "invalid application of 'sizeof' to a function type"
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix b/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
index 20a953384971..e21b06bf25ca 100644
--- a/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfdiff/default.nix
@@ -1,9 +1,7 @@
 { lib, python2Packages, fetchurl, xpdf }:
-let
-  py = python2Packages;
-in
-py.buildPythonApplication rec {
-  name = "pdfdiff-${version}";
+
+python2Packages.buildPythonApplication rec {
+  pname = "pdfdiff";
   version = "0.92";
 
   src = fetchurl {
diff --git a/nixpkgs/pkgs/applications/misc/pdfpc/default.nix b/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
index ec78c43dbe04..9bf5907a23be 100644
--- a/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/pdfpc/default.nix
@@ -3,13 +3,12 @@
 , webkitgtk, discount, json-glib }:
 
 stdenv.mkDerivation rec {
-  name = "${product}-${version}";
-  product = "pdfpc";
+  pname = "pdfpc";
   version = "4.5.0";
 
   src = fetchFromGitHub {
-    repo = product;
-    owner = product;
+    repo = "pdfpc";
+    owner = "pdfpc";
     rev = "v${version}";
     sha256 = "0bmy51w6ypz927hxwp5g7wapqvzqmsi3w32rch6i3f94kg1152ck";
   };
diff --git a/nixpkgs/pkgs/applications/misc/phoc/default.nix b/nixpkgs/pkgs/applications/misc/phoc/default.nix
index 7acdcdf02c45..ee6c213fbf2c 100644
--- a/nixpkgs/pkgs/applications/misc/phoc/default.nix
+++ b/nixpkgs/pkgs/applications/misc/phoc/default.nix
@@ -9,6 +9,7 @@
 , wrapGAppsHook
 , libinput
 , gnome
+, gnome-desktop
 , glib
 , gtk3
 , wayland
@@ -33,6 +34,12 @@ let
         url = "https://github.com/swaywm/wlroots/commit/66593071bc90a1cccaeedc636eb6f33c973f5362.patch";
         sha256 = "sha256-yKf/twdUzrII5IakH7AH6LGyPDo9Nl/gIB0pTThSTfY=";
       })
+      # xdg-activation: Allow to submit tokens
+      (fetchpatch {
+        name = "allow-to-submit-tokens.patch";
+        url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4c59f7d46a949548caa55805b00922f846d58525.patch";
+        sha256 = "sha256-1kUIt6lV3HXN2BBBER8sjYVLTvgqELdSeFullJjNGo8=";
+      })
       # xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
       (fetchpatch {
         name = "allow-to-retrieve-startup-id-via-net-startup-info.patch";
@@ -43,7 +50,7 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -51,7 +58,7 @@ in stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kfMM/YjgAktpOKHNcxxl1FPVbgATPDNRhEJ/sVT1LYs=";
+    sha256 = "sha256-65u59S6ntvkoQUO5BvkHZVcbj6cHIU4CgHWjzFo6s94=";
   };
 
   nativeBuildInputs = [
@@ -68,7 +75,7 @@ in stdenv.mkDerivation rec {
     libinput
     glib
     gtk3
-    gnome.gnome-desktop
+    gnome-desktop
     # For keybindings settings schemas
     gnome.mutter
     wayland
diff --git a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
index 6ae7f422f022..dd6184f4ff6f 100644
--- a/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/nixpkgs/pkgs/applications/misc/prusa-slicer/default.nix
@@ -4,7 +4,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "prusa-slicer";
-  version = "2.4.0";
+  version = "2.4.1";
 
   nativeBuildInputs = [
     cmake
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "prusa3d";
     repo = "PrusaSlicer";
-    sha256 = "1mb7v0khrmsgy3inmh4mjn709jlhx422kvbnrhsqziph2wwak9bz";
+    sha256 = "sha256-4L/x8cMQee3n20iyWEiXd62NtA6BYM1SHkCn8ZlDNWA=";
     rev = "version_${version}";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index 7a4d2ee1d254..c3037f0da8d2 100644
--- a/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/nixpkgs/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -45,7 +45,7 @@ let
 
     meta = with lib; {
       inherit description;
-      homepage = "https://github.com/supermerili/SuperSlicer";
+      homepage = "https://github.com/supermerill/SuperSlicer";
       license = licenses.agpl3;
       maintainers = with maintainers; [ cab404 moredread ];
       mainProgram = "superslicer";
diff --git a/nixpkgs/pkgs/applications/misc/qmetro/default.nix b/nixpkgs/pkgs/applications/misc/qmetro/default.nix
index 70c41ff3142f..2678f744f8ed 100644
--- a/nixpkgs/pkgs/applications/misc/qmetro/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qmetro/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "${project}-${version}";
-  project = "qmetro";
+  pname = "qmetro";
   version = "0.7.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${project}/${name}.zip";
+    url = "mirror://sourceforge/qmetro/qmetro-${version}.zip";
     sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/regextester/default.nix b/nixpkgs/pkgs/applications/misc/regextester/default.nix
index b7eb2367528d..2a00cb92b9d1 100644
--- a/nixpkgs/pkgs/applications/misc/regextester/default.nix
+++ b/nixpkgs/pkgs/applications/misc/regextester/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    pantheon.elementary-icon-theme
     pantheon.granite
     glib
     libgee
diff --git a/nixpkgs/pkgs/applications/misc/sigi/default.nix b/nixpkgs/pkgs/applications/misc/sigi/default.nix
index 674432e7a024..62b8dd576591 100644
--- a/nixpkgs/pkgs/applications/misc/sigi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sigi/default.nix
@@ -2,11 +2,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
-  version = "3.0.2";
+  version = "3.0.3";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-N+8DdokiYW5mHIQJisdTja8xMVGip37X6c/xBYnQaRU=";
+    sha256 = "sha256-tjhNE20GE1L8kvhdI5Mc90I75q8szOIV40vq2CBt98U=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     installManPage sigi.1
   '';
 
-  cargoSha256 = "sha256-vO9ocTDcGt/T/sLCP+tCHXihV1H2liFDjI7OhhmPd3I=";
+  cargoSha256 = "sha256-0e0r6hfXGJmrc6tgCqq2dQXu2MhkThViZwdG3r3g028=";
 
   passthru.tests.version = testVersion { package = sigi; };
 
diff --git a/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix b/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
index 94c47c23afef..63a45758d932 100644
--- a/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
+++ b/nixpkgs/pkgs/applications/misc/sleepyhead/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, mkDerivation, fetchgit, zlib, libGLU, libX11, qtbase, qtwebkit, qtserialport, wrapQtAppsHook }:
 
-let
-  name = "sleepyhead-${version}";
+mkDerivation {
+  pname = "sleepyhead";
   version = "1.0.0-beta-git";
-in mkDerivation {
-  inherit name;
 
   src = fetchgit {
     url = "https://gitlab.com/sleepyhead/sleepyhead-code.git";
diff --git a/nixpkgs/pkgs/applications/misc/slic3r/default.nix b/nixpkgs/pkgs/applications/misc/slic3r/default.nix
index f4dd6c7185f5..8d929e0eef58 100644
--- a/nixpkgs/pkgs/applications/misc/slic3r/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slic3r/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, perl, makeWrapper
+{ lib, stdenv, fetchFromGitHub, perl, makeWrapper
 , makeDesktopItem, which, perlPackages, boost
 }:
 
@@ -6,10 +6,11 @@ stdenv.mkDerivation rec {
   version = "1.3.0";
   pname = "slic3r";
 
-  src = fetchgit {
-    url = "git://github.com/alexrj/Slic3r";
+  src = fetchFromGitHub {
+    owner = "alexrj";
+    repo = "Slic3r";
     rev = version;
-    sha256 = "1pg4jxzb7f58ls5s8mygza8kqdap2c50kwlsdkf28bz1xi611zbi";
+    sha256 = "sha256-cf0QTOzhLyTcbJryCQoTVzU8kfrPV6SLpqi4s36X5N0=";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/applications/misc/slmenu/default.nix b/nixpkgs/pkgs/applications/misc/slmenu/default.nix
index 16145a915feb..80aedd574187 100644
--- a/nixpkgs/pkgs/applications/misc/slmenu/default.nix
+++ b/nixpkgs/pkgs/applications/misc/slmenu/default.nix
@@ -1,30 +1,19 @@
 {lib, stdenv, fetchhg}:
-let
-  s =
-  rec {
-    baseName = "slmenu";
-    version = "hg-${date}";
-    date = "2012-02-01";
-    name = "${baseName}-${version}";
+
+stdenv.mkDerivation {
+  pname = "slmenu";
+  version = "hg-2012-02-01";
+
+  src = fetchhg {
     url = "https://bitbucket.org/rafaelgg/slmenu/";
     rev = "7e74fa5db73e8b018da48d50dbbaf11cb5c62d13";
     sha256 = "0zb7mm8344d3xmvrl62psazcabfk75pp083jqkmywdsrikgjagv6";
   };
-  buildInputs = [
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchhg {
-    inherit (s) url sha256;
-  };
   makeFlags = [ "PREFIX=$(out)" ];
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "A console dmenu-like tool";
-    license = lib.licenses.mit;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
index 08a54f49584a..07d7d605d809 100644
--- a/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/nixpkgs/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.9.2";
+  version = "2.9.4";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r6xm0Gq2QXWQEcYEu1n0y6S4r4odzYP8Srr0U+jZr6U=";
+    sha256 = "sha256-dHkbjmb9qlMO+pYUmdnoztkrMqPW6GfceAUxgnRmlDA=";
   };
 
-  vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
+  vendorSha256 = "sha256-zYIbtcDM9iYSRHagvI9D284Y7w0ZxG4Ba1p4jqmQyng=";
 
   # used at runtime, but not installed by default
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/stog/default.nix b/nixpkgs/pkgs/applications/misc/stog/default.nix
index 91a77d8de6fd..1d6373592fbf 100644
--- a/nixpkgs/pkgs/applications/misc/stog/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stog/default.nix
@@ -10,7 +10,7 @@ else
 buildDunePackage rec {
   pname = "stog";
   version = "0.20.0";
-  useDune2 = true;
+  duneVersion = "3";
   minimalOCamlVersion = "4.12";
   src = fetchFromGitLab {
     domain = "framagit.org";
diff --git a/nixpkgs/pkgs/applications/misc/stork/default.nix b/nixpkgs/pkgs/applications/misc/stork/default.nix
index 11face45145b..48e2859fa849 100644
--- a/nixpkgs/pkgs/applications/misc/stork/default.nix
+++ b/nixpkgs/pkgs/applications/misc/stork/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stork";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "jameslittle230";
     repo = "stork";
     rev = "v${version}";
-    sha256 = "sha256-9fylJcUuModemkBRnXeFfB1b+CD9IvTxW+CnlqaUb60=";
+    sha256 = "sha256-aBsxRLUufVUauySCxZKk/ZfcU/5KR7jOHmnx6mHmsFs=";
   };
 
-  cargoSha256 = "sha256-j7OXl66xuTuP6hWJs+xHrwtaBGAYt02OESCN6FH3KX0=";
+  cargoSha256 = "sha256-oNoWGdXYfp47IpqU1twbORPOYrHjArNf43Zyeyat4Xs=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
index 7b58ede38344..7d730421398c 100644
--- a/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/nixpkgs/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.20.1";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "sha256-NE0GKQ3ROD+AF5FCuaKJ+8g+wiYobVK8swK0F9jo2Lk=";
+    sha256 = "sha256-fgoK7Y+3h2VFfP8yiR8JM8Xf7UJbkX9PO1RoJRoYLW4=";
   };
 
   # Because there's a test that requires terminal access
   doCheck = false;
 
-  cargoSha256 = "sha256-hO5rff3bm8g3JYh5vFhj2L3f/hOgP0ZA0EhO3YF5DFw=";
+  cargoSha256 = "sha256-3rDvla1mCcQclALbomUTvE3aLzsMeIjcIbEv4KfCKZE=";
 
   meta = with lib; {
     description = "A terminal user interface for taskwarrior ";
diff --git a/nixpkgs/pkgs/applications/misc/tootle/default.nix b/nixpkgs/pkgs/applications/misc/tootle/default.nix
index f29c471d04b0..c11ad8d1e981 100644
--- a/nixpkgs/pkgs/applications/misc/tootle/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tootle/default.nix
@@ -68,6 +68,11 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
+    # Fix build with vala 0.56
+    # https://github.com/bleakgrey/tootle/pull/346
+    substituteInPlace src/Application.vala \
+      --replace "public const GLib.ActionEntry[] app_entries" "private const GLib.ActionEntry[] app_entries"
+
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
   '';
diff --git a/nixpkgs/pkgs/applications/misc/tpmmanager/default.nix b/nixpkgs/pkgs/applications/misc/tpmmanager/default.nix
index b2839a97efcc..a94363f4600c 100644
--- a/nixpkgs/pkgs/applications/misc/tpmmanager/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tpmmanager/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchgit, qt4, qmake4Hook, trousers }:
+{ lib, stdenv, fetchFromGitHub, qt4, qmake4Hook, trousers }:
 
 stdenv.mkDerivation rec {
   version = "0.8.1";
   pname = "tpmmanager";
 
-  src = fetchgit {
-    url = "https://github.com/Sirrix-AG/TPMManager";
-    rev = "9f989206635a6d2c1342576c90fa73eb239519cd";
-    sha256 = "24a606f88fed67ed0d0e61dc220295e9e1ab8db3ef3d028fa34b04ff30652d8e";
+  src = fetchFromGitHub {
+    owner = "Rohde-Schwarz";
+    repo = "TPMManager";
+    rev = "v${version}";
+    sha256 = "sha256-JKYG+I/tZ+0NDmHcIgKV6eGrjbPvPQKPo0sE/zBlLY4=";
   };
 
   nativeBuildInputs = [ qmake4Hook ];
diff --git a/nixpkgs/pkgs/applications/misc/tuhi/default.nix b/nixpkgs/pkgs/applications/misc/tuhi/default.nix
index 4bd0c914d3a1..bf939cfa1758 100644
--- a/nixpkgs/pkgs/applications/misc/tuhi/default.nix
+++ b/nixpkgs/pkgs/applications/misc/tuhi/default.nix
@@ -13,15 +13,15 @@
 }:
 
 python3Packages.buildPythonApplication rec {
-  name = "tuhi";
+  pname = "tuhi";
   version = "0.5";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "tuhiproject";
-    repo = name;
-    rev = "${version}";
+    repo = "tuhi";
+    rev = version;
     sha256 = "17kggm9c423vj7irxx248fjc8sxvkp9w1mgawlx1snrii817p3db";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/urlview/default.nix b/nixpkgs/pkgs/applications/misc/urlview/default.nix
index 0374fb91844d..2eca4cfccb31 100644
--- a/nixpkgs/pkgs/applications/misc/urlview/default.nix
+++ b/nixpkgs/pkgs/applications/misc/urlview/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchurl, ncurses, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version    = "0.9";
+  pname = "urlview";
+  _version    = "0.9";
   patchLevel = "19";
-
-  name = "urlview-${version}-${patchLevel}";
+  version = "${_version}-${patchLevel}";
 
   urlBase = "mirror://debian/pool/main/u/urlview/";
 
   src = fetchurl {
-    url = urlBase + "urlview_${version}.orig.tar.gz";
+    url = urlBase + "urlview_${_version}.orig.tar.gz";
     sha256 = "746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42";
   };
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   debianPatches = fetchurl {
-    url = urlBase + "urlview_${version}-${patchLevel}.diff.gz";
+    url = urlBase + "urlview_${_version}-${patchLevel}.diff.gz";
     sha256 = "056883c17756f849fb9235596d274fbc5bc0d944fcc072bdbb13d1e828301585";
   };
 
diff --git a/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix b/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
index cb4233be8ec3..91c8c69fe930 100644
--- a/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
+++ b/nixpkgs/pkgs/applications/misc/xmr-stak/default.nix
@@ -11,7 +11,7 @@ let
 in
 
 stdenv'.mkDerivation rec {
-  name = "xmr-stak-${version}";
+  pname = "xmr-stak";
   version = "2.10.8";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/applications/misc/zettlr/default.nix b/nixpkgs/pkgs/applications/misc/zettlr/default.nix
index 0d4c21dbfead..b0d1b79509a6 100644
--- a/nixpkgs/pkgs/applications/misc/zettlr/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zettlr/default.nix
@@ -10,11 +10,11 @@
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
   pname = "zettlr";
-  version = "2.2.3";
+  version = "2.2.4";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "sha256-BXStGhCEXpQRyLjcS00CM/NI/NVRKpLTlW8Xh51fV8w=";
+    sha256 = "sha256-lzXciToyUsHl8WV0IvdP6R2pYegL7/G04YPLb6gbCgQ=";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
diff --git a/nixpkgs/pkgs/applications/misc/zscroll/default.nix b/nixpkgs/pkgs/applications/misc/zscroll/default.nix
index 3acac8b3c68d..d3424938dd9b 100644
--- a/nixpkgs/pkgs/applications/misc/zscroll/default.nix
+++ b/nixpkgs/pkgs/applications/misc/zscroll/default.nix
@@ -1,9 +1,9 @@
 { lib, python3, python3Packages, fetchFromGitHub }:
 
-let version = "1.0"; in
+python3Packages.buildPythonApplication rec {
+  pname = "zscroll";
+  version = "1.0";
 
-python3Packages.buildPythonApplication {
-  name = "zscroll-${version}";
   # don't prefix with python version
   namePrefix = "";