From 9acbc0c674c9161b9c810e3a41eddafca54168cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Thu, 1 Apr 2021 12:30:38 -0300
Subject: [PATCH 01/24] mate: define mateUpdateScript attribute

---
 pkgs/desktops/mate/default.nix | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix
index 10c278c8bf9a..291d26afcd5c 100644
--- a/pkgs/desktops/mate/default.nix
+++ b/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 { };

From 8a3c28afb5c54df9c381d36751785618e9139e52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Thu, 1 Apr 2021 13:07:58 -0300
Subject: [PATCH 02/24] mate: remove old update script

---
 pkgs/desktops/mate/update.sh | 64 ------------------------------------
 1 file changed, 64 deletions(-)
 delete mode 100755 pkgs/desktops/mate/update.sh

diff --git a/pkgs/desktops/mate/update.sh b/pkgs/desktops/mate/update.sh
deleted file mode 100755
index d214e07f8cdd..000000000000
--- a/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

From a191b2320c5270d1542d3ff04b947af0228b41bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 16:58:16 -0300
Subject: [PATCH 03/24] mate: add passthru update script

---
 pkgs/desktops/mate/atril/default.nix                    | 3 +++
 pkgs/desktops/mate/caja-dropbox/default.nix             | 4 +++-
 pkgs/desktops/mate/caja-extensions/default.nix          | 4 +++-
 pkgs/desktops/mate/caja-with-extensions/default.nix     | 2 +-
 pkgs/desktops/mate/caja/default.nix                     | 4 +++-
 pkgs/desktops/mate/engrampa/default.nix                 | 4 +++-
 pkgs/desktops/mate/eom/default.nix                      | 4 +++-
 pkgs/desktops/mate/libmatekbd/default.nix               | 4 +++-
 pkgs/desktops/mate/libmatemixer/default.nix             | 5 ++++-
 pkgs/desktops/mate/libmateweather/default.nix           | 4 +++-
 pkgs/desktops/mate/marco/default.nix                    | 4 +++-
 pkgs/desktops/mate/mate-applets/default.nix             | 4 +++-
 pkgs/desktops/mate/mate-backgrounds/default.nix         | 4 +++-
 pkgs/desktops/mate/mate-calc/default.nix                | 4 +++-
 pkgs/desktops/mate/mate-common/default.nix              | 4 +++-
 pkgs/desktops/mate/mate-control-center/default.nix      | 5 ++++-
 pkgs/desktops/mate/mate-desktop/default.nix             | 4 +++-
 pkgs/desktops/mate/mate-icon-theme-faenza/default.nix   | 4 +++-
 pkgs/desktops/mate/mate-icon-theme/default.nix          | 4 +++-
 pkgs/desktops/mate/mate-indicator-applet/default.nix    | 4 +++-
 pkgs/desktops/mate/mate-media/default.nix               | 4 +++-
 pkgs/desktops/mate/mate-menus/default.nix               | 4 +++-
 pkgs/desktops/mate/mate-netbook/default.nix             | 4 +++-
 pkgs/desktops/mate/mate-notification-daemon/default.nix | 4 +++-
 pkgs/desktops/mate/mate-panel/default.nix               | 4 +++-
 pkgs/desktops/mate/mate-polkit/default.nix              | 4 +++-
 pkgs/desktops/mate/mate-power-manager/default.nix       | 4 +++-
 pkgs/desktops/mate/mate-screensaver/default.nix         | 4 +++-
 pkgs/desktops/mate/mate-sensors-applet/default.nix      | 4 +++-
 pkgs/desktops/mate/mate-session-manager/default.nix     | 4 +++-
 pkgs/desktops/mate/mate-settings-daemon/default.nix     | 4 +++-
 pkgs/desktops/mate/mate-system-monitor/default.nix      | 4 +++-
 pkgs/desktops/mate/mate-terminal/default.nix            | 4 +++-
 pkgs/desktops/mate/mate-themes/default.nix              | 7 ++++++-
 pkgs/desktops/mate/mate-tweak/default.nix               | 8 ++++++++
 pkgs/desktops/mate/mate-user-guide/default.nix          | 4 +++-
 pkgs/desktops/mate/mate-user-share/default.nix          | 4 +++-
 pkgs/desktops/mate/mate-utils/default.nix               | 4 +++-
 pkgs/desktops/mate/mozo/default.nix                     | 4 +++-
 pkgs/desktops/mate/pluma/default.nix                    | 4 +++-
 pkgs/desktops/mate/python-caja/default.nix              | 4 +++-
 41 files changed, 131 insertions(+), 39 deletions(-)

diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 3f68da288c09..53bec98603b0 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -17,6 +17,7 @@
 , enablePostScript ? true, libspectre
 , enableXps ? true, libgxps
 , enableImages ? false
+, mateUpdateScript
 }:
 
 with lib;
@@ -67,6 +68,8 @@ 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";
diff --git a/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix
index 92176493afca..ded175db092b 100644
--- a/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/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,6 +43,8 @@ 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";
diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix
index 64a036fd389a..99438bdd6101 100644
--- a/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/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,6 +33,8 @@ 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";
diff --git a/pkgs/desktops/mate/caja-with-extensions/default.nix b/pkgs/desktops/mate/caja-with-extensions/default.nix
index 35e3cd198f6b..125e39d1f461 100644
--- a/pkgs/desktops/mate/caja-with-extensions/default.nix
+++ b/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/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 890d3d615481..db1fafffa2a3 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "File manager for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 591cac7d8864..26be2ec2bf34 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Archive Manager for MATE";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index 8b447f14d8b2..c4760e1e6dcf 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -32,6 +32,8 @@ 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";
diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index 1b66bb97efee..92bfd4fe8339 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/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,6 +15,8 @@ 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";
diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix
index 29d6127c3b31..bc44710e6e72 100644
--- a/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/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,6 +24,8 @@ 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";
diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index 0f5deb8f5507..a88ba7c6ed31 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/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,6 +22,8 @@ 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";
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 3c16004010c1..2ad91a6b8d43 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -1,4 +1,4 @@
-{ 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, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "marco";
@@ -28,6 +28,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index bfa5a1a5d957..e2a324b96712 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -1,4 +1,4 @@
-{ 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 +38,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/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix
index b990a53b04a1..26aedcc2818d 100644
--- a/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/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,6 +15,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index 2805c86fe890..a5a71bcce563 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -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/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix
index 7a2ac74522f6..57f50ad83890 100644
--- a/pkgs/desktops/mate/mate-common/default.nix
+++ b/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,6 +11,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index 262ca75ac792..362eaf906b87 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,6 +1,7 @@
 { 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
+  desktop-file-utils, dconf, gtk3, polkit, mate, hicolor-icon-theme, wrapGAppsHook,
+  mateUpdateScript
 }:
 
 stdenv.mkDerivation rec {
@@ -49,6 +50,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 9102ae3e8b59..4270b0a1f921 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/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,6 +23,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index fd280f3d96ee..f0bca054ae8c 100644
--- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/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,6 +23,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Faenza icon theme from MATE";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index 530a7b66ff19..d6c16c1c7171 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/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,6 +27,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Icon themes from MATE";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-indicator-applet/default.nix b/pkgs/desktops/mate/mate-indicator-applet/default.nix
index a26b593101a1..804bf2352d08 100644
--- a/pkgs/desktops/mate/mate-indicator-applet/default.nix
+++ b/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/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix
index f4d8bd738840..fa6b6e4305a0 100644
--- a/pkgs/desktops/mate/mate-media/default.nix
+++ b/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,6 +27,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "Media tools for MATE";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix
index 1333af0cdd92..751dcd508594 100644
--- a/pkgs/desktops/mate/mate-menus/default.nix
+++ b/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,6 +20,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-netbook/default.nix b/pkgs/desktops/mate/mate-netbook/default.nix
index 3912ab47c8e0..dc10cca40a41 100644
--- a/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/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 = ''
diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 5e867085bb10..20461847d343 100644
--- a/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -1,5 +1,5 @@
 { 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";
@@ -28,6 +28,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 1ada0171911b..e089811211c7 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -39,6 +39,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix
index 67690161f554..174e2e466248 100644
--- a/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/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/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index e0c46076a651..2bc98cb1cb02 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "The MATE Power Manager";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix
index fe309352346b..ee59f6d82630 100644
--- a/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -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/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix
index 6fed2a654444..4d0fd068af8e 100644
--- a/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -1,4 +1,4 @@
-{ 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 +30,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/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 08a119ad8d2b..74c36145de1f 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -1,6 +1,6 @@
 { 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 {
@@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
 
   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";
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 0a483269c5ef..90b931403c7b 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,7 +1,7 @@
 { 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";
@@ -38,6 +38,8 @@ 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";
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index 2d89cb2494ba..7e106cbd20da 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -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/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index 48588cc6d6dd..d17d2fafd1b5 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/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,6 +30,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = with lib; {
     description = "The MATE Terminal Emulator";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index 3c0d9cf1b024..b220478184a3 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -1,5 +1,5 @@
 { 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";
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript {
+    inherit pname version;
+    url = "https://pub.mate-desktop.org/releases/themes";
+  };
+
   meta = {
     description = "A set of themes from MATE";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/mate-tweak/default.nix b/pkgs/desktops/mate/mate-tweak/default.nix
index ce97bc416e69..4f49b5f3002e 100644
--- a/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/pkgs/desktops/mate/mate-tweak/default.nix
@@ -9,6 +9,8 @@
 , gobject-introspection
 , wrapGAppsHook
 , glib
+, genericUpdater
+, common-updater-scripts
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -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/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix
index 2a91cac5a541..d7c83cc98209 100644
--- a/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/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/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix
index 8aa9591003ca..6b653498ce3d 100644
--- a/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/pkgs/desktops/mate/mate-user-share/default.nix
@@ -1,4 +1,4 @@
-{ 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 +44,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/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix
index c58a3d4bc648..ac235168860f 100644
--- a/pkgs/desktops/mate/mate-utils/default.nix
+++ b/pkgs/desktops/mate/mate-utils/default.nix
@@ -1,4 +1,4 @@
-{ 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 +31,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/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix
index 4d893cd2e741..2487ed97f016 100644
--- a/pkgs/desktops/mate/mozo/default.nix
+++ b/pkgs/desktops/mate/mozo/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -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/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index a879f2df5d10..2fa584b45984 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -1,4 +1,4 @@
-{ 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";
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru.updateScript = mateUpdateScript { inherit pname version; };
+
   meta = {
     description = "Powerful text editor for the MATE desktop";
     homepage = "https://mate-desktop.org";
diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix
index 2c59d78e86a1..8104da3420e1 100644
--- a/pkgs/desktops/mate/python-caja/default.nix
+++ b/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";

From 8c2f8c7aa805fb8f85d82dd9abbd23805f0c13cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 04/24] mate.caja: 1.24.0 -> 1.24.1

---
 pkgs/desktops/mate/caja/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index db1fafffa2a3..44721a2cab21 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From d3022948ee33c242fa6953db7f65d759abd18526 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 05/24] mate.atril: 1.24.0 -> 1.24.1

---
 pkgs/desktops/mate/atril/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 53bec98603b0..1a6d947153e8 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -24,11 +24,11 @@ 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 = [

From 5ff5c807d6782da02fbea00420156708d14c6bc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 06/24] mate.engrampa: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/engrampa/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 26be2ec2bf34..6ba30c16f59f 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From a1579e8b7d1373762848dd42ee80415afa5592b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 07/24] mate.eom: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/eom/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index c4760e1e6dcf..75d37e5ea35d 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From e623def756230623520911decafc7112f2b3cd29 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 08/24] mate.marco: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/marco/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index 2ad91a6b8d43..c5e3372dc48e 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From 43a72457e023b5534eb32dfdd34fd0f3bea39b9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 09/24] mate.mate-calc: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-calc/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index a5a71bcce563..a3e8d3b5951d 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From b7d8444898e93b7b5041a2458254d104b0ecccb3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 10/24] mate.mate-control-center: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-control-center/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index 362eaf906b87..b9c80180087d 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -6,11 +6,11 @@
 
 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 = [

From 5907b7cb413eb2901e9050f34086153b818b8dff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 11/24] mate.mate-notification-daemon: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-notification-daemon/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 20461847d343..28497084fb63 100644
--- a/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -3,11 +3,11 @@
 
 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 = [

From 00815c91035a72dac7433ec5435f93f02ecce2c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 12/24] mate.mate-panel: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-panel/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index e089811211c7..c332b700227d 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From 8228ca4025badfcb32d8f0c2a53c40853d985065 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:02 -0300
Subject: [PATCH 13/24] mate.mate-power-manager: 1.24.2 -> 1.24.3

---
 pkgs/desktops/mate/mate-power-manager/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index 2bc98cb1cb02..fe74cf2505a4 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From 48752e4e3981ca5249d86579c854f11935acd707 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 14/24] mate.mate-screensaver: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-screensaver/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix
index ee59f6d82630..f132bbcd26df 100644
--- a/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From e1a9cfc9b77caab3664b2e083944c269ceb4758b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 15/24] mate.mate-session-manager: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-session-manager/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 74c36145de1f..bdd129e0deca 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 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 = [

From b54b1ea41de30f21fc445c9c3b079b0855f1c014 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 16/24] mate.mate-themes: 3.22.21 -> 3.22.22

---
 pkgs/desktops/mate/mate-themes/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index b220478184a3..8153ea1ec7af 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -3,11 +3,11 @@
 
 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 ];

From ebfbb86478b7469350c8e8f4b97e26fd4346fb41 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 17/24] mate.mate-settings-daemon: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-settings-daemon/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 90b931403c7b..ed908759877b 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -5,11 +5,11 @@
 
 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 = [

From 359463ea6cdce8d1a35c626f031543b8de428424 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 18/24] mate.mate-system-monitor: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/mate-system-monitor/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index 7e106cbd20da..4527c91eed6b 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From 0beeb25b501ffec9aa5640e28303f7d7ac865475 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 19/24] mate.mate-tweak: 20.10.0 -> 21.04.3

---
 pkgs/desktops/mate/mate-tweak/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-tweak/default.nix b/pkgs/desktops/mate/mate-tweak/default.nix
index 4f49b5f3002e..830cf092f80e 100644
--- a/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/pkgs/desktops/mate/mate-tweak/default.nix
@@ -15,13 +15,13 @@
 
 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 = [

From f320df2d41f68c1bbe6092f185170b7e1b6698fa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 20/24] mate.mozo: 1.24.0 -> 1.24.1

---
 pkgs/desktops/mate/mozo/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix
index 2487ed97f016..4122e8231654 100644
--- a/pkgs/desktops/mate/mozo/default.nix
+++ b/pkgs/desktops/mate/mozo/default.nix
@@ -2,14 +2,14 @@
 
 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 ];

From 538f4509085ff62f9994638c025eb40846b5fafa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 18:56:03 -0300
Subject: [PATCH 21/24] mate.pluma: 1.24.1 -> 1.24.2

---
 pkgs/desktops/mate/pluma/default.nix | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index 2fa584b45984..ddebf5a1bb51 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -2,11 +2,11 @@
 
 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 = [

From 21b93fa0cc8c2e296d7078a3300bf1b1f607c141 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Fri, 2 Apr 2021 22:04:39 -0300
Subject: [PATCH 22/24] mate: add some line wrappings

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
---
 pkgs/desktops/mate/marco/default.nix               | 3 ++-
 pkgs/desktops/mate/mate-applets/default.nix        | 4 +++-
 pkgs/desktops/mate/mate-control-center/default.nix | 8 ++++----
 pkgs/desktops/mate/mate-sensors-applet/default.nix | 3 ++-
 pkgs/desktops/mate/mate-user-share/default.nix     | 3 ++-
 pkgs/desktops/mate/mate-utils/default.nix          | 3 ++-
 pkgs/desktops/mate/pluma/default.nix               | 3 ++-
 7 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index c5e3372dc48e..aa2ee9d4913b 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, itstool, libxml2, libcanberra-gtk3, libgtop
+, libstartup_notification, gnome3, gtk3, mate-settings-daemon, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "marco";
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index e2a324b96712..1046e431a3b8 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/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, mateUpdateScript }:
+{ 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";
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index b9c80180087d..fd675f0406c8 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,7 +1,7 @@
-{ 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
+{ 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 {
diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix
index 4d0fd068af8e..849f767c7c20 100644
--- a/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/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, mateUpdateScript }:
+{ 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";
diff --git a/pkgs/desktops/mate/mate-user-share/default.nix b/pkgs/desktops/mate/mate-user-share/default.nix
index 6b653498ce3d..1126e5851352 100644
--- a/pkgs/desktops/mate/mate-user-share/default.nix
+++ b/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, mateUpdateScript }:
+{ 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";
diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix
index ac235168860f..0b7b181bd576 100644
--- a/pkgs/desktops/mate/mate-utils/default.nix
+++ b/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, mateUpdateScript }:
+{ 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";
diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index ddebf5a1bb51..279e443e5250 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, perl, itstool, isocodes, enchant, libxml2, python3
+, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "pluma";

From 7501beac87f5fefc84a5ca59ad9a78bffff9df9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Thu, 22 Apr 2021 10:23:43 -0300
Subject: [PATCH 23/24] mate: fix licenses

---
 pkgs/desktops/mate/atril/default.nix                    | 2 +-
 pkgs/desktops/mate/caja-dropbox/default.nix             | 2 +-
 pkgs/desktops/mate/caja-extensions/default.nix          | 2 +-
 pkgs/desktops/mate/caja/default.nix                     | 8 ++++----
 pkgs/desktops/mate/engrampa/default.nix                 | 8 ++++----
 pkgs/desktops/mate/eom/default.nix                      | 2 +-
 pkgs/desktops/mate/libmatekbd/default.nix               | 2 +-
 pkgs/desktops/mate/libmatemixer/default.nix             | 2 +-
 pkgs/desktops/mate/libmateweather/default.nix           | 2 +-
 pkgs/desktops/mate/marco/default.nix                    | 2 +-
 pkgs/desktops/mate/mate-backgrounds/default.nix         | 2 +-
 pkgs/desktops/mate/mate-common/default.nix              | 2 +-
 pkgs/desktops/mate/mate-control-center/default.nix      | 2 +-
 pkgs/desktops/mate/mate-desktop/default.nix             | 2 +-
 pkgs/desktops/mate/mate-icon-theme-faenza/default.nix   | 8 ++++----
 pkgs/desktops/mate/mate-icon-theme/default.nix          | 2 +-
 pkgs/desktops/mate/mate-media/default.nix               | 2 +-
 pkgs/desktops/mate/mate-menus/default.nix               | 2 +-
 pkgs/desktops/mate/mate-netbook/default.nix             | 2 +-
 pkgs/desktops/mate/mate-notification-daemon/default.nix | 2 +-
 pkgs/desktops/mate/mate-panel/default.nix               | 2 +-
 pkgs/desktops/mate/mate-power-manager/default.nix       | 2 +-
 pkgs/desktops/mate/mate-session-manager/default.nix     | 2 +-
 pkgs/desktops/mate/mate-settings-daemon/default.nix     | 2 +-
 pkgs/desktops/mate/mate-terminal/default.nix            | 2 +-
 pkgs/desktops/mate/mate-themes/default.nix              | 8 ++++----
 pkgs/desktops/mate/pluma/default.nix                    | 8 ++++----
 27 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 1a6d947153e8..7e8afde588c6 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/caja-dropbox/default.nix b/pkgs/desktops/mate/caja-dropbox/default.nix
index ded175db092b..3b96f67b12a9 100644
--- a/pkgs/desktops/mate/caja-dropbox/default.nix
+++ b/pkgs/desktops/mate/caja-dropbox/default.nix
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix
index 99438bdd6101..5c08074f0450 100644
--- a/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/pkgs/desktops/mate/caja-extensions/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 44721a2cab21..c533f78849cc 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  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/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 6ba30c16f59f..81d34b8b1259 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -34,11 +34,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  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/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index 75d37e5ea35d..27c120796541 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index 92bfd4fe8339..8d0b567f1615 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/pkgs/desktops/mate/libmatekbd/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix
index bc44710e6e72..9d42c23c7148 100644
--- a/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/pkgs/desktops/mate/libmatemixer/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index a88ba7c6ed31..b042df0fe1ae 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/pkgs/desktops/mate/libmateweather/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index aa2ee9d4913b..b652be0f71b1 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix
index 26aedcc2818d..cfe1325b839f 100644
--- a/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix
index 57f50ad83890..58314df673ab 100644
--- a/pkgs/desktops/mate/mate-common/default.nix
+++ b/pkgs/desktops/mate/mate-common/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index fd675f0406c8..b94e7ecfd06d 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 4270b0a1f921..b1b59dc6402c 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index f0bca054ae8c..7dc4423fb6b2 100644
--- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -25,11 +25,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  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/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index d6c16c1c7171..cf18cf528f28 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix
index fa6b6e4305a0..6072e81fb3cc 100644
--- a/pkgs/desktops/mate/mate-media/default.nix
+++ b/pkgs/desktops/mate/mate-media/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix
index 751dcd508594..5b11c20380a8 100644
--- a/pkgs/desktops/mate/mate-menus/default.nix
+++ b/pkgs/desktops/mate/mate-menus/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-netbook/default.nix b/pkgs/desktops/mate/mate-netbook/default.nix
index dc10cca40a41..9b7a5ae67180 100644
--- a/pkgs/desktops/mate/mate-netbook/default.nix
+++ b/pkgs/desktops/mate/mate-netbook/default.nix
@@ -37,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/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 28497084fb63..62181418fdfe 100644
--- a/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index c332b700227d..328fcfd20dee 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index fe74cf2505a4..3a99538d9298 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index bdd129e0deca..0f8ac83085d2 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index ed908759877b..6c35a1d63120 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index d17d2fafd1b5..2c4d4223eccc 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/pkgs/desktops/mate/mate-terminal/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   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/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index 8153ea1ec7af..6a1be82c8a6d 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -29,11 +29,11 @@ stdenv.mkDerivation rec {
     url = "https://pub.mate-desktop.org/releases/themes";
   };
 
-  meta = {
+  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/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index 279e443e5250..4c98c9cf5207 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -33,11 +33,11 @@ stdenv.mkDerivation rec {
 
   passthru.updateScript = mateUpdateScript { inherit pname version; };
 
-  meta = {
+  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 ];
   };
 }

From 3922a641d0862d50892b9524d75761f89bfae69e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
Date: Thu, 22 Apr 2021 10:40:54 -0300
Subject: [PATCH 24/24] mate.mate-session-manager: fix stale substituteInPlace

---
 pkgs/desktops/mate/mate-session-manager/default.nix | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 0f8ac83085d2..c0cd12bd2732 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -43,8 +43,7 @@ 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" ];