about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops')
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix37
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libcroco.nix33
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch25
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/use-sane-install-dir.patch33
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix29
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-session/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch29
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix21
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch27
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/cinnamon/warpinator/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/extensions/unite/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qps/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/atril/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/mate/caja/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/mate/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/engrampa/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/mate/eom/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/mate/libmateweather/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/marco/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-applets/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-calc/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-common/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix15
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-media/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-menus/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-panel/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-themes/default.nix19
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix12
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/mate/mate-utils/default.nix5
-rw-r--r--nixpkgs/pkgs/desktops/mate/mozo/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/mate/pluma/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/mate/python-caja/default.nix4
-rwxr-xr-xnixpkgs/pkgs/desktops/mate/update.sh64
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/default.nix24
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/discover.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwayland-server/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/kwrited.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix3
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/milou.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix1
-rw-r--r--nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix1
-rw-r--r--nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/exo/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix4
120 files changed, 504 insertions, 411 deletions
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
index 11fcdb7452bb..65eede258326 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/default.nix
@@ -1,5 +1,4 @@
 { atk
-, autoreconfHook
 , cacert
 , fetchpatch
 , dbus
@@ -20,6 +19,7 @@
 , libsoup
 , libstartup_notification
 , libXtst
+, libXdamage
 , muffin
 , networkmanager
 , pkg-config
@@ -42,32 +42,25 @@
 , pciutils
 , timezonemap
 , libnma
+, meson
+, ninja
+, gst_all_1
 }:
 
-let
-  libcroco = callPackage ./libcroco.nix { };
-in
 stdenv.mkDerivation rec {
   pname = "cinnamon-common";
-  version = "4.6.1";
+  version = "4.8.6";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cinnamon";
     rev = version;
-    sha256 = "149lhg953fa0glm250f76z2jzyaabh97jxiqkjnqvsk6bjk1d0bw";
+    hash = "sha256-4DMXQYH1/RjLhgrn55I7Vkk6+gGsR+OVmiwxVHUIyro=";
   };
 
   patches = [
-    # remove dbus-glib
-    (fetchpatch {
-      url = "https://github.com/linuxmint/cinnamon/commit/ce99760fa15c3de2e095b9a5372eeaca646fbed1.patch";
-      sha256 = "0p2sbdi5w7sgblqbgisb6f8lcj1syzq5vlk0ilvwaqayxjylg8gz";
-    })
-    (fetchpatch {
-      url = "https://leigh123linux.fedorapeople.org/pub/patches/new_cjs.patch";
-      sha256 = "07biv3vkbn3jzijbdrxcw73p8xz2djbsax014mlkvmryrmys0rg4";
-    })
+    ./use-sane-install-dir.patch
+    ./libdir.patch
   ];
 
   buildInputs = [
@@ -84,16 +77,17 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     json-glib
-    libcroco
     libsoup
     libstartup_notification
     libXtst
+    libXdamage
     muffin
     networkmanager
     pkg-config
     polkit
     libxml2
     libgnomekbd
+    gst_all_1.gstreamer
 
     # bindings
     cairo
@@ -114,23 +108,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     gobject-introspection
-    autoreconfHook
+    meson
+    ninja
     wrapGAppsHook
     intltool
     gtk-doc
   ];
 
-  autoreconfPhase = ''
-    GTK_DOC_CHECK=false NOCONFIGURE=1 bash ./autogen.sh
-  '';
-
   configureFlags = [ "--disable-static" "--with-ca-certificates=${cacert}/etc/ssl/certs/ca-bundle.crt" "--with-libxml=${libxml2.dev}/include/libxml2" "--enable-gtk-doc=no" ];
 
   postPatch = ''
-    substituteInPlace src/Makefile.am \
-      --replace "\$(libdir)/muffin" "${muffin}/lib/muffin"
-    patchShebangs autogen.sh
-
     find . -type f -exec sed -i \
       -e s,/usr/share/cinnamon,$out/share/cinnamon,g \
       -e s,/usr/share/locale,/run/current-system/sw/share/locale,g \
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libcroco.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libcroco.nix
deleted file mode 100644
index d1ec77b70503..000000000000
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libcroco.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, libxml2, glib, gnome3 }:
-
-stdenv.mkDerivation rec {
-  pname = "libcroco";
-  version = "0.6.13";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn";
-  };
-
-  outputs = [ "out" "dev" ];
-  outputBin = "dev";
-
-  configureFlags = lib.optional stdenv.isDarwin "--disable-Bsymbolic";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxml2 glib ];
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "GNOME CSS2 parsing and manipulation toolkit";
-    homepage = https://gitlab.gnome.org/GNOME/libcroco;
-    license = licenses.lgpl2;
-    platforms = platforms.unix;
-  };
-}
-
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
new file mode 100644
index 000000000000..7783d0b3ad12
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/libdir.patch
@@ -0,0 +1,25 @@
+From 1c99ff9b042d77d97a0841c78fceb7cfbf41aa8b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Sun, 28 Feb 2021 05:58:09 +0100
+Subject: [PATCH] libdir patch
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 3c1e9a4f..a77d9b3c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -14,7 +14,7 @@ includedir = get_option('includedir')
+ libexecdir = get_option('libexecdir')
+ desktopdir = join_paths(datadir, 'applications')
+ schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
+-pkglibdir = join_paths(libdir, meson.project_name().to_lower())
++pkglibdir = libdir
+ servicedir = join_paths(datadir, 'dbus-1', 'services')
+ pkgdatadir = join_paths(datadir, meson.project_name().to_lower())
+ po_dir = join_paths(meson.source_root(), 'po')
+-- 
+2.30.0
+
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/use-sane-install-dir.patch b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/use-sane-install-dir.patch
new file mode 100644
index 000000000000..8cb6949cb2d3
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-common/use-sane-install-dir.patch
@@ -0,0 +1,33 @@
+From f7e802959d7a5c217ed574cab30404fc769f174d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Sat, 6 Feb 2021 14:26:26 +0100
+Subject: [PATCH] use sane install dir
+
+---
+ meson.build | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index bd803f20..3c1e9a4f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -127,8 +127,14 @@ configure_file(
+ )
+ 
+ install_subdir(
+-    'files',
+-    install_dir: '/',
++    'files/usr',
++    install_dir: get_option('prefix'),
++    strip_directory: true,
++)
++
++install_subdir(
++    'files/etc',
++    install_dir: join_paths(get_option('prefix'), 'etc'),
+     strip_directory: true,
+ )
+ 
+-- 
+2.30.0
+
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
index 4e951bfcc586..c2e50c65557e 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-control-center/default.nix
@@ -1,11 +1,9 @@
 { lib, stdenv
 , fetchFromGitHub
 , pkg-config
-, autoreconfHook
 , glib
 , gettext
 , cinnamon-desktop
-, intltool
 , gtk3
 , libnotify
 , libxml2
@@ -20,7 +18,7 @@
 , libxklavier
 , networkmanager
 , libwacom
-, libtool
+, gnome3
 , wrapGAppsHook
 , tzdata
 , glibc
@@ -28,17 +26,19 @@
 , modemmanager
 , xorg
 , gdk-pixbuf
+, meson
+, ninja
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-control-center";
-  version = "4.6.2";
+  version = "4.8.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "0fbgi2r2xikpa04k431qq9akngi9akyflq1kcks8f095qs5gsana";
+    hash = "sha256-vALThDY0uN9bV7b1fga3MK7b2/l5uL33+B2x6oSLPRE=";
   };
 
   buildInputs = [
@@ -70,16 +70,11 @@ stdenv.mkDerivation rec {
   ./panels/datetime/tz.h:34:#  define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab" */
 
   postPatch = ''
-    patchShebangs ./autogen.sh
     sed 's|TZ_DIR "/usr/share/zoneinfo/"|TZ_DIR "${tzdata}/share/zoneinfo/"|g' -i ./panels/datetime/test-timezone.c
     sed 's|TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"|TZ_DATA_FILE "${tzdata}/share/zoneinfo/zone.tab"|g' -i ./panels/datetime/tz.h
     sed 's|"/usr/share/i18n/locales/"|"${glibc}/share/i18n/locales/"|g' -i panels/datetime/test-endianess.c
   '';
 
-  autoreconfPhase = ''
-    NOCONFIGURE=1 bash ./autogen.sh
-  '';
-
   # it needs to have access to that file, otherwise we can't run tests after build
 
   preBuild = ''
@@ -87,19 +82,23 @@ stdenv.mkDerivation rec {
     ln -s $PWD/panels/datetime $out/share/cinnamon-control-center/
   '';
 
+  mesonFlags = [
+    "-Dc_args=-I${glib.dev}/include/gio-unix-2.0"
+  ];
+
   preInstall = ''
-    rm -rfv $out
+    rm -r $out
   '';
 
-  doCheck = true;
+  # the only test is wacom-calibrator and it seems to need an xserver and prob more services aswell
+  doCheck = false;
 
   nativeBuildInputs = [
     pkg-config
-    autoreconfHook
+    meson
+    ninja
     wrapGAppsHook
     gettext
-    intltool
-    libtool
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index cdcabb1261fe..25af38d43b5e 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-desktop";
-  version = "4.6.4";
+  version = "4.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "08z5hgc6dwdp9fczm75axwh8q9665iz4y2lxp92xp62r3k0v9fvd";
+    hash = "sha256-FLruY1lxzB3iJ/So3jSjrbv9e8VoN/0+U2YDXju/u3E=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index a17715064778..44566a94c6df 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-menus";
-  version = "4.6.1";
+  version = "4.8.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "1qdaql4mknhzvl2qi1pyw4c820lqb7lg07gblh0wzfk4f7h8hddx";
+    hash = "sha256-9VSrqCjC8U3js1gqjl5QFctWYECATxN+AdfMdHLxYUY=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index 0e8f6dbf8c3d..39dee473cc5a 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -23,27 +23,19 @@
 , xapps
 , xorg
 , iso-flags-png-320x420
-, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-screensaver";
-  version = "4.6.0";
+  version = "4.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "068lh6wcmznfyvny7hx83q2rf4j96b6mv4a5v79y02k9110m7bsm";
+    hash = "sha256-gvSGxSYKnRqJhj2unRYRHp6qGw/O9SxKPzhw5xjCSSQ=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/linuxmint/cinnamon-screensaver/pull/349/commits/4a9e5715f406bf2ca1aacddd5fd8f830102a423c.patch";
-      sha256 = "0fmkmskry4c88zcw0i8vsmh6q14k3m937hqi77p5xi1p93imr46y";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     wrapGAppsHook
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-session/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-session/default.nix
index 3d63846026a4..ba20bce4100d 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-session/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-session/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-session";
-  version = "4.6.2";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "133vpgs0dqr16pvx5wyxhfcargn9wl14z0q99m2pn93hf6zycmsv";
+    hash = "sha256-lrwR8VSdPzHoc9MeBEQPbVfWNhPZDJ2wYizKSVpobmk=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
index 967ba98eb48f..a11660bdb115 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/csd-backlight-helper-fix.patch
@@ -1,4 +1,4 @@
-From 6d71bf9764fb81d437678a603826167850bbf453 Mon Sep 17 00:00:00 2001
+From 7fa408ebd72c9f1ff7ff4e9d7f4a811465a8a41b Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
 Date: Tue, 21 Jan 2020 03:19:28 +0100
 Subject: [PATCH] fix: use an impure path to csd-backlight-helper to fix
@@ -6,35 +6,35 @@ Subject: [PATCH] fix: use an impure path to csd-backlight-helper to fix
 
 ---
  plugins/power/csd-power-manager.c                             | 4 ++--
- .../org.cinnamon.settings-daemon.plugins.power.policy.in.in   | 2 +-
+ .../org.cinnamon.settings-daemon.plugins.power.policy.in      | 2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/plugins/power/csd-power-manager.c b/plugins/power/csd-power-manager.c
-index b24c456..212c47e 100755
+index 33f4489..84dd98b 100644
 --- a/plugins/power/csd-power-manager.c
 +++ b/plugins/power/csd-power-manager.c
-@@ -2519,7 +2519,7 @@ backlight_helper_get_value (const gchar *argument, CsdPowerManager* manager,
+@@ -2529,7 +2529,7 @@ backlight_helper_get_value (const gchar *argument, CsdPowerManager* manager,
  #endif
-
+ 
          /* get the data */
 -        command = g_strdup_printf (LIBEXECDIR "/csd-backlight-helper --%s %s",
 +        command = g_strdup_printf ("/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %s",
                                     argument,
                                     manager->priv->backlight_helper_preference_args);
          ret = g_spawn_command_line_sync (command,
-@@ -2609,7 +2609,7 @@ backlight_helper_set_value (const gchar *argument,
+@@ -2619,7 +2619,7 @@ backlight_helper_set_value (const gchar *argument,
  #endif
-
+ 
          /* get the data */
 -        command = g_strdup_printf ("pkexec " LIBEXECDIR "/csd-backlight-helper --%s %i %s",
 +        command = g_strdup_printf ("pkexec " "/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper --%s %i %s",
                                     argument, value,
                                     manager->priv->backlight_helper_preference_args);
          ret = g_spawn_command_line_sync (command,
-diff --git a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
-index 2c44e62..c0a2348 100755
---- a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
-+++ b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in.in
+diff --git a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
+index 504f017..3569e8c 100644
+--- a/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
++++ b/plugins/power/org.cinnamon.settings-daemon.plugins.power.policy.in
 @@ -25,7 +25,7 @@
        <allow_inactive>no</allow_inactive>
        <allow_active>yes</allow_active>
@@ -42,7 +42,8 @@ index 2c44e62..c0a2348 100755
 -    <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/csd-backlight-helper</annotate>
 +    <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/cinnamon-settings-daemon/csd-backlight-helper</annotate>
    </action>
-
+ 
  </policyconfig>
---
-2.24.1
+-- 
+2.30.0
+
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
index c5bae4e57671..3df8760c8582 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/default.nix
@@ -1,12 +1,9 @@
 { fetchFromGitHub
-, autoconf-archive
-, autoreconfHook
 , cinnamon-desktop
 , colord
 , glib
 , gsettings-desktop-schemas
 , gtk3
-, intltool
 , lcms2
 , libcanberra-gtk3
 , libgnomekbd
@@ -29,11 +26,15 @@
 , tzdata
 , nss
 , libgudev
+, meson
+, ninja
+, dbus
+, dbus-glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-settings-daemon";
-  version = "4.6.4";
+  version = "4.8.5";
 
   /* csd-power-manager.c:50:10: fatal error: csd-power-proxy.h: No such file or directory
    #include "csd-power-proxy.h"
@@ -48,14 +49,15 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "1xcjzjfwnzvkv9jiyw8adsjyhz92almzhyfwb91115774zgqnb7m";
+    hash = "sha256-PAWVTjGFs8yKXgNQ2ucDnEDS+n7bp2n3lhGl9gHXfdQ=";
   };
 
   patches = [
     ./csd-backlight-helper-fix.patch
+    ./use-sane-install-dir.patch
   ];
 
-  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; # TODO: https://github.com/NixOS/nixpkgs/issues/36468
+  mesonFlags = [ "-Dc_args=-I${glib.dev}/include/gio-unix-2.0" ];
 
   buildInputs = [
     cinnamon-desktop
@@ -85,13 +87,14 @@ stdenv.mkDerivation rec {
     fontconfig
     nss
     libgudev
+    dbus
+    dbus-glib
   ];
 
   nativeBuildInputs = [
-    autoconf-archive
-    autoreconfHook
+    meson
+    ninja
     wrapGAppsHook
-    intltool
     pkg-config
   ];
 
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch
new file mode 100644
index 000000000000..d980431f81b9
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-settings-daemon/use-sane-install-dir.patch
@@ -0,0 +1,27 @@
+From be57c01e6595a8e08ecc17de298e30640b532f11 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= <mkg20001@gmail.com>
+Date: Sat, 6 Feb 2021 13:55:03 +0100
+Subject: [PATCH] use sane install-dir
+
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0e11d50..54f4637 100644
+--- a/meson.build
++++ b/meson.build
+@@ -156,8 +156,8 @@ subdir('cinnamon-settings-daemon')
+ subdir('plugins')
+ 
+ install_subdir(
+-    'files',
+-    install_dir: '/',
++    'files/usr',
++    install_dir: get_option('prefix'),
+     strip_directory: true,
+ )
+ 
+-- 
+2.30.0
+
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index 24bb38228688..dafb5f4b3fea 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "cinnamon-translations";
-  version = "4.6.2";
+  version = "4.8.3";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "0zaghha62ibhg3rir6mrfy1z3v7p7v83b6glhmj9s51nxd86fyv6";
+    hash = "sha256-o/JFfwloXLUOy9YQzHtMCuzK7yBp/G43VS/RguxiTPY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
index 184c14381965..3c01d0039372 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/cjs/default.nix
@@ -2,7 +2,8 @@
 , fetchFromGitHub
 , gobject-introspection
 , pkg-config
-, lib, stdenv
+, lib
+, stdenv
 , wrapGAppsHook
 , python3
 , cairo
@@ -27,14 +28,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "cjs-unstable";
-  version = "2020-10-19";
+  pname = "cjs";
+  version = "4.8.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "cjs";
-    rev = "befc11adb5ba10681464e6fa81b1a79f108ce61c";
-    hash = "sha256-F2t8uKV2r29NxX2+3mYp5x1bug2lwihJZTK1dSS8rPg=";
+    rev = version;
+    hash = "sha256-6+zlWL0DmyP+RFp1ECA4XGbgYUlsMqqyTd6z46w99Ug=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix b/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix
index 93079e21d3d1..2df5f875b41c 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/muffin/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "muffin";
-  version = "4.6.3";
+  version = "4.8.1";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "1p8irzf20wari1id5rfx5sypywih1jsrmn0f83zlyhc5fxg02r5p";
+    hash = "sha256-zRW+hnoaKKTe4zIJpY1D0Ahc8k5zRbvYBF5Y4vZ6Rbs=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
index 5017c1ce7d50..482fb402e4d3 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/nemo/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "4.6.5";
+  version = "4.8.6";
 
   # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "04rgdph9pxdj5wzzv2i0pgyhg3s74nh9jf1ry9z6v5bvv222ili4";
+    hash = "sha256-OUv7l+klu5l1Y7m+iHiq/dDyxH3/hT4k7F9gDuUiGds=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/cinnamon/warpinator/default.nix b/nixpkgs/pkgs/desktops/cinnamon/warpinator/default.nix
index efcd20457b32..8b316d37f587 100644
--- a/nixpkgs/pkgs/desktops/cinnamon/warpinator/default.nix
+++ b/nixpkgs/pkgs/desktops/cinnamon/warpinator/default.nix
@@ -17,7 +17,6 @@ python3.pkgs.buildPythonApplication rec  {
   version = "1.0.8";
 
   format = "other";
-  doCheck = false;
 
   src = fetchFromGitHub {
     owner = "linuxmint";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 2cd22e3ceaa5..97a72e379a58 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -57,6 +57,7 @@
 , gnome-autoar
 , asciidoc-full
 , bash-completion
+, mesa
 }:
 
 # http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
@@ -147,6 +148,7 @@ stdenv.mkDerivation rec {
     gnome-desktop
     gnome-settings-daemon
     gobject-introspection
+    mesa
 
     # recording
     pipewire
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
index 07e3b536a410..03c20e1ef6a7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -16,9 +16,11 @@
 , ninja
 , xkeyboard_config
 , libxkbfile
+, libXdamage
 , libxkbcommon
 , libXtst
 , libinput
+, libdrm
 , gsettings-desktop-schemas
 , glib
 , gtk3
@@ -27,6 +29,7 @@
 , libgudev
 , libwacom
 , xwayland
+, mesa
 , meson
 , gnome-settings-daemon
 , xorgserver
@@ -84,6 +87,7 @@ let self = stdenv.mkDerivation rec {
   nativeBuildInputs = [
     desktop-file-utils
     gettext
+    mesa # needed for gbm
     meson
     ninja
     pkg-config
@@ -102,12 +106,14 @@ let self = stdenv.mkDerivation rec {
     gsettings-desktop-schemas
     gtk3
     libcanberra
+    libdrm
     libgudev
     libinput
     libstartup_notification
     libwacom
     libxkbcommon
     libxkbfile
+    libXdamage
     pango
     pipewire
     sysprof
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 77e3f48850d2..3935150c57e5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, substituteAll, fetchpatch, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }:
+{ lib, stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-system-monitor";
-  version = "2020-04-27-unstable";
+  version = "unstable-2021-04-08";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
-    rev = "7f8f0a7b255473941f14d1dcaa35ebf39d3bccd0";
-    sha256 = "tUUvBY0UEUE+T79zVZEAICpKoriFZuuZzi9ArdHdXks=";
+    rev = "942603da39de12f50b1f86efbde92d7526d1290e";
+    sha256 = "0lzb7064bigw2xsqkzr8qfhp9wfmxyi3823j2782v99jpcz423aw";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/unite/default.nix b/nixpkgs/pkgs/desktops/gnome-3/extensions/unite/default.nix
index e2f7f547579f..a2f4e81924ef 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/extensions/unite/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/unite/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }:
+
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-unite";
-  version = "48";
+  version = "52";
 
   src = fetchFromGitHub {
     owner = "hardpixel";
     repo = "unite-shell";
     rev = "v${version}";
-    sha256 = "1rc9h7zrg9pvyl619ychcp0w7wmnf4ndaq2knv490kzhy0idj18j";
+    sha256 = "1zahng79m2gw27fb2sw8zyk2n07qc0hbn02g5mfqzhwk62g97v4y";
   };
 
   uuid = "unite@hardpixel.eu";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index b65d27bb7571..935778aa6490 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -25,6 +25,7 @@
 , writeTextFile
 , writeShellScriptBin
 , xkeyboard_config
+, xorg
 , runCommand
 }:
 let
@@ -101,6 +102,7 @@ let
       libcanberra-gtk3
       libpulseaudio
       libxkbfile
+      xorg.libXxf86vm
       polkit
       gdm
       gnome-panel
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
index d1b1aeec4c40..c74d57d9f4dd 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/misc/metacity/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     xorg.libXres
     xorg.libXpresent
+    xorg.libXdamage
     glib
     gsettings-desktop-schemas
     gtk3
diff --git a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
index be1f8a80e78f..c28d069d5f11 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "libfm-qt";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "libfm-qt";
     rev = version;
-    sha256 = "0b52bczqvw4brxv5fszjrl1375yid6xzjm49ns9rx1jw71422w0p";
+    sha256 = "0jdsqvwp81y4ylabrqdc673x80fp41rpp5w7c1v9zmk9k8z4s5ll";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
index 959afe1b887a..b7aa5d95eaf1 100644
--- a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "liblxqt";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1rp26g1ygzzy1cm7md326sv99zjz4y12pa402nlf2vrf2lzbwfmk";
+    sha256 = "0n0pjz5wihchfcji8qal0lw8kzvv3im50v1lbwww4ymrgacz9h4l";
   };
 
   nativeBuildInputs = [
@@ -43,6 +43,10 @@ mkDerivation rec {
   patches = [ ./fix-application-path.patch ];
 
   postPatch = ''
+    # https://github.com/NixOS/nixpkgs/issues/119766
+    substituteInPlace lxqtbacklight/linux_backend/driver/libbacklight_backend.c \
+      --replace "pkexec lxqt-backlight_backend" "pkexec $out/bin/lxqt-backlight_backend"
+
     sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
   '';
 
diff --git a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
index adb8b8a11610..7abaed7c09ab 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "libqtxdg";
-  version = "3.6.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0wiannhaydnbqd8ni3nflx2s4036grxs8aklcb95j88v3cgr2gck";
+    sha256 = "1x806hdics3d49ys0a2vkln9znidj82qscjnpcqxclxn26xqzd91";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
index 6f6e432ad9e6..8da7675d485c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "libsysstat";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1pbshhg8pjkzkka5f2rxfxal7rb4fjccpgj07kxvgcnqlah27ydk";
+    sha256 = "14q55iayygmjh63zgsb9qa4af766gj9b0jsrmfn85fdiqb8p8yfz";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
index b7e30096b760..10e40f4ed9dc 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "lximage-qt";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1z2lvfrw9shpvwxva0vf0rk74nj3mmjgxznsgq8r65645fnj5imb";
+    sha256 = "1xajsblk2954crvligvrgwp7q1pj7124xdfnlq9k9q0ya2xc36lx";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
index 523092d17824..08e21736125a 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "lxqt-about";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0m7gan31byy80k9jqfqxx4drvfx0d9savj4shnrabsb3z3fj9h8h";
+    sha256 = "011jcab47iif741azfgvf52my118nwkny5m0pa7nsqyv8ad1fsiw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 8406b9094938..a3fd034e3365 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-admin";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0mi119ji0260idi14980nhmylx3krnfmkj9r81nmbbrg02h158nz";
+    sha256 = "1xi169gz1sarv7584kg33ymckqlx9ddci7r9m0dlm4a7mw7fm0lf";
   };
 
   nativeBuildInputs = [
@@ -40,8 +40,11 @@ mkDerivation rec {
   ];
 
   postPatch = ''
-    sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \
-      -i lxqt-admin-user/CMakeLists.txt
+    for f in lxqt-admin-{time,user}/CMakeLists.txt; do
+      substituteInPlace $f --replace \
+        "\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}" \
+        "$out/share/polkit-1/actions"
+    done
   '';
 
   passthru.updateScript = lxqtUpdateScript { inherit pname version src; };
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index 43896c2d6c4f..348ee3423de7 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "lxqt-archiver";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = "lxqt-archiver";
     rev = version;
-    sha256 = "0f4nj598w6qhcrhbab15cpfmrda02jcflxhb15vyv7gnplalkya6";
+    sha256 = "0wpayzcyqcnvzk95bqql7p07l8p7mwdgdj7zlbcsdn0wis4yhjm6";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index f45f8c729556..27fda636103e 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -6,18 +6,19 @@
 , pcre
 , qtbase
 , glib
+, perl
 , lxqtUpdateScript
 }:
 
 mkDerivation rec {
   pname = "lxqt-build-tools";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1wf6mhcfgk64isy7bk018szlm18xa3hjjnmhpcy2whnnjfq0jal6";
+    sha256 = "0zhcv6cbdn9fr5lpglz26gzssbxkpi824sgc0g7w3hh1z6nqqf8l";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,10 @@ mkDerivation rec {
     pcre
   ];
 
+  propagatedBuildInputs = [
+    perl # needed by LXQtTranslateDesktop.cmake
+  ];
+
   setupHook = ./setup-hook.sh;
 
   # We're dependent on this macro doing add_definitions in most places
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
index c273a7bd859b..5913ec7a0d03 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "lxqt-config";
-  version = "0.16.1";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1ppkkz7rg5ddlyk1ikh2s3g7nbb0wnpl0lldg9j68l76d61sfm8z";
+    sha256 = "0b9jihmsqgdfdsisz15j3p53fgf1w30s8irj9zjh52fsj58p924p";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index a54564e062b0..6dab1cbf736f 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-globalkeys";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "00n02mci0wry9l2prc98liiamshacnj8pvmra5wkmygm581q2r19";
+    sha256 = "135292l8w9sngg437n1zigkap15apifyqd9847ln84bxsmcj8lay";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index c02b768d6b7e..093706fd6eee 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-notificationd";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0ahvjf5102a0pz5bfznjvkg55xix6k9bw381gzv6jqw5553snanc";
+    sha256 = "1r2cmxcjkm9lvb2ilq2winyqndnamsd9x2ynmfiqidby2pcr9i3a";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 3aac000fb679..a6fbfc2f5620 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-openssh-askpass";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "163mshrwfwp31bjis66l50krsyp184idw9gyp7pdh047psca5129";
+    sha256 = "18pn7kw9aw7859jnwvjnjcvr50pqsi8gqcxsbx9rvsjrybw2qcgc";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
index bb6ed8548912..c565c5b4c301 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -30,13 +30,13 @@
 
 mkDerivation rec {
   pname = "lxqt-panel";
-  version = "0.16.1";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1mm23fys5npm5fi47y3h2mzvlhlcaz7k1p4wwmc012f0hqcrvqik";
+    sha256 = "1wmm4sml7par5z9xcs5qx2y2pdbnnh66zs37jhx9f9ihcmh1sqlw";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index adda2339f369..0a84799d3728 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -19,13 +19,13 @@
 
 mkDerivation rec {
   pname = "lxqt-policykit";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "05qi550cjyjzhlma4zxnp1pn8i5cgak2k2mwwh2a5gpicp5axavn";
+    sha256 = "15f0hnif8zs38qgckif63dds9zgpp3dmg9pg3ppgh664lkbxx7n7";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 3c1350753cf3..a1b068067407 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "lxqt-powermanagement";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1pf3z8hymddk1cm5j5lqgah967xsdl37j66gz5bs3dw7871gbdhy";
+    sha256 = "1ikkksg5k7jwph7060h8wyk7bdsywvhl47zp23j5gcig0nk62ggf";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index d19abcfe952e..3095b2399261 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "lxqt-qtplugin";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "14k5icxjkl5znp59y44791brsmwy54jkwr4vn3kg4ggqjdp3vbh9";
+    sha256 = "168ii015j57hkccdh27h2fdh8yzs8nzy8nw20wnx6fbcg5401666";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
index 3f80800310f6..32d9194be670 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -20,13 +20,13 @@
 
 mkDerivation rec {
   pname = "lxqt-runner";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0bmx5y4l443j8vrzw8967kw5i150braq0pfj8xk0nyz6zz62rrf1";
+    sha256 = "167gzn6aqk7akzbmrnm7nmcpkl0nphr8axbfgwnw552dnk6v8gn0";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
index 4c29a249dde8..b62ca157eeb4 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -11,6 +11,7 @@
 , kwindowsystem
 , liblxqt
 , libqtxdg
+, procps
 , xorg
 , xdg-user-dirs
 , lxqtUpdateScript
@@ -18,13 +19,13 @@
 
 mkDerivation rec {
   pname = "lxqt-session";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1lmj0cx4crdjl2qih3scm2gvsx3qna0nb6mjjrcx0f2k7h744pik";
+    sha256 = "1nhw3y3dm4crawc1905l6drn0i79fs1dzs8iak0vmmplbiv3fvgg";
   };
 
   nativeBuildInputs = [
@@ -41,6 +42,7 @@ mkDerivation rec {
     kwindowsystem
     liblxqt
     libqtxdg
+    procps
     xorg.libpthreadstubs
     xorg.libXdmcp
     xdg-user-dirs
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 79168795c60e..4daf40197e87 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "lxqt-sudo";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0al64v12ddi6bgrr2z86jh21c02wg5l0mxjcmk9xlsvdx0d94cdx";
+    sha256 = "10s8k83mkqiakh18mh1l7idjp95cy49rg8dh14cy159dk8mchcd0";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 08ba99c96064..985e84d03c25 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -8,13 +8,13 @@
 
 mkDerivation rec {
   pname = "lxqt-themes";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "12pbba7a2rk0kjn3hl2lvn90di58w0s5psbq51kz39ah3rlp9dzz";
+    sha256 = "13zh5yrq0f96cn5m6i7zdvgb9iw656fad5ps0s2zx6x8mj2mv64f";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index e996eefc9039..662930e4e37e 100644
--- a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "pavucontrol-qt";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "1d3kp2y3crrmbqak4mn9d6cfbhi5l5xhchhjh44ng8gpww22k5h0";
+    sha256 = "0syc4bc2k7961la2c77787akhcljspq3s2nyqvb7mq7ddq1xn0wx";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index 2fa7879d58e7..ba913cd147f6 100644
--- a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -15,13 +15,13 @@
 
 mkDerivation rec {
   pname = "pcmanfm-qt";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "09mlv5qkwzpfz5l41pcz0k01kgsikzkghhfkl84hwyjdm4i2vapj";
+    sha256 = "1awyncpypygsrg7d2nc6xh1l4xaln3ypdliy4xmq8bf94sh9rf0y";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
index be28b589ca1c..0a4918190b06 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
@@ -14,13 +14,13 @@
 
 mkDerivation rec {
   pname = "qps";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0gfw7iz7jzyfl9hiq3aivbgkkl61fz319cfg57fgn2kldlcljhwa";
+    sha256 = "0fihhnb7vp6x072spg1fnxaip4sq9mbvhrfqdwnzph5dlyvs54nj";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
index 740cc09fca5f..d383703199a8 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "qterminal";
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0l1jhkyx7ihv3nvqm1gfvzhrhl4l8yvqxly0c9zgl6mzrd39cj3d";
+    sha256 = "0mdcz45faj9ysw725qzg572968kf5sh6zfw7iiksi26s8kiyhbbp";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
index 5970827f458c..94a9c651cc8c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "qtermwidget";
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0kpg4b60h6dads8ncwlk0zj1c8y7xpb0kz28j0v9fqjbmxja7x6w";
+    sha256 = "0pmkk2mba8z6cgfsd8sy4vhf5d9fn9hvxszzyycyy1ndygjrc1v8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
index 36174c870dfc..0ed305403b19 100644
--- a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
@@ -9,6 +9,7 @@
 , qtsvg
 , kwindowsystem
 , libqtxdg
+, perl
 , xorg
 , autoPatchelfHook
 , lxqtUpdateScript
@@ -16,18 +17,19 @@
 
 mkDerivation rec {
   pname = "screengrab";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "lxqt";
     repo = pname;
     rev = version;
-    sha256 = "0jy2izgl3jg6mnykpw7ji1fjv7dsivdfi6k6i6glrpa0z1p51gic";
+    sha256 = "16dycq40lbvk6jvpj7zp85m23cgvh8nj38fz99gxjfzn2nz1gy4a";
   };
 
   nativeBuildInputs = [
     cmake
     pkg-config
+    perl # needed by LXQtTranslateDesktop.cmake
     autoPatchelfHook # fix libuploader.so and libextedit.so not found
   ];
 
diff --git a/nixpkgs/pkgs/desktops/mate/atril/default.nix b/nixpkgs/pkgs/desktops/mate/atril/default.nix
index 3f68da288c09..7e8afde588c6 100644
--- a/nixpkgs/pkgs/desktops/mate/atril/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/atril/default.nix
@@ -17,17 +17,18 @@
 , enablePostScript ? true, libspectre
 , enableXps ? true, libgxps
 , enableImages ? false
+, mateUpdateScript
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "atril";
-  version = "1.24.0";
+  version = "1.24.1";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0967gxw7h2qh2kpwl0jgv58hicz6aa92kr12mnykbpikad25s95y";
+    sha256 = "06nyicj96dqcv035yqnzmm6pk3m35glxj0ny6lk1vwqkk2l750xl";
   };
 
   nativeBuildInputs = [
@@ -67,10 +68,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "A simple multi-page document viewer for the MATE desktop";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
index 92176493afca..3b96f67b12a9 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, substituteAll
 , pkg-config, gobject-introspection, gdk-pixbuf
-, gtk3, mate, python3, dropbox }:
+, gtk3, mate, python3, dropbox, mateUpdateScript }:
 
 let
   dropboxd = "${dropbox}/bin/dropbox";
@@ -43,10 +43,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Dropbox extension for Caja file manager";
     homepage = "https://github.com/mate-desktop/caja-dropbox";
-    license = with licenses; [ gpl3 cc-by-nd-30 ];
+    license = with licenses; [ gpl3Plus cc-by-nd-30 ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
index 64a036fd389a..5c08074f0450 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-extensions/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, gupnp, mate, imagemagick, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, gupnp, mate, imagemagick, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "caja-extensions";
@@ -33,10 +33,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Set of extensions for Caja file manager";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix b/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix
index 35e3cd198f6b..125e39d1f461 100644
--- a/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja-with-extensions/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, makeWrapper, caja-extensions, caja, extensions ? [ caja-extensions ] }:
+{ stdenv, lib, makeWrapper, caja-extensions, caja, extensions ? [ caja-extensions ], mateUpdateScript }:
 
 stdenv.mkDerivation {
   pname = "${caja.pname}-with-extensions";
diff --git a/nixpkgs/pkgs/desktops/mate/caja/default.nix b/nixpkgs/pkgs/desktops/mate/caja/default.nix
index 890d3d615481..c533f78849cc 100644
--- a/nixpkgs/pkgs/desktops/mate/caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/caja/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libnotify, libxml2, libexif, exempi, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libnotify, libxml2, libexif, exempi, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "caja";
-  version = "1.24.0";
+  version = "1.24.1";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1cnfy481hcwjv3ia3kw0d4h7ga8cng0pqm3z349v4qcmfdapmqc0";
+    sha256 = "0ylgb4b31vwgqmmknrhm4m9gfa1rzb9azpdd9myi0hscrr3h22z5";
   };
 
   nativeBuildInputs = [
@@ -33,11 +33,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
+  meta = with lib; {
     description = "File manager for the MATE desktop";
     homepage = "https://mate-desktop.org";
-    license = with lib.licenses; [ gpl2 lgpl2 ];
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/default.nix b/nixpkgs/pkgs/desktops/mate/default.nix
index 10c278c8bf9a..291d26afcd5c 100644
--- a/nixpkgs/pkgs/desktops/mate/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/default.nix
@@ -1,10 +1,18 @@
-{ newScope }:
+{ pkgs, newScope }:
 
 let
   callPackage = newScope self;
 
   self = rec {
 
+    # Update script tailored to mate packages from git repository
+    mateUpdateScript = { pname, version, odd-unstable ? true, url ? "https://pub.mate-desktop.org/releases" }:
+      pkgs.genericUpdater {
+        inherit pname version odd-unstable;
+        attrPath = "mate.${pname}";
+        versionLister = "${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions ${url}";
+      };
+
     atril = callPackage ./atril { };
     caja = callPackage ./caja { };
     caja-dropbox = callPackage ./caja-dropbox { };
diff --git a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
index 591cac7d8864..81d34b8b1259 100644
--- a/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/engrampa/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, gtk3, file, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, gtk3, file, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "engrampa";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0akjnz85qkpiqgj1ccn41rzbfid4l3r3nsm4s9s779ilzd7f097y";
+    sha256 = "0x26djz73g3fjwzcpr7k60xb6qx5izhw7lf2ggn34iwpihl0sa7f";
   };
 
   nativeBuildInputs = [
@@ -32,11 +32,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
+  meta = with lib; {
     description = "Archive Manager for MATE";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/eom/default.nix b/nixpkgs/pkgs/desktops/mate/eom/default.nix
index 8b447f14d8b2..27c120796541 100644
--- a/nixpkgs/pkgs/desktops/mate/eom/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/eom/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gtk3, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "eom";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0dralsc0dvs0l38cysdhx6kiaiqlb8qi6g9xz2cm6mjqyq3d3f9f";
+    sha256 = "08rjckr1hdw7c31f2hzz3vq0rn0c5z3hmvl409y6k6ns583k1bgf";
   };
 
   nativeBuildInputs = [
@@ -32,10 +32,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "An image viewing and cataloging program for the MATE desktop";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
index 1b66bb97efee..8d0b567f1615 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatekbd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libxklavier }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libxklavier, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "libmatekbd";
@@ -15,10 +15,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Keyboard management library for MATE";
     homepage = "https://github.com/mate-desktop/libmatekbd";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
index 29d6127c3b31..9d42c23c7148 100644
--- a/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmatemixer/default.nix
@@ -2,7 +2,8 @@
 , alsaSupport ? stdenv.isLinux, alsaLib
 , pulseaudioSupport ? config.pulseaudio or true, libpulseaudio
 , ossSupport ? false
- }:
+, mateUpdateScript
+}:
 
 stdenv.mkDerivation rec {
   pname = "libmatemixer";
@@ -23,10 +24,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Mixer library for MATE";
     homepage = "https://github.com/mate-desktop/libmatemixer";
-    license = with licenses; [ gpl2 lgpl2 ];
+    license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
index 0f5deb8f5507..b042df0fe1ae 100644
--- a/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/libmateweather/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libsoup, tzdata }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libsoup, tzdata, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "libmateweather";
@@ -22,10 +22,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Library to access weather information from online services for MATE";
     homepage = "https://github.com/mate-desktop/libmateweather";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/marco/default.nix b/nixpkgs/pkgs/desktops/mate/marco/default.nix
index 3c16004010c1..6ac9c3864abd 100644
--- a/nixpkgs/pkgs/desktops/mate/marco/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/marco/default.nix
@@ -1,12 +1,13 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop
+, libXdamage, libXpresent, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "marco";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "109b41pjrc1b4slw6sx1lakdhrc46x829vczzk4bz3j15kcszg54";
+    sha256 = "19s2y2s9immp86ni3395mgxl605m2wn10m8399y9qkgw2b5m10s9";
   };
 
   nativeBuildInputs = [
@@ -20,6 +21,8 @@ stdenv.mkDerivation rec {
     libxml2
     libcanberra-gtk3
     libgtop
+    libXdamage
+    libXpresent
     libstartup_notification
     gtk3
     gnome3.zenity
@@ -28,10 +31,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE default window manager";
     homepage = "https://github.com/mate-desktop/marco";
-    license = [ licenses.gpl2 ];
+    license = [ licenses.gpl2Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
index bfa5a1a5d957..1046e431a3b8 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-applets/default.nix
@@ -1,4 +1,6 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gnome3, glib, gtk3, gtksourceview3, libwnck3
+, libgtop, libxml2, libnotify, polkit, upower, wirelesstools, mate, hicolor-icon-theme, wrapGAppsHook
+, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-applets";
@@ -38,6 +40,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Applets for use with the MATE panel";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
index b990a53b04a1..cfe1325b839f 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, gettext }:
+{ lib, stdenv, fetchurl, meson, ninja, gettext, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-backgrounds";
@@ -15,10 +15,12 @@ stdenv.mkDerivation rec {
     ninja
   ];
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Background images and data for MATE";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl2;
+    license = with licenses; [ gpl2Plus cc-by-sa-40 ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
index 2805c86fe890..a3e8d3b5951d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-calc/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libxml2, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libxml2, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-calc";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0imdimq5d5rjq8mkjcrsd683a2bn9acmhc0lmvyw71y0040inbaw";
+    sha256 = "1yg8j0dqy37fljd20pwxdgna3f1v7k9wmdr9l4r1nqf4a7zwi96l";
   };
 
   nativeBuildInputs = [
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Calculator for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
index 7a2ac74522f6..58314df673ab 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-common/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-common";
@@ -11,10 +11,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Common files for development of MATE packages";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
index 262ca75ac792..b94e7ecfd06d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,15 +1,16 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, dbus-glib,
-  libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3,
-  desktop-file-utils, dconf, gtk3, polkit, mate, hicolor-icon-theme, wrapGAppsHook
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, dbus-glib
+, libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3
+, desktop-file-utils, dconf, gtk3, polkit, mate, hicolor-icon-theme, wrapGAppsHook
+, mateUpdateScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "mate-control-center";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08bai47fsmbxlw2lhig9n6c8sxr24ixkd1spq3j0635yzcqighb0";
+    sha256 = "18vsqkcl4n3k5aa05fqha61jc3133zw07gd604sm0krslwrwdn39";
   };
 
   nativeBuildInputs = [
@@ -49,10 +50,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Utilities to configure the MATE desktop";
     homepage = "https://github.com/mate-desktop/mate-control-center";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
index 9102ae3e8b59..b1b59dc6402c 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-desktop/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, isocodes, gnome3, gtk3, dconf, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, isocodes, gnome3, gtk3, dconf, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
@@ -23,10 +23,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Library with common API for various MATE modules";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index fd280f3d96ee..7dc4423fb6b2 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, autoreconfHook, gtk3, mate, hicolor-icon-theme }:
+{ lib, stdenv, fetchurl, autoreconfHook, gtk3, mate, hicolor-icon-theme, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-icon-theme-faenza";
@@ -23,11 +23,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
+  meta = with lib; {
     description = "Faenza icon theme from MATE";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
index 530a7b66ff19..cf18cf528f28 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, iconnamingutils, librsvg, gtk3, hicolor-icon-theme }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, iconnamingutils, librsvg, gtk3, hicolor-icon-theme, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-icon-theme";
@@ -27,10 +27,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Icon themes from MATE";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.lgpl3;
+    license = lib.licenses.lgpl3Plus;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
index a26b593101a1..804bf2352d08 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-indicator-applet/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libindicator-gtk3, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libindicator-gtk3, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-indicator-applet";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     homepage = "https://github.com/mate-desktop/mate-indicator-applet";
     description = "MATE panel indicator applet";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
index f4d8bd738840..6072e81fb3cc 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-media/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, libtool, libxml2, libcanberra-gtk3, gtk3, mate, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, libtool, libxml2, libcanberra-gtk3, gtk3, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-media";
@@ -27,10 +27,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Media tools for MATE";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo maintainers.chpatrick ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
index 1333af0cdd92..5b11c20380a8 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-menus/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, glib, gobject-introspection, python3 }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, glib, gobject-introspection, python3, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-menus";
@@ -20,10 +20,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Menu system for MATE";
     homepage = "https://github.com/mate-desktop/mate-menus";
-    license = with licenses; [ gpl2 lgpl2 ];
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
index 3912ab47c8e0..9b7a5ae67180 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-netbook/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libwnck3, libfakekey, libXtst, mate, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, libwnck3, libfakekey, libXtst, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-netbook";
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE utilities for netbooks";
     longDescription = ''
@@ -35,7 +37,7 @@ stdenv.mkDerivation rec {
       devices with low resolution displays.
     '';
     homepage = "https://mate-desktop.org";
-    license = with licenses; [ gpl3 lgpl2Plus ];
+    license = with licenses; [ gpl3Only lgpl2Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 5e867085bb10..62181418fdfe 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, glib, libcanberra-gtk3,
-  libnotify, libwnck3, gtk3, libxml2, wrapGAppsHook }:
+  libnotify, libwnck3, gtk3, libxml2, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-notification-daemon";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ybzr8mni5pgrspf8hqnisd0r0hwdlgk7n5mzsh7xisbkgivpw2b";
+    sha256 = "02mf9186cbziyvz7ycb0j9b7rn085a7f9hrm03n28q5kz0z1k92q";
   };
 
   nativeBuildInputs = [
@@ -28,10 +28,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Notification daemon for MATE Desktop";
     homepage = "https://github.com/mate-desktop/mate-notification-daemon";
-    license = licenses.gpl2;
+    license = with licenses; [ gpl2Plus gpl3Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
index 1ada0171911b..328fcfd20dee 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, glib, libwnck3, librsvg, libxml2, dconf, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, glib, libwnck3, librsvg, libxml2, dconf, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xblqrhfazd01h0jdmx4hvavkb7f9anbd4rjsk5r6wxhp027l64l";
+    sha256 = "1sj851h71nq4ssrsd4k5b0vayxmspl5x3rhf488b2xpcj81vmi9h";
   };
 
   nativeBuildInputs = [
@@ -39,10 +39,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "The MATE panel";
     homepage = "https://github.com/mate-desktop/mate-panel";
-    license = with licenses; [ gpl2 lgpl2 ];
+    license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
index 67690161f554..174e2e466248 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-polkit/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-polkit";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Integrates polkit authentication for MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
index e0c46076a651..3a99538d9298 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, polkit, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate-panel, libnotify, libcanberra-gtk3, dbus-glib, upower, gnome3, gtk3, libtool, polkit, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-power-manager";
-  version = "1.24.2";
+  version = "1.24.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0fni41p3kraxwjnx9l5mdspng0zib1gfdxwlaiyq31mh4g79yjyj";
+    sha256 = "1rmcrpii3hl35qjznk6h5cq72n60cs12n294hjyakxr9kvgns7l6";
   };
 
   nativeBuildInputs = [
@@ -34,10 +34,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "The MATE Power Manager";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl3;
+    license = with licenses; [ gpl2Plus fdl11Plus ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ romildo chpatrick ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
index fe309352346b..f132bbcd26df 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, dbus-glib, libXScrnSaver, libnotify, libxml2, pam, systemd, mate, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, dbus-glib, libXScrnSaver, libnotify, libxml2, pam, systemd, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-screensaver";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0imb1z2yvz1h95dzq396c569kkxys9mb2dyc6qxxxcnc5w02a2dw";
+    sha256 = "18hxhglryfcbpbns9izigiws7lvdv5dnsaaz226ih3aar5db1ysy";
   };
 
   nativeBuildInputs = [
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Screen saver and locker for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
index 6fed2a654444..849f767c7c20 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify
+, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-sensors-applet";
@@ -30,6 +31,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     homepage = "https://github.com/mate-desktop/mate-sensors-applet";
     description = "MATE panel applet for hardware sensors";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
index 08a119ad8d2b..c0cd12bd2732 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, xtrans, dbus-glib, systemd,
   libSM, libXtst, gtk3, epoxy, polkit, hicolor-icon-theme, mate,
-  wrapGAppsHook, fetchpatch
+  wrapGAppsHook, fetchpatch, mateUpdateScript
 }:
 
 stdenv.mkDerivation rec {
   pname = "mate-session-manager";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1zwq8symyp3ijs28pyrknsdi9byf4dpp9wp93ndwdhi0vaip5i51";
+    sha256 = "1jcb5k2fx2rwwbrslgv1xlzaiwiwjnxjwnp503qf8cg89w69q2vb";
   };
 
   patches = [
@@ -43,16 +43,17 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     substituteInPlace $out/share/xsessions/mate.desktop \
-      --replace "Exec=mate-session" "Exec=$out/bin/mate-session" \
-      --replace "TryExec=mate-session" "TryExec=$out/bin/mate-session"
+      --replace "Exec=mate-session" "Exec=$out/bin/mate-session"
   '';
 
   passthru.providedSessions = [ "mate" ];
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE Desktop session manager";
     homepage = "https://github.com/mate-desktop/mate-session-manager";
-    license = with licenses; [ gpl2 lgpl2 ];
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 0a483269c5ef..6c35a1d63120 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, glib, dbus-glib, libxklavier,
   libcanberra-gtk3, libnotify, nss, polkit, dconf, gtk3, mate,
   pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
-  wrapGAppsHook }:
+  wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-settings-daemon";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0n1ywr3ir5p536s7azdbw2mh40ylqlpx3a74mjrivbms1rpjxyab";
+    sha256 = "051r7xrx1byllsszbwsk646sq4izyag9yxg8jw2rm6x6mgwb89cc";
   };
 
   nativeBuildInputs = [
@@ -38,10 +38,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE settings daemon";
     homepage = "https://github.com/mate-desktop/mate-settings-daemon";
-    license = with licenses; [ gpl2 lgpl21 ];
+    license = with licenses; [ gpl2Plus gpl3Plus lgpl2Plus mit ];
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
index 2d89cb2494ba..4527c91eed6b 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, polkit, systemd, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, polkit, systemd, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-system-monitor";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1i2r4lw6xsk972yp15g5hm8p8xx9pp6jmcvvzbdq80xyx3x898qz";
+    sha256 = "1mbny5hs5805398krvcsvi1jfhyq9a9dfciyrnis67n2yisr1hzp";
   };
 
   nativeBuildInputs = [
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "System monitor for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
index 48588cc6d6dd..2c4d4223eccc 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate, dconf, gtk3, vte, pcre2, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, glib, itstool, libxml2, mate, dconf, gtk3, vte, pcre2, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-terminal";
@@ -30,10 +30,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "The MATE Terminal Emulator";
     homepage = "https://mate-desktop.org";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = [ maintainers.romildo ];
   };
diff --git a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
index 3c0d9cf1b024..6a1be82c8a6d 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-themes/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, gettext, mate-icon-theme, gtk2, gtk3,
-  gtk_engines, gtk-engine-murrine, gdk-pixbuf, librsvg }:
+  gtk_engines, gtk-engine-murrine, gdk-pixbuf, librsvg, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-themes";
-  version = "3.22.21";
+  version = "3.22.22";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/themes/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "051g2vq817g84yrqzf7hjcqr4xrghnw1rprjd6jf5mhhzmwcas6n";
+    sha256 = "18crdwfpfm3br4pv94wy7rpmzzb69im4j8dgq1b7c8gcbbzay05x";
   };
 
   nativeBuildInputs = [ pkg-config gettext gtk3 ];
@@ -24,11 +24,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  passthru.updateScript = mateUpdateScript {
+    inherit pname version;
+    url = "https://pub.mate-desktop.org/releases/themes";
+  };
+
+  meta = with lib; {
     description = "A set of themes from MATE";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.lgpl21;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = with licenses; [ lgpl21Plus lgpl3Only gpl3Plus ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
index ce97bc416e69..830cf092f80e 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-tweak/default.nix
@@ -9,17 +9,19 @@
 , gobject-introspection
 , wrapGAppsHook
 , glib
+, genericUpdater
+, common-updater-scripts
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "mate-tweak";
-  version = "20.10.0";
+  version = "21.04.3";
 
   src = fetchFromGitHub {
     owner = "ubuntu-mate";
     repo = pname;
     rev = version;
-    sha256 = "08gw5i5wjxmzn92h9fv6g7q9i00n8shv1wlpy6cb31xy9wbmjph6";
+    sha256 = "0vpzy7awhb1xfsdjsrchy5b9dygj4ixdcvgx5v5w8hllmi4yxpc1";
   };
 
   nativeBuildInputs = [
@@ -72,6 +74,12 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  passthru.updateScript = genericUpdater {
+    inherit pname version;
+    attrPath = "mate.${pname}";
+    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
+  };
+
   meta = with lib; {
     description = "Tweak tool for the MATE Desktop";
     homepage = "https://github.com/ubuntu-mate/mate-tweak";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
index 2a91cac5a541..d7c83cc98209 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gettext, itstool, libxml2, yelp }:
+{ lib, stdenv, fetchurl, gettext, itstool, libxml2, yelp, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-user-guide";
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE User Guide";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
index 8aa9591003ca..1126e5851352 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-user-share/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, dbus-glib, libnotify, libxml2, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, gtk3, dbus-glib, libnotify, libxml2
+, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-user-share";
@@ -44,6 +45,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "User level public file sharing for the MATE desktop";
     homepage = "https://github.com/mate-desktop/mate-user-share";
diff --git a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
index c58a3d4bc648..0b7b181bd576 100644
--- a/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mate-utils/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, glib, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape, udisks2, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, glib, gtk3, libxml2, libgtop, libcanberra-gtk3
+, inkscape, udisks2, mate, hicolor-icon-theme, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-utils";
@@ -31,6 +32,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Utilities for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/nixpkgs/pkgs/desktops/mate/mozo/default.nix b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
index 4d893cd2e741..4122e8231654 100644
--- a/nixpkgs/pkgs/desktops/mate/mozo/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/mozo/default.nix
@@ -1,15 +1,15 @@
-{ lib, python3, fetchurl, pkg-config, gettext, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }:
+{ lib, python3, fetchurl, pkg-config, gettext, mate, gtk3, glib, wrapGAppsHook, gobject-introspection, mateUpdateScript }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mozo";
-  version = "1.24.0";
+  version = "1.24.1";
 
   format = "other";
   doCheck = false;
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "01lyi47a04xk0by5bvnfmqgv5sysk2wdlri6a4ssmy1qhgwh9zr3";
+    sha256 = "14ps43gdh1sfvq49yhl58gxq3rc0d25i2d7r4ghlzf07ssxl53b0";
   };
 
   nativeBuildInputs = [ pkg-config gettext gobject-introspection wrapGAppsHook ];
@@ -20,6 +20,8 @@ python3.pkgs.buildPythonApplication rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "MATE Desktop menu editor";
     homepage = "https://github.com/mate-desktop/mozo";
diff --git a/nixpkgs/pkgs/desktops/mate/pluma/default.nix b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
index a879f2df5d10..4c98c9cf5207 100644
--- a/nixpkgs/pkgs/desktops/mate/pluma/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/pluma/default.nix
@@ -1,12 +1,13 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3
+, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "pluma";
-  version = "1.24.1";
+  version = "1.24.2";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1sgc5f480icr2ans6gd3akvcax58mr4jp3zjk3xn7bx1mw9i299f";
+    sha256 = "183frfhll3sb4r12p24160j1c1cfd102nlp5rrwvyv5qqm7i2fg4";
   };
 
   nativeBuildInputs = [
@@ -30,11 +31,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
+  meta = with lib; {
     description = "Powerful text editor for the MATE desktop";
     homepage = "https://mate-desktop.org";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
+    license = with licenses; [ gpl2Plus lgpl2Plus fdl11Plus ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
   };
 }
diff --git a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
index 2c59d78e86a1..8104da3420e1 100644
--- a/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
+++ b/nixpkgs/pkgs/desktops/mate/python-caja/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, mate, python3Packages }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk3, mate, python3Packages, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "python-caja";
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Python binding for Caja components";
     homepage = "https://github.com/mate-desktop/python-caja";
diff --git a/nixpkgs/pkgs/desktops/mate/update.sh b/nixpkgs/pkgs/desktops/mate/update.sh
deleted file mode 100755
index d214e07f8cdd..000000000000
--- a/nixpkgs/pkgs/desktops/mate/update.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p libarchive curl common-updater-scripts
-
-set -eu -o pipefail
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-root=../../..
-export NIXPKGS_ALLOW_UNFREE=1
-
-mate_version=1.24
-theme_version=3.22
-materepo=https://pub.mate-desktop.org/releases/${mate_version}
-themerepo=https://pub.mate-desktop.org/releases/themes/${theme_version}
-
-version() {
-    (cd "$root" && nix-instantiate --eval --strict -A "$1.version" | tr -d '"')
-}
-
-update_package() {
-    local p=$1
-    echo $p
-    echo "# $p" >> git-commits.txt
-
-    local repo
-    if [ "$p" = "mate-themes" ]; then
-        repo=$themerepo
-    else
-        repo=$materepo
-    fi
-  
-    local p_version_old=$(version mate.$p)
-    local p_versions=$(curl -sS ${repo}/ | sed -rne "s/.*\"$p-([0-9]+\\.[0-9]+\\.[0-9]+)\\.tar\\.xz.*/\\1/p")
-    local p_version=$(echo $p_versions | sed -e 's/ /\n/g' | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n1)
-
-    if [[ -z "$p_version" ]]; then
-        echo "unavailable $p"
-        echo "# $p not found" >> git-commits.txt
-        echo
-        return
-    fi
-
-    if [[ "$p_version" = "$p_version_old" ]]; then
-        echo "nothing to do, $p $p_version is current"
-        echo
-        return
-    fi
-
-    # Download package and save hash and file path.
-    local url="$repo/$p-${p_version}.tar.xz"
-    mapfile -t prefetch < <(nix-prefetch-url --print-path "$url")
-    local hash=${prefetch[0]}
-    local path=${prefetch[1]}
-    echo "$p: $p_version_old -> $p_version"
-    (cd "$root" && update-source-version mate.$p "$p_version" "$hash")
-    echo "   git add pkgs/desktops/mate/$p" >> git-commits.txt
-    echo "   git commit -m \"mate.$p: $p_version_old -> $p_version\"" >> git-commits.txt
-    echo
-}
-
-for d in $(ls -A --indicator-style=none); do
-    if [ -d $d ]; then
-        update_package $d
-    fi
-done
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
index 8e314d3d84bf..97c2d0c8845a 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/wingpanel/default.nix
@@ -13,6 +13,7 @@
 , granite
 , gettext
 , mutter
+, mesa
 , json-glib
 , python3
 , elementary-gtk-theme
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
     json-glib
     libgee
     mutter
+    mesa # for libEGL
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix b/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
index 7500dda7e3f2..db1e46f6d4e8 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/bluedevil.nix
@@ -13,5 +13,4 @@ mkDerivation {
     ki18n kio kwindowsystem plasma-framework kcoreaddons kdbusaddons kded
     kiconthemes knotifications kwidgetsaddons
   ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/default.nix b/nixpkgs/pkgs/desktops/plasma-5/default.nix
index 98bf4b025f2d..ea2e199e9310 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/default.nix
@@ -30,6 +30,13 @@ existing packages here and modify it as necessary.
 }:
 
 let
+  minQtVersion = "5.15";
+  broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
+  maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
+  license = with lib.licenses; [
+    lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
+  ];
+
   srcs = import ./srcs.nix {
     inherit fetchurl;
     mirror = "mirror://kde";
@@ -81,14 +88,15 @@ let
             defaultSetupHook = if hasBin && hasDev then propagateBin else null;
             setupHook = args.setupHook or defaultSetupHook;
 
-            meta = {
-              license = with lib.licenses; [
-                lgpl21Plus lgpl3Plus bsd2 mit gpl2Plus gpl3Plus fdl12
-              ];
-              platforms = lib.platforms.linux;
-              maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
-              homepage = "http://www.kde.org";
-            } // (args.meta or {});
+            meta =
+              let meta = args.meta or {}; in
+              meta // {
+                homepage = meta.homepage or "http://www.kde.org";
+                license = meta.license or license;
+                maintainers = (meta.maintainers or []) ++ maintainers;
+                platforms = meta.platforms or lib.platforms.linux;
+                broken = meta.broken or broken;
+              };
           in
           mkDerivation (args // {
             name = "${name}-${version}";
diff --git a/nixpkgs/pkgs/desktops/plasma-5/discover.nix b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
index 75e0fd6917d5..e065837cd2fd 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/discover.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/discover.nix
@@ -33,7 +33,6 @@
 
 mkDerivation {
   name = "discover";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python3 ];
   buildInputs = [
     # discount is needed for libmarkdown
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
index 5c856b9d39c2..47543da11144 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kactivitymanagerd.nix
@@ -7,7 +7,6 @@
 
 mkDerivation {
   name = "kactivitymanagerd";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     boost kconfig kcoreaddons kdbusaddons kglobalaccel ki18n kio kwindowsystem
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
index 9a09ce30f4c9..9b67d7bc5293 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kdecoration.nix
@@ -5,5 +5,4 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ki18n ];
   outputs = [ "out" "dev" ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix b/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
index e7cc42e77cd5..d371ce815107 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kgamma5.nix
@@ -8,5 +8,4 @@ mkDerivation {
   name = "kgamma5";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kconfig kconfigwidgets ki18n qtx11extras libXxf86vm ];
-  meta.broken = lib.versionOlder qtbase.version "5.15";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix b/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
index ad78d602deca..fd366443861b 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/khotkeys.nix
@@ -14,5 +14,4 @@ mkDerivation {
     plasma-framework plasma-workspace qtx11extras
   ];
   outputs = [ "bin" "dev" "out" ];
-  meta.broken = lib.versionOlder qtbase.version "5.14";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix
index 23e225bd7440..f7f50dc3b57f 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -10,7 +10,6 @@
 
 mkDerivation {
   name = "kinfocenter";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
index ace14b385e6b..2fc26216bf41 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -8,7 +8,6 @@
 
 mkDerivation {
   name = "kscreenlocker";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcmutils kcrash kdeclarative kdelibs4support kglobalaccel kidletime kwayland
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix b/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
index c4dabd71343e..bc6702ed6d3f 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/ksshaskpass.nix
@@ -8,5 +8,4 @@ mkDerivation {
   name = "ksshaskpass";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcoreaddons ki18n kwallet kwidgetsaddons qtbase ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix b/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix
index 27d0ab8a0fba..fe904bb97a48 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/ksysguard.nix
@@ -9,7 +9,6 @@
 
 mkDerivation {
   name = "ksysguard";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix b/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
index 2e923094dc54..f886a87feb57 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -8,5 +8,4 @@ mkDerivation {
   name = "kwayland-integration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwayland-server/default.nix b/nixpkgs/pkgs/desktops/plasma-5/kwayland-server/default.nix
index 6d2a3fabff2b..f24e0e6d6a04 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwayland-server/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwayland-server/default.nix
@@ -15,5 +15,4 @@ mkDerivation {
     kwayland plasma-wayland-protocols wayland wayland-protocols
   ];
   patches = [ ./0001-Use-KDE_INSTALL_TARGETS_DEFAULT_ARGS-when-installing.patch ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix b/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
index e6ee4829bcbf..bb8798d2d0e0 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/kwrited.nix
@@ -8,5 +8,4 @@ mkDerivation {
   name = "kwrited";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons kdbusaddons ki18n knotifications kpty qtbase ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
index 08a9e6f4f24b..5cd9ae94308a 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libkscreen/default.nix
@@ -6,9 +6,6 @@
 
 mkDerivation {
   name = "libkscreen";
-  meta = {
-    broken = lib.versionOlder qtbase.version "5.15.0";
-  };
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kwayland libXrandr qtx11extras ];
   outputs = [ "out" "dev" ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
index 8178d4079500..e291bc5c4c40 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -8,7 +8,6 @@
 
 mkDerivation {
   name = "libksysguard";
-  meta.broken = lib.versionOlder qtbase.version "5.14.0";
   patches = [
     ./0001-qdiriterator-follow-symlinks.patch
   ];
diff --git a/nixpkgs/pkgs/desktops/plasma-5/milou.nix b/nixpkgs/pkgs/desktops/plasma-5/milou.nix
index ab23703a470b..0e7169abf6f6 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/milou.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/milou.nix
@@ -7,7 +7,6 @@
 
 mkDerivation {
   name = "milou";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcoreaddons kdeclarative ki18n kitemmodels krunner kservice plasma-framework
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
index 31fd35589577..585f7462c9bd 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -11,7 +11,6 @@
 
 mkDerivation {
   name = "plasma-nm";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
   buildInputs = [
     kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
index 00f5fefdc434..bc39e520f8a6 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-pa.nix
@@ -17,5 +17,4 @@ mkDerivation {
 
     qtbase qtdeclarative
   ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix b/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
index 6b875745d270..f69808bf4528 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/plasma-systemmonitor.nix
@@ -16,7 +16,6 @@
 
 mkDerivation {
   name = "plasma-systemmonitor";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     qtquickcontrols2
diff --git a/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
index 27f03e2d931e..72217204b35d 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/polkit-kde-agent.nix
@@ -12,5 +12,4 @@ mkDerivation {
     knotifications kwindowsystem polkit-qt
   ];
   outputs = [ "out" "dev" ];
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
 }
diff --git a/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix b/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
index 9e3776e8e291..7c44e0f140d4 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/sddm-kcm.nix
@@ -18,7 +18,6 @@
 
 mkDerivation {
   name = "sddm-kcm";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
   buildInputs = [
     libpthreadstubs
diff --git a/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix b/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
index aade506483f8..f754bc5a46d4 100644
--- a/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
+++ b/nixpkgs/pkgs/desktops/plasma-5/xdg-desktop-portal-kde.nix
@@ -9,7 +9,6 @@
 
 mkDerivation {
   name = "xdg-desktop-portal-kde";
-  meta.broken = lib.versionOlder qtbase.version "5.15.0";
   nativeBuildInputs = [ extra-cmake-modules gettext kdoctools ];
   buildInputs = [
     cups epoxy mesa pcre pipewire wayland wayland-protocols
diff --git a/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index 837361669480..bef18e3e505d 100644
--- a/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -17,11 +17,11 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfdashboard";
-  version = "0.9.1";
+  version = "0.9.2";
   rev-prefix = "";
   odd-unstable = false;
 
-  sha256 = "14k774wxbk3w0ci2mmm6bhq4i742qahd0j0dr40iwmld55473zgd";
+  sha256 = "06pvzhhkr2mimsrzlkpsrzf5fxag4fhabyb3cpmgpyp5hcbgvaj3";
 
   buildInputs = [
     clutter
diff --git a/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
index d9afdfe0d9cf..962170a1765f 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/exo/default.nix
@@ -4,9 +4,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "exo";
-  version = "4.16.1";
+  version = "4.16.2";
 
-  sha256 = "1220mq8gs5s8l0d1p92j6icldzqj6zaisp27ss5jm7hwkkcnms9n";
+  sha256 = "0rsp92j4hkr5jrkrj8anzw9fwd96xbxzpzqzqiyjjwdiq7b29l1v";
 
   nativeBuildInputs = [
     libxslt
diff --git a/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 71645cd1f988..cca80708034d 100644
--- a/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -5,9 +5,9 @@
 mkXfceDerivation {
   category = "xfce";
   pname = "xfce4-settings";
-  version = "4.16.0";
+  version = "4.16.1";
 
-  sha256 = "0iha3jm7vmgk6hq7z4l2r7w9qm5jraka0z580i8i83704kfx9g0y";
+  sha256 = "0mjhglfsqmiycpv98l09n2556288g2713n4pvxn0srivm017fdir";
 
   postPatch = ''
     for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do