diff --git a/x11-packages/caja-actions/build.sh b/x11-packages/caja-actions/build.sh
new file mode 100644
index 0000000000..14ff9721cb
--- /dev/null
+++ b/x11-packages/caja-actions/build.sh
@@ -0,0 +1,17 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Extension for Caja which allows the user to add arbitrary programs to be launched"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later, LGPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/caja-actions/releases/download/v$TERMUX_PKG_VERSION/caja-actions-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=310d39488e707fad848959a0a800b6154f4498dfddaeff5af49e4db35d0bea4d
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="caja, libgtop"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common"
+
+termux_step_pre_configure() {
+ # Fixes:
+ # CANNOT LINK EXECUTABLE "caja-actions-config-tool":
+ # library "libna-core.so" not found: needed by main executable
+ LDFLAGS+=" -Wl,-rpath=$TERMUX_PREFIX/lib/caja-actions"
+}
diff --git a/x11-packages/caja-extensions/build.sh b/x11-packages/caja-extensions/build.sh
new file mode 100644
index 0000000000..81bba8433c
--- /dev/null
+++ b/x11-packages/caja-extensions/build.sh
@@ -0,0 +1,14 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Set of extensions for Caja, the MATE file manager"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/caja-extensions/releases/download/v$TERMUX_PKG_VERSION/caja-extensions-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="caja, dbus-glib, gettext, gst-plugins-base, imagemagick, samba"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common, python, gst-plugins-base"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--disable-upnp
+--disable-gksu
+"
diff --git a/x11-packages/engrampa/build.sh b/x11-packages/engrampa/build.sh
new file mode 100644
index 0000000000..7e5a80c828
--- /dev/null
+++ b/x11-packages/engrampa/build.sh
@@ -0,0 +1,14 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="File archiver for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.2"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/engrampa/releases/download/v$TERMUX_PKG_VERSION/engrampa-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=1e9977c23745bf8843a37f315171d9af97814a0971aeac3d774f017650ac09ef
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="gtk3, gzip, gettext, libarchive, tar, unzip, zip"
+TERMUX_PKG_RECOMMENDS="caja, p7zip, unrar, brotli, rpm, cpio"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, caja, glib, mate-common, python"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--disable-packagekit
+"
diff --git a/x11-packages/eom/build.sh b/x11-packages/eom/build.sh
new file mode 100644
index 0000000000..5a61ceb7ab
--- /dev/null
+++ b/x11-packages/eom/build.sh
@@ -0,0 +1,21 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Image viewer for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/eom/releases/download/v$TERMUX_PKG_VERSION/eom-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
+# version 1.28.1 has a build failure not only in Termux, but also the same error in upstream's own CI;
+# wait for them to fix it
+TERMUX_PKG_AUTO_UPDATE=false
+TERMUX_PKG_DEPENDS="dbus-glib, gobject-introspection, gettext, librsvg, littlecms, libexif, libjpeg-turbo, mate-desktop, libpeas"
+TERMUX_PKG_RECOMMENDS="webp-pixbuf-loader"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--localstatedir=$TERMUX_PREFIX/var
+"
+
+termux_step_pre_configure() {
+ termux_setup_gir
+ termux_setup_glib_cross_pkg_config_wrapper
+}
diff --git a/x11-packages/eom/gir/1.28.0/eom.xml b/x11-packages/eom/gir/1.28.0/eom.xml
new file mode 100644
index 0000000000..b13d7c29d5
--- /dev/null
+++ b/x11-packages/eom/gir/1.28.0/eom.xml
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/x11-packages/libmatemixer/build.sh b/x11-packages/libmatemixer/build.sh
new file mode 100644
index 0000000000..f5ef16bdd3
--- /dev/null
+++ b/x11-packages/libmatemixer/build.sh
@@ -0,0 +1,13 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Mixer library for MATE Desktop"
+TERMUX_PKG_LICENSE="LGPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/libmatemixer/releases/download/v$TERMUX_PKG_VERSION/libmatemixer-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="alsa-lib, glib, pulseaudio"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--localstatedir=$TERMUX_PREFIX/var
+"
diff --git a/x11-packages/libmatemixer/cherry-pick-a2b5941a.patch b/x11-packages/libmatemixer/cherry-pick-a2b5941a.patch
new file mode 100644
index 0000000000..738fa2394a
--- /dev/null
+++ b/x11-packages/libmatemixer/cherry-pick-a2b5941a.patch
@@ -0,0 +1,33 @@
+From a2b5941a6120c9aa0bfba03603147171e1cdec74 Mon Sep 17 00:00:00 2001
+From: Colomban Wendling
+Date: Tue, 4 Feb 2025 17:59:19 +0100
+Subject: [PATCH] pulse: Don't crash on failure to retrieve server info
+
+Although the documentation isn't very verbose, pactl handles this case
+like this, so a NULL info is likely a valid result of this call upon
+failure.
+
+Most of the code is actually just copied over from pactl.c itself,
+there wasn't much more to it.
+
+Part-of: mate-desktop/mate-media#159
+---
+ backends/pulse/pulse-connection.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/backends/pulse/pulse-connection.c b/backends/pulse/pulse-connection.c
+index b8ca8c5..6a745f8 100644
+--- a/backends/pulse/pulse-connection.c
++++ b/backends/pulse/pulse-connection.c
+@@ -1467,6 +1467,11 @@ pulse_server_info_cb (pa_context *c,
+ {
+ PulseConnection *connection;
+
++ if (! info) {
++ g_warning ("Failed to get PulseAudio server information: %s", pa_strerror (pa_context_errno (c)));
++ return;
++ }
++
+ connection = PULSE_CONNECTION (userdata);
+
+ g_signal_emit (G_OBJECT (connection),
diff --git a/x11-packages/mate-applets/build.sh b/x11-packages/mate-applets/build.sh
new file mode 100644
index 0000000000..489982b56e
--- /dev/null
+++ b/x11-packages/mate-applets/build.sh
@@ -0,0 +1,16 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Applets for use with the MATE panel"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later, LGPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.1"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-applets/releases/download/v$TERMUX_PKG_VERSION/mate-applets-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=a5967141527dc5b172d322a6003c23aeec253160f650bb36430a06ddaefa7e2e
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="gtksourceview4, libgtop, libnotify, mate-panel, libnl"
+TERMUX_PKG_SUGGESTS="fortune, gucharmap"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common, glib"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--with-dbus-sys=$TERMUX_PREFIX/share/dbus-1/system.d
+--disable-polkit
+"
diff --git a/x11-packages/mate-backgrounds/build.sh b/x11-packages/mate-backgrounds/build.sh
new file mode 100644
index 0000000000..56ca5dcdaa
--- /dev/null
+++ b/x11-packages/mate-backgrounds/build.sh
@@ -0,0 +1,10 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Set of backgrounds packaged with the MATE desktop"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-backgrounds/releases/download/v$TERMUX_PKG_VERSION/mate-backgrounds-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_BUILD_DEPENDS="mate-common"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
diff --git a/x11-packages/mate-control-center/build.sh b/x11-packages/mate-control-center/build.sh
new file mode 100644
index 0000000000..2431b37205
--- /dev/null
+++ b/x11-packages/mate-control-center/build.sh
@@ -0,0 +1,21 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Set of backgrounds packaged with the MATE desktop"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.1"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-control-center/releases/download/v$TERMUX_PKG_VERSION/mate-control-center-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=e12d34c1c1f11e3d0a2ba2dd41bc1c997bf0d1d56486896756f6edaac5f9a9b2
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="dconf, mate-menus, mate-settings-daemon, marco, libgtop, libxss, mate-desktop, gettext, mate-panel, libcanberra, libayatana-appindicator"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--localstatedir=$TERMUX_PREFIX/var
+--disable-update-mimedb
+--disable-systemd
+"
+
+termux_step_pre_configure() {
+ autoreconf -fi
+}
diff --git a/x11-packages/mate-control-center/disable-polkit-udisks2.patch b/x11-packages/mate-control-center/disable-polkit-udisks2.patch
new file mode 100644
index 0000000000..921aca6dda
--- /dev/null
+++ b/x11-packages/mate-control-center/disable-polkit-udisks2.patch
@@ -0,0 +1,88 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -106,7 +106,6 @@ COMMON_MODULES="gtk+-3.0 >= $GTK_REQUIRED dnl
+ gio-2.0 dnl
+ gio-unix-2.0 dnl
+ libxml-2.0 dnl
+- udisks2 dnl
+ libgtop-2.0 dnl
+ mate-desktop-2.0 >= $MATE_DESKTOP_REQUIRED"
+ PKG_CHECK_MODULES(CAPPLET, $COMMON_MODULES)
+@@ -113,14 +113,12 @@ PKG_CHECK_MODULES(CAPPLET, $COMMON_MODULES)
+ PKG_CHECK_MODULES(MATECC, $COMMON_MODULES libmate-menu >= 1.21.0)
+ PKG_CHECK_MODULES(MATECC_SHELL, $COMMON_MODULES libmate-menu librsvg-2.0 pango)
+
+-PKG_CHECK_MODULES(POLKIT, polkit-gobject-1)
+ PKG_CHECK_MODULES(MATE_DESKTOP, mate-desktop-2.0 >= $MATE_DESKTOP_REQUIRED)
+ PKG_CHECK_MODULES(DEFAULT_APPLICATIONS_CAPPLET, libxml-2.0)
+ PKG_CHECK_MODULES(MARCO, libmarco-private >= $MARCO_REQUIRED)
+ PKG_CHECK_MODULES(TYPING, $GMODULE_ADD glib-2.0 >= $GLIB_REQUIRED gio-2.0 gtk+-3.0 >= $GTK_REQUIRED)
+ PKG_CHECK_MODULES(GIO, gio-2.0)
+ PKG_CHECK_MODULES(GLIBTOP, libgtop-2.0)
+-PKG_CHECK_MODULES(UDISKS, udisks2)
+
+ PKG_CHECK_MODULES([DCONF], [dconf >= 0.13.4])
+ AC_SUBST(DCONF_CFLAGS)
+--- a/capplets/system-info/mate-system-info.c
++++ b/capplets/system-info/mate-system-info.c
+@@ -26,7 +26,6 @@
+ #include
+ #include
+ #include
+-#include
+ #include
+
+ #ifdef GDK_WINDOWING_WAYLAND
+@@ -374,7 +373,6 @@ get_graphics_hardware_string (void)
+ static char *
+ get_primary_disk_size (void)
+ {
+- g_autoptr(UDisksClient) client = NULL;
+ GDBusObjectManager *manager;
+ g_autolist(GDBusObject) objects = NULL;
+ GList *l;
+@@ -384,42 +382,13 @@ get_primary_disk_size (void)
+
+ total_size = 0;
+
+- client = udisks_client_new_sync (NULL, &error);
+- if (client == NULL)
++ error = g_error_new(G_FILE_ERROR, G_FILE_ERROR_NOSYS, "Unsupported system");
++ if (TRUE)
+ {
+ g_warning ("Unable to get UDisks client: %s. Disk information will not be available.",
+ error->message);
+ return g_strdup ("Unknown");
+ }
+-
+- manager = udisks_client_get_object_manager (client);
+- objects = g_dbus_object_manager_get_objects (manager);
+-
+- for (l = objects; l != NULL; l = l->next)
+- {
+- UDisksDrive *drive;
+- drive = udisks_object_peek_drive (UDISKS_OBJECT (l->data));
+-
+- /* Skip removable devices */
+- if (drive == NULL ||
+- udisks_drive_get_removable (drive) ||
+- udisks_drive_get_ejectable (drive))
+- {
+- continue;
+- }
+-
+- total_size += udisks_drive_get_size (drive);
+- }
+- if (total_size > 0)
+- {
+- size = g_format_size (total_size);
+- }
+- else
+- {
+- size = g_strdup ("Unknown");
+- }
+-
+- return size;
+ }
+
+ static char *
diff --git a/x11-packages/mate-control-center/disable-yelp.patch b/x11-packages/mate-control-center/disable-yelp.patch
new file mode 100644
index 0000000000..0d803addd2
--- /dev/null
+++ b/x11-packages/mate-control-center/disable-yelp.patch
@@ -0,0 +1,7 @@
+--- a/help/Makefile.am
++++ b/help/Makefile.am
+@@ -1,4 +1,3 @@
+-@YELP_HELP_RULES@
+
+ HELP_ID = mate-control-center
+ HELP_FILES = \
diff --git a/x11-packages/mate-extra/build.sh b/x11-packages/mate-extra/build.sh
new file mode 100644
index 0000000000..4b726781a4
--- /dev/null
+++ b/x11-packages/mate-extra/build.sh
@@ -0,0 +1,10 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="A metapackage that installs various utilities and programs for the MATE desktop environment"
+TERMUX_PKG_LICENSE="Public Domain"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_AUTO_UPDATE=false
+TERMUX_PKG_SKIP_SRC_EXTRACT=true
+TERMUX_PKG_DEPENDS="atril, caja-actions, caja-extensions, engrampa, eom, mate-applets, mate-calc, mate-icon-theme-faenza, mate-media, mate-netbook, mate-screensaver, mate-system-monitor, mate-terminal, mate-utils, mozo, pluma"
+TERMUX_PKG_METAPACKAGE=true
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
diff --git a/x11-packages/mate-icon-theme-faenza/build.sh b/x11-packages/mate-icon-theme-faenza/build.sh
new file mode 100644
index 0000000000..d064ab5eb6
--- /dev/null
+++ b/x11-packages/mate-icon-theme-faenza/build.sh
@@ -0,0 +1,27 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Faenza icon theme for MATE"
+TERMUX_PKG_LICENSE="GPL-3.0-only"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.20.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop-legacy-archive/mate-icon-theme-faenza/archive/refs/tags/v$TERMUX_PKG_VERSION.tar.gz"
+TERMUX_PKG_SHA256=3e838a08c18116d4d69fcacf50b456d79846db12bf249b44c7d971cf2df7b9c0
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_UPDATE_TAG_TYPE=newest-tag
+TERMUX_PKG_BUILD_DEPENDS="mate-common"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
+TERMUX_PKG_HOSTBUILD=true
+TERMUX_PKG_BUILD_IN_SRC=true
+
+termux_step_host_build() {
+ termux_download_ubuntu_packages mate-common
+ sed -i "s|prefix=/usr|prefix=$TERMUX_PKG_HOSTBUILD_DIR/ubuntu_packages/usr|" \
+ "$TERMUX_PKG_HOSTBUILD_DIR/ubuntu_packages/usr/bin/mate-doc-common"
+}
+
+termux_step_pre_configure() {
+ if [[ "$TERMUX_ON_DEVICE_BUILD" == "false" ]]; then
+ export PATH="$TERMUX_PKG_HOSTBUILD_DIR/ubuntu_packages/usr/bin:$PATH"
+ fi
+
+ ./autogen.sh
+}
diff --git a/x11-packages/mate-icon-theme/build.sh b/x11-packages/mate-icon-theme/build.sh
new file mode 100644
index 0000000000..acaeef641d
--- /dev/null
+++ b/x11-packages/mate-icon-theme/build.sh
@@ -0,0 +1,26 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="MATE default icon theme"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-icon-theme/releases/download/v$TERMUX_PKG_VERSION/mate-icon-theme-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_BUILD_DEPENDS="mate-common, icon-naming-utils"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
+TERMUX_PKG_HOSTBUILD=true
+
+termux_step_host_build() {
+ if [[ "$TERMUX_ON_DEVICE_BUILD" == "true" ]]; then
+ return
+ fi
+ # XML::Simple for running $TERMUX_PREFIX/libexec/icon-name-mapping in
+ # the Ubuntu termux-package-builder's perl during cross-compilation
+ termux_download_ubuntu_packages libxml-simple-perl
+}
+
+termux_step_pre_configure() {
+ if [[ "$TERMUX_ON_DEVICE_BUILD" == "false" ]]; then
+ export PERL5LIB="$TERMUX_PKG_HOSTBUILD_DIR/ubuntu_packages/usr/share/perl5"
+ fi
+}
diff --git a/x11-packages/mate-media/build.sh b/x11-packages/mate-media/build.sh
new file mode 100644
index 0000000000..eb6d51f3fc
--- /dev/null
+++ b/x11-packages/mate-media/build.sh
@@ -0,0 +1,14 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="MATE Media Tools"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.1"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-media/releases/download/v$TERMUX_PKG_VERSION/mate-media-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="libcanberra, libmatemixer, mate-desktop, mate-panel, gettext"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--localstatedir=$TERMUX_PREFIX/var
+"
diff --git a/x11-packages/mate-netbook/build.sh b/x11-packages/mate-netbook/build.sh
new file mode 100644
index 0000000000..61f744a08d
--- /dev/null
+++ b/x11-packages/mate-netbook/build.sh
@@ -0,0 +1,13 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Simple window management tool"
+TERMUX_PKG_LICENSE="GPL-3.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.27.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-netbook/releases/download/v$TERMUX_PKG_VERSION/mate-netbook-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=b41a890c515e4dc2f51038fbc0fca65344a3b8551c7d7fd04b5470f18049df4c
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="libfakekey, mate-panel, gettext"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+"
diff --git a/x11-packages/mate-notification-daemon/build.sh b/x11-packages/mate-notification-daemon/build.sh
new file mode 100644
index 0000000000..46777b57e9
--- /dev/null
+++ b/x11-packages/mate-notification-daemon/build.sh
@@ -0,0 +1,13 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Notification daemon for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.5"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-notification-daemon/releases/download/v$TERMUX_PKG_VERSION/mate-notification-daemon-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=d3090ea9d1a859e2def9c4d2319f9ac96a79b7a33598a97784db40be2508f668
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="libcanberra, libwnck, libnotify, gettext, mate-panel"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common, python"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+"
diff --git a/x11-packages/mate-screensaver/build.sh b/x11-packages/mate-screensaver/build.sh
new file mode 100644
index 0000000000..76bcbef740
--- /dev/null
+++ b/x11-packages/mate-screensaver/build.sh
@@ -0,0 +1,17 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Screensaver for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-screensaver/releases/download/v$TERMUX_PKG_VERSION/mate-screensaver-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="mate-panel, libmatekbd, gettext, libnotify, libxss, mate-desktop, mate-menus, mate-session-manager"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, mate-common"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--with-mit-ext
+--with-libnotify
+--disable-locking
+--without-console-kit
+"
diff --git a/x11-packages/mate-screensaver/prepend-prefix-to-tmp-paths.patch b/x11-packages/mate-screensaver/prepend-prefix-to-tmp-paths.patch
new file mode 100644
index 0000000000..200fda9717
--- /dev/null
+++ b/x11-packages/mate-screensaver/prepend-prefix-to-tmp-paths.patch
@@ -0,0 +1,22 @@
+--- a/savers/slideshow.c
++++ b/savers/slideshow.c
+@@ -103,7 +103,7 @@ main (int argc, char **argv)
+ {
+ location = xdg_user_dir_lookup ("PICTURES");
+ if (location == NULL ||
+- strcmp (location, "/tmp") == 0 ||
++ strcmp (location, "@TERMUX_PREFIX@/tmp") == 0 ||
+ strcmp (location, g_get_home_dir ()) == 0)
+ {
+ free (location);
+--- a/savers/xdg-user-dir-lookup.c
++++ b/savers/xdg-user-dir-lookup.c
+@@ -45,7 +45,7 @@ xdg_user_dir_lookup (const char *type)
+ home_dir = getenv ("HOME");
+
+ if (home_dir == NULL)
+- return strdup ("/tmp");
++ return strdup ("@TERMUX_PREFIX@/tmp");
+
+ config_home = getenv ("XDG_CONFIG_HOME");
+ if (config_home == NULL || config_home[0] == 0)
diff --git a/x11-packages/mate-settings-daemon/build.sh b/x11-packages/mate-settings-daemon/build.sh
index d64b0bc7d5..d580735211 100644
--- a/x11-packages/mate-settings-daemon/build.sh
+++ b/x11-packages/mate-settings-daemon/build.sh
@@ -3,15 +3,11 @@ TERMUX_PKG_DESCRIPTION="mate-settings-daemon is a fork of gnome-settings-daemon"
TERMUX_PKG_LICENSE="GPL-2.0, LGPL-2.1"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.28.0"
-TERMUX_PKG_REVISION=1
-TERMUX_PKG_SRCURL=https://github.com/mate-desktop/mate-settings-daemon/releases/download/v$TERMUX_PKG_VERSION/mate-settings-daemon-$TERMUX_PKG_VERSION.tar.xz
+TERMUX_PKG_REVISION=2
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-settings-daemon/releases/download/v$TERMUX_PKG_VERSION/mate-settings-daemon-$TERMUX_PKG_VERSION.tar.xz"
TERMUX_PKG_SHA256=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
TERMUX_PKG_AUTO_UPDATE=true
-TERMUX_PKG_DEPENDS="atk, dbus, dbus-glib, dconf, fontconfig, freetype, gdk-pixbuf, glib, gtk3, harfbuzz, libcairo, libice, libmatekbd, libnotify, libsm, libx11, libxext, libxi, libxklavier, mate-desktop, pango, startup-notification, zlib"
-TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
---without-libcanberra
---without-libmatemixer
-"
+TERMUX_PKG_DEPENDS="atk, dbus, dbus-glib, dconf, fontconfig, freetype, gdk-pixbuf, glib, gtk3, harfbuzz, libcairo, libcanberra, libice, libmatekbd, libmatemixer, libnotify, libsm, libx11, libxext, libxi, libxklavier, mate-desktop, pango, startup-notification, zlib"
termux_step_pre_configure() {
LDFLAGS+=" -lm"
diff --git a/x11-packages/mate-system-monitor/build.sh b/x11-packages/mate-system-monitor/build.sh
new file mode 100644
index 0000000000..484398c39c
--- /dev/null
+++ b/x11-packages/mate-system-monitor/build.sh
@@ -0,0 +1,13 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Process viewer and system resource monitor for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.1"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-system-monitor/releases/download/v$TERMUX_PKG_VERSION/mate-system-monitor-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="gettext, glib, gtkmm3, libgtop, libsm, librsvg"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--disable-systemd
+"
diff --git a/x11-packages/mate-system-monitor/disable-polkit.patch b/x11-packages/mate-system-monitor/disable-polkit.patch
new file mode 100644
index 0000000000..c645bc38f2
--- /dev/null
+++ b/x11-packages/mate-system-monitor/disable-polkit.patch
@@ -0,0 +1,20 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -169,7 +169,7 @@ am__installdirs = "$(DESTDIR)$(man1dir)" \
+ "$(DESTDIR)$(polkit_policydir)"
+ NROFF = nroff
+ MANS = $(man_MANS)
+-DATA = $(Applications_DATA) $(appdata_DATA) $(polkit_policy_DATA)
++DATA = $(Applications_DATA) $(appdata_DATA)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ am__recursive_targets = \
+@@ -982,7 +982,7 @@ info: info-recursive
+ info-am:
+
+ install-data-am: install-ApplicationsDATA install-appdataDATA \
+- install-man install-polkit_policyDATA
++ install-man
+
+ install-dvi: install-dvi-recursive
+
diff --git a/x11-packages/mate-system-monitor/hasmntopt.patch b/x11-packages/mate-system-monitor/hasmntopt.patch
new file mode 100644
index 0000000000..5516986e8c
--- /dev/null
+++ b/x11-packages/mate-system-monitor/hasmntopt.patch
@@ -0,0 +1,27 @@
+--- a/src/disks.cpp
++++ b/src/disks.cpp
+@@ -17,6 +17,24 @@
+ #include "interface.h"
+ #include "iconthemewrapper.h"
+
++#if defined __ANDROID__ && __ANDROID_API__ < 26
++#include
++static char *hasmntopt(const struct mntent *__entry, const char *__option)
++{
++ static int initialized = 0;
++ static char *(*libc_impl)(const struct mntent *, const char *) = NULL;
++ if (!initialized) {
++ void *libc_handle = dlopen("libc.so", RTLD_NOW);
++ if (libc_handle != NULL)
++ libc_impl = (char *(*)(const struct mntent *, const char *))dlsym(libc_handle, "hasmntopt");
++ initialized = 1;
++ }
++ if (libc_impl != NULL)
++ return libc_impl(__entry, __option);
++ return NULL;
++}
++#endif
++
+ namespace
+ {
+ const unsigned DISK_ICON_SIZE = 24;
diff --git a/x11-packages/mate-themes/build.sh b/x11-packages/mate-themes/build.sh
new file mode 100644
index 0000000000..85dd6ba7e5
--- /dev/null
+++ b/x11-packages/mate-themes/build.sh
@@ -0,0 +1,18 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Official themes for the MATE desktop"
+TERMUX_PKG_LICENSE="LGPL-2.1-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="3.22.26"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-themes/releases/download/v$TERMUX_PKG_VERSION/mate-themes-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=224e89d364eb3b73f1cf756d05494a98421a93cbf54349a2c85fc607eb755ed7
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+TERMUX_PKG_RECOMMENDS="mate-icon-theme"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
+
+termux_step_pre_configure() {
+ # Remove check for gtk2
+ sed -i '/Check GTK+ theme engines/,+3d' configure.ac
+
+ autoreconf -fi
+}
diff --git a/x11-packages/mate-tweak/avoid-distutilsextra.patch b/x11-packages/mate-tweak/avoid-distutilsextra.patch
new file mode 100644
index 0000000000..bf8b552d74
--- /dev/null
+++ b/x11-packages/mate-tweak/avoid-distutilsextra.patch
@@ -0,0 +1,86 @@
+alternative to distutilsextra that can be inserted into setup.py
+based on https://davesteele.github.io/development/2015/12/11/add-i18n-to-setup-py/
+
+diff --git a/setup.py b/setup.py
+index 412527b..2e79447 100755
+--- a/setup.py
++++ b/setup.py
+@@ -20,13 +20,11 @@
+
+ import os
+ import sys
++import shutil
+
+ from glob import glob
+ from setuptools import setup
+-
+-import DistUtilsExtra.command.build_extra
+-import DistUtilsExtra.command.build_i18n
+-import DistUtilsExtra.command.clean_i18n
++from setuptools.command.build import build
+
+ # to update i18n .mo files (and merge .pot file into .po files) run on Linux:
+ # tx pull -a --minimum-perc=5
+@@ -43,6 +41,48 @@ with open('mate-tweak') as f:
+
+ PROGRAM_VERSION = __VERSION__
+
++podir = "po"
++pos = [x for x in os.listdir(podir) if x[-3:] == ".po"]
++langs = sorted([os.path.split(x)[-1][:-3] for x in pos])
++
++def mkmo(lang):
++ outpath = os.path.join("build/mo", lang, "LC_MESSAGES")
++ if os.path.exists(outpath):
++ shutil.rmtree(outpath)
++ os.makedirs(outpath)
++
++ inpath = os.path.join(podir, lang + ".po")
++
++ cmd = "msgfmt %s -o %s/%s.mo" % (inpath, outpath, "mate-tweak")
++ os.system(cmd)
++
++def merge_i18n():
++ cmd = "LC_ALL=C intltool-merge -u -c ./po/.intltool-merge-cache ./po "
++ for infile in (x[:-3] for x in os.listdir('.') if x[-3:] == '.in'):
++ print("Processing %s.in to %s" % (infile, infile))
++
++ if 'desktop' in infile:
++ flag = '-d'
++ elif 'schema' in infile:
++ flag = '-s'
++ elif 'xml' in infile:
++ flag = '-x'
++ else:
++ flag = ''
++
++ if flag:
++ os.system("%s %s %s.in %s" % (cmd, flag, infile, infile))
++
++class custom_build(build):
++ def run(self, *args):
++ build.run(self, *args)
++
++ for lang in langs:
++ mkmo(lang)
++
++ merge_i18n()
++ data_files.extend(datafilelist('{prefix}/share/locale'.format(prefix=sys.prefix), 'build/mo'))
++
+ def datafilelist(installbase, sourcebase):
+ datafileList = []
+ for root, subFolders, files in os.walk(sourcebase):
+@@ -62,12 +102,9 @@ data_files = [
+ ('{prefix}/share/polkit-1/actions'.format(prefix=sys.prefix), ['data/org.mate.mate-tweak.policy',]),
+ ('{prefix}/lib/mate-tweak'.format(prefix=sys.prefix), ['data/mate-tweak.ui', 'util/mate-tweak-helper']),
+ ]
+-data_files.extend(datafilelist('{prefix}/share/locale'.format(prefix=sys.prefix), 'build/mo'))
+
+ cmdclass ={
+- "build" : DistUtilsExtra.command.build_extra.build_extra,
+- "build_i18n" : DistUtilsExtra.command.build_i18n.build_i18n,
+- "clean": DistUtilsExtra.command.clean_i18n.clean_i18n,
++ "build" : custom_build,
+ }
+
+ setup(
diff --git a/x11-packages/mate-tweak/build.sh b/x11-packages/mate-tweak/build.sh
new file mode 100644
index 0000000000..c10aa39afb
--- /dev/null
+++ b/x11-packages/mate-tweak/build.sh
@@ -0,0 +1,25 @@
+TERMUX_PKG_HOMEPAGE=https://github.com/ubuntu-mate/mate-tweak
+TERMUX_PKG_DESCRIPTION="Tweak tool for the MATE Desktop"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="22.10.0"
+TERMUX_PKG_SRCURL="https://github.com/ubuntu-mate/mate-tweak/archive/refs/tags/$TERMUX_PKG_VERSION.tar.gz"
+TERMUX_PKG_SHA256=c33c092b0151b50d8a5706825f1bcef57f1738f8f5cf22af49c11f45bc14e84a
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_PYTHON_RUNTIME_DEPS="distro, psutil, setproctitle"
+TERMUX_PKG_DEPENDS="dconf, gsettings-desktop-schemas, ldd, libnotify, libmatekbd, mate-applets, mate-panel, pygobject, python, python-pip"
+TERMUX_PKG_SUGGESTS="mate-applet-brisk-menu, plank-reloaded, tilda, mate-applet-appmenu"
+TERMUX_PKG_BUILD_DEPENDS="rsync"
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
+TERMUX_PKG_BUILD_IN_SRC=true
+TERMUX_PKG_RM_AFTER_INSTALL="
+local
+share/polkit-1
+"
+
+termux_step_post_make_install() {
+ # this software installs itself in a really messed-up directory structure.
+ # The easiest way to explain what is wrong is to just show commands fixing it after installation:
+ rsync -av "$TERMUX_PREFIX/local/bin/" "$TERMUX_PREFIX/bin"
+ rsync -av "$TERMUX_PREFIX/local/lib/python$TERMUX_PYTHON_VERSION/dist-packages/usr/" "$TERMUX_PREFIX"
+}
diff --git a/x11-packages/mate-tweak/fix-paths.patch b/x11-packages/mate-tweak/fix-paths.patch
new file mode 100644
index 0000000000..50334b439c
--- /dev/null
+++ b/x11-packages/mate-tweak/fix-paths.patch
@@ -0,0 +1,280 @@
+--- a/mate-tweak
++++ b/mate-tweak
+@@ -96,7 +96,7 @@ __MENU_TRADITIONAL_BUTTONS__ = "menu:minimize,maximize,close"
+ __MENU_CONTEMPORARY_BUTTONS__ = "close,minimize,maximize:menu"
+
+ # i18n
+-gettext.install('mate-tweak', os.path.join('/','usr','share','locale'))
++gettext.install('mate-tweak', os.path.join('@TERMUX_PREFIX@','share','locale'))
+
+ class SidePage:
+ def __init__(self, notebook_index, name, icon):
+@@ -295,7 +295,7 @@ class MateTweak:
+
+ def create_autostart(self, filename, content):
+ # Create a local autostart only if it is missing from the system path.
+- if not os.path.exists(os.path.join('/','usr','share','mate','autostart',filename)):
++ if not os.path.exists(os.path.join('@TERMUX_PREFIX@','share','mate','autostart',filename)):
+ config_dir = GLib.get_user_config_dir()
+ self.mkdir_p(os.path.join(config_dir, 'autostart/'))
+ if not os.path.exists(os.path.join(config_dir, 'autostart',filename)):
+@@ -309,8 +309,8 @@ class MateTweak:
+ os.remove(autostart_file)
+
+ # Make sure any system desktop files are also removed
+- mate_tweak_helper = os.path.join('/','usr', 'lib', 'mate-tweak', 'mate-tweak-helper')
+- subprocess.call(['pkexec', mate_tweak_helper, 'autostop', filename], stdout=DEVNULL, stderr=DEVNULL)
++ mate_tweak_helper = os.path.join('@TERMUX_PREFIX@', 'lib', 'mate-tweak', 'mate-tweak-helper')
++ subprocess.call([mate_tweak_helper, 'autostop', filename], stdout=DEVNULL, stderr=DEVNULL)
+
+ def check_wm_features(self):
+ screen = Gdk.Screen.get_default()
+@@ -447,7 +447,7 @@ class MateTweak:
+ if self.hud_available and not self.process_running('mate-hud'):
+ if self.schema_has_key('org.mate.hud', 'enabled'):
+ self.set_bool('org.mate.hud', None, 'enabled', True)
+- pid = subprocess.Popen(['/usr/lib/mate-hud/mate-hud'], stdout=DEVNULL, stderr=DEVNULL).pid
++ pid = subprocess.Popen(['@TERMUX_PREFIX@/lib/mate-hud/mate-hud'], stdout=DEVNULL, stderr=DEVNULL).pid
+ self.hud_enabled = True
+
+ def disable_hud(self):
+@@ -555,7 +555,7 @@ class MateTweak:
+ """
+ self.kill_process('mate-volume-control-applet')
+ self.remove_autostart('mate-volume-control-applet.desktop')
+- if os.path.exists('/usr/libexec/ayatana-indicator-power/ayatana-indicator-power-service'):
++ if os.path.exists('@TERMUX_PREFIX@/libexec/ayatana-indicator-power/ayatana-indicator-power-service'):
+ self.set_string('org.mate.power-manager', None, 'icon-policy', 'never')
+ self.set_bool('org.mate.power-manager', None, 'notify-low-capacity', False)
+
+@@ -568,10 +568,10 @@ class MateTweak:
+ When indicators are disabled some MATE applets need enabling
+ or showing.
+ """
+- pid = subprocess.Popen(['mate-volume-control-applet'], stdout=DEVNULL, stderr=DEVNULL).pid
++ pid = subprocess.Popen(['@TERMUX_PREFIX@/libexec/mate-volume-control-applet'], stdout=DEVNULL, stderr=DEVNULL).pid
+ self.remove_autostart('mate-volume-control-applet.desktop')
+ self.create_autostart('mate-volume-control-applet.desktop', __APPLET_SOUND__)
+- if os.path.exists('/usr/libexec/ayatana-indicator-power/ayatana-indicator-power-service'):
++ if os.path.exists('@TERMUX_PREFIX@/libexec/ayatana-indicator-power/ayatana-indicator-power-service'):
+ self.set_string('org.mate.power-manager', None, 'icon-policy', 'present')
+ self.set_bool('org.mate.power-manager', None, 'notify-low-capacity', True)
+
+@@ -591,7 +591,7 @@ class MateTweak:
+
+ def panel_layout_uses(self, applet, panel_layout):
+ try:
+- with open(os.path.join('/','usr','share','mate-panel','layouts', panel_layout + '.layout'), 'rb', 0) as layout, \
++ with open(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts', panel_layout + '.layout'), 'rb', 0) as layout, \
+ mmap.mmap(layout.fileno(), 0, access=mmap.ACCESS_READ) as data:
+ if data.find(applet.encode('utf-8')) != -1:
+ return True
+@@ -622,7 +622,7 @@ class MateTweak:
+ settings = {}
+ if self.panel_layout_uses(section, panel_layout):
+ try:
+- with open(os.path.join('/','usr','share','mate-panel','layouts', panel_layout + '.layout'), 'rb', 0) as layout, \
++ with open(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts', panel_layout + '.layout'), 'rb', 0) as layout, \
+ mmap.mmap(layout.fileno(), 0, access=mmap.ACCESS_READ) as data:
+
+ section_pos = data.find(section.encode('utf-8'))
+@@ -791,12 +791,12 @@ class MateTweak:
+ self.set_enum('com.solus-project.brisk-menu', None, 'window-type', 1)
+
+ # If we have a custom panel layout just replace the dconf dump.
+- if os.path.exists(os.path.join('/','usr','share','mate-panel','layouts', new_layout + '.panel')):
++ if os.path.exists(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts', new_layout + '.panel')):
+ # Reset panel configuration to defaults.
+ self.reset_dconf_path('/org/mate/panel/objects/')
+ self.reset_dconf_path('/org/mate/panel/toplevels/')
+ print('Loading additional panel configuration for ' + new_layout)
+- cmd = 'dconf load /org/mate/panel/ < /usr/share/mate-panel/layouts/' + new_layout + '.panel'
++ cmd = 'dconf load /org/mate/panel/ < @TERMUX_PREFIX@/share/mate-panel/layouts/' + new_layout + '.panel'
+ subprocess.call(cmd, shell=True, stdout=DEVNULL, stderr=DEVNULL)
+ else:
+ # Set the new layout
+@@ -828,7 +828,7 @@ class MateTweak:
+ self.maximus_decorate()
+
+ # Determine if the dock should be enabled
+- if os.path.exists(os.path.join('/','usr','share','mate-panel','layouts', new_layout + '.dock')) and self.dock is not None:
++ if os.path.exists(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts', new_layout + '.dock')) and self.dock is not None:
+ print('Found dock hint for ' + new_layout)
+ mate_theme = self.get_string('org.mate.interface', None, 'gtk-theme')
+ if not new_layout.startswith('mutiny'):
+@@ -930,7 +930,7 @@ class MateTweak:
+ self.disable_keyboard_led()
+
+ def panel_layout_exists(self, panel_layout):
+- return os.path.exists('/usr/share/mate-panel/layouts/' + panel_layout + '.layout')
++ return os.path.exists('@TERMUX_PREFIX@/share/mate-panel/layouts/' + panel_layout + '.layout')
+
+ def check_glx_features(self):
+ if self.find_on_path('glxinfo'):
+@@ -1061,7 +1061,7 @@ class MateTweak:
+ def check_dock_features(self):
+ # Order matters. Plank is preferred.
+ if self.find_on_path('plank') and \
+- os.path.exists(os.path.join('/','usr','share','applications', 'plank.desktop')):
++ os.path.exists(os.path.join('@TERMUX_PREFIX@','share','applications', 'net.launchpad.plank.desktop')):
+ self.dock = 'plank'
+ else:
+ self.dock = None
+@@ -1085,7 +1085,7 @@ class MateTweak:
+ self.pulldown_terminal_enabled = False
+
+ def check_hud_features(self):
+- if os.path.exists('/usr/lib/mate-hud/mate-hud'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/mate-hud/mate-hud'):
+ self.hud_available = True
+ if self.schema_has_key('org.mate.hud', 'enabled'):
+ self.hud_enabled = self.get_bool('org.mate.hud', None, 'enabled')
+@@ -1107,38 +1107,38 @@ class MateTweak:
+ self.brisk_menu_available = False
+ self.appmenu_applet_available = False
+
+- if os.path.exists('/usr/libexec/ayatana-indicator-application/ayatana-indicator-application-service') and \
+- os.path.exists('/usr/share/mate-panel/applets/org.mate.applets.Indicator.mate-panel-applet'):
++ if os.path.exists('@TERMUX_PREFIX@/libexec/ayatana-indicator-application/ayatana-indicator-application-service') and \
++ os.path.exists('@TERMUX_PREFIX@/share/mate-panel/applets/org.mate.applets.Indicator.mate-panel-applet'):
+ self.indicators_available = True
+
+- if os.path.exists('/usr/share/applications/mageia-drakconf.desktop'):
++ if os.path.exists('@TERMUX_PREFIX@/share/applications/mageia-drakconf.desktop'):
+ self.mageia_cc_available = True
+
+- if os.path.exists('/usr/lib/mate-applets/mate-dock-applet/dock.py'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/mate-applets/mate-dock-applet/dock.py'):
+ self.mate_dock_available = True
+
+- if os.path.exists('/usr/lib/mate-menu/mate-menu.py'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/mate-menu/mate-menu.py'):
+ self.mate_menu_available = True
+
+- if os.path.exists('/usr/lib/' + self.multiarch + '/brisk-menu/brisk-menu') or \
+- os.path.exists('/usr/lib/brisk-menu/brisk-menu') or \
+- os.path.exists('/usr/libexec/brisk-menu'):
+- if os.path.exists('/usr/share/mate-panel/applets/com.solus_project.brisk.BriskMenu.mate-panel-applet'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/' + self.multiarch + '/brisk-menu/brisk-menu') or \
++ os.path.exists('@TERMUX_PREFIX@/lib/brisk-menu/brisk-menu') or \
++ os.path.exists('@TERMUX_PREFIX@/libexec/brisk-menu'):
++ if os.path.exists('@TERMUX_PREFIX@/share/mate-panel/applets/com.solus_project.brisk.BriskMenu.mate-panel-applet'):
+ self.brisk_menu_available = True
+
+- if os.path.exists('/usr/lib/' + self.multiarch + '/mate-panel/libappmenu-mate.so') and \
+- os.path.exists('/usr/share/mate-panel/applets/org.vala-panel.appmenu.mate-panel-applet'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/mate-panel/libappmenu-mate.so') and \
++ os.path.exists('@TERMUX_PREFIX@/share/mate-panel/applets/org.vala-panel.appmenu.mate-panel-applet'):
+ self.appmenu_applet_available = True
+
+- if os.path.exists('/usr/bin/mate-maximus') and \
+- os.path.exists('/usr/lib/mate-netbook/mate-window-picker-applet'):
++ if os.path.exists('@TERMUX_PREFIX@/bin/mate-maximus') and \
++ os.path.exists('@TERMUX_PREFIX@/lib/mate-netbook/mate-window-picker-applet'):
+ self.maximus_available = True
+
+- if os.path.exists('/usr/lib/linuxmint/mintMenu/mintMenu.py'):
++ if os.path.exists('@TERMUX_PREFIX@/lib/linuxmint/mintMenu/mintMenu.py'):
+ self.mint_menu_available = True
+
+ config_dir = GLib.get_user_config_dir()
+- if os.path.exists('/etc/xdg/autostart/mate-volume-control-applet.desktop') or \
++ if os.path.exists('@TERMUX_PREFIX@/etc/xdg/autostart/mate-volume-control-applet.desktop') or \
+ os.path.exists(os.path.join(config_dir, 'autostart/') + 'mate-volume-control-applet.desktop'):
+ self.volume_applet_enabled = True
+
+@@ -1161,7 +1161,7 @@ class MateTweak:
+ # Use 'ldd' to determine which Marco compositor is enabled.
+ compositor = "Xrender"
+ try:
+- ldd = subprocess.Popen('ldd /usr/bin/marco', shell=True, stdout=subprocess.PIPE)
++ ldd = subprocess.Popen('ldd @TERMUX_PREFIX@/bin/marco', shell=True, stdout=subprocess.PIPE)
+ for line in ldd.stdout:
+ if "libXpresent" in str(line):
+ compositor = "Xpresent"
+@@ -1291,7 +1291,7 @@ class MateTweak:
+ print(self.system_installed_panel_layouts)
+
+ # Add any saved panel layouts to the start.
+- layouts = os.path.join('/','usr','share','mate-panel','layouts','*-tweak.layout')
++ layouts = os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts','*-tweak.layout')
+ for layout in glob.glob(layouts):
+ list_entry = self.get_custom_panel_list_entry(layout)
+ panels.prepend([list_entry['displayname'], list_entry['codename']])
+@@ -1305,7 +1305,7 @@ class MateTweak:
+ self.system_installed_panel_layouts.append(item_code_name)
+
+ def get_custom_panel_list_entry(self, layout_full_name):
+- layout_code_name = layout_full_name.replace('.layout','').replace('/usr/share/mate-panel/layouts/', '')
++ layout_code_name = layout_full_name.replace('.layout','').replace('@TERMUX_PREFIX@/share/mate-panel/layouts/', '')
+ layout_display_name = layout_code_name
+
+ custom_layout_prefix = self.get_custom_layout_file_prefix(layout_code_name)
+@@ -1372,8 +1372,8 @@ class MateTweak:
+ text = _('Deleting this custom layout will also return your layout to the system default.\n\nAre you sure you want to permanently delete this custom layout?')
+
+ if self.confirm_dialog(title, text):
+- mate_tweak_helper = os.path.join('/','usr', 'lib', 'mate-tweak', 'mate-tweak-helper')
+- delete = subprocess.call(['pkexec', mate_tweak_helper, 'delete', old_layout], stdout=DEVNULL, stderr=DEVNULL)
++ mate_tweak_helper = os.path.join('@TERMUX_PREFIX@', 'lib', 'mate-tweak', 'mate-tweak-helper')
++ delete = subprocess.call([mate_tweak_helper, 'delete', old_layout], stdout=DEVNULL, stderr=DEVNULL)
+ Notify.init(_('MATE Tweak'))
+ delete_panel_notify=Notify.Notification.new (_('Panel Layout Deleted'),_('Your panel layout has been deleted: ') + old_layout.replace('-tweak','') , 'dialog-information')
+ delete_panel_notify.show()
+@@ -1403,11 +1403,11 @@ class MateTweak:
+ if self.panel_layout_exists(layoutname):
+ print('Layout exists. Ignoring that for now and over writting it.')
+
+- mate_tweak_helper = os.path.join('/','usr', 'lib', 'mate-tweak', 'mate-tweak-helper')
++ mate_tweak_helper = os.path.join('@TERMUX_PREFIX@', 'lib', 'mate-tweak', 'mate-tweak-helper')
+ backup = subprocess.call([mate_tweak_helper, 'backup', layoutname], stdout=DEVNULL, stderr=DEVNULL)
+ if self.dock_enabled:
+ dock = subprocess.call([mate_tweak_helper, 'dock', layoutname], stdout=DEVNULL, stderr=DEVNULL)
+- install = subprocess.call(['pkexec', mate_tweak_helper, 'install', layoutname], stdout=DEVNULL, stderr=DEVNULL)
++ install = subprocess.call([mate_tweak_helper, 'install', layoutname], stdout=DEVNULL, stderr=DEVNULL)
+ Notify.init(_('MATE Tweak'))
+ save_panels_notify=Notify.Notification.new (_('Panel Layout Saved'),_('Your panel layout has been saved as ') + layoutname.replace('-tweak',''), 'dialog-information')
+ save_panels_notify.show()
+@@ -1472,7 +1472,7 @@ class MateTweak:
+ print('Development mode.')
+ self.builder.add_from_file('./data/mate-tweak.ui')
+ else:
+- self.builder.add_from_file('/usr/lib/mate-tweak/mate-tweak.ui')
++ self.builder.add_from_file('@TERMUX_PREFIX@/lib/mate-tweak/mate-tweak.ui')
+
+ self.window = self.builder.get_object( "main_window" )
+ self.builder.get_object("main_window").connect("destroy", Gtk.main_quit)
+--- a/util/mate-tweak-helper
++++ b/util/mate-tweak-helper
+@@ -28,7 +28,7 @@ from subprocess import PIPE
+
+
+ def autostop(filename):
+- desktopfile = os.path.join('/','etc','xdg','autostart', filename)
++ desktopfile = os.path.join('@TERMUX_PREFIX@','etc','xdg','autostart', filename)
+ if os.path.exists(desktopfile):
+ os.remove(desktopfile)
+
+@@ -36,18 +36,18 @@ def autostop(filename):
+ def install_layout(filename):
+ if os.path.exists(os.path.join(tempfile.gettempdir(),filename)):
+ shutil.copy2(os.path.join(tempfile.gettempdir(),filename),
+- os.path.join('/','usr','share','mate-panel','layouts',filename))
++ os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts',filename))
+ os.remove(os.path.join(tempfile.gettempdir(),filename))
+ else:
+ # If a .dock hint is not found but is installed, remove it.
+- if filename.endswith('dock') and os.path.exists(os.path.join('/','usr','share','mate-panel','layouts',filename)):
+- os.remove(os.path.join('/','usr','share','mate-panel','layouts',filename))
++ if filename.endswith('dock') and os.path.exists(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts',filename)):
++ os.remove(os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts',filename))
+ print('Unable to find ' + os.path.join(tempfile.gettempdir(),filename))
+
+
+ def delete_layout(filename):
+ if 'tweak' in filename:
+- layout = os.path.join('/','usr','share','mate-panel','layouts',filename)
++ layout = os.path.join('@TERMUX_PREFIX@','share','mate-panel','layouts',filename)
+ if os.path.exists(layout):
+ os.remove(layout)
+ else:
diff --git a/x11-packages/mate-utils/build.sh b/x11-packages/mate-utils/build.sh
new file mode 100644
index 0000000000..faa409bae0
--- /dev/null
+++ b/x11-packages/mate-utils/build.sh
@@ -0,0 +1,41 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Common MATE utilities for viewing disk usage, logs and fonts, taking screenshots, managing dictionaries and searching files"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mate-utils/releases/download/v$TERMUX_PKG_VERSION/mate-utils-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="mate-desktop, gettext, libcanberra, libgtop, libsm, libxml2"
+TERMUX_PKG_SUGGESTS="mate-panel"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, glib, inkscape, mate-common, mate-panel, python"
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--sysconfdir=$TERMUX_PREFIX/etc
+--disable-maintainer-flags
+--disable-disk-image-mounter
+"
+TERMUX_PKG_CONFFILES="
+etc/mate-system-log.conf
+"
+
+termux_step_post_make_install() {
+ # populate a custom configuration file in syslog.conf-like format
+ # with log file locations that are likely to exist in Termux
+ mkdir -p "$TERMUX_PREFIX/etc"
+ if [[ "$TERMUX_PACKAGE_FORMAT" == "debian" ]]; then
+ cat <<- EOF > "$TERMUX_PREFIX/etc/mate-system-log.conf"
+ $TERMUX_PREFIX/var/log/apt/history.log
+ $TERMUX_PREFIX/var/log/apt/term.log
+ $TERMUX_PREFIX/var/log/aptitude
+ $TERMUX_PREFIX/var/log/alternatives.log
+ $TERMUX_PREFIX/var/log/oma/history
+ $TERMUX_PREFIX/var/log/dpkg.log
+ EOF
+ fi
+
+ if [[ "$TERMUX_PACKAGE_FORMAT" == "pacman" ]]; then
+ cat <<- EOF > "$TERMUX_PREFIX/etc/mate-system-log.conf"
+ $TERMUX_PREFIX/var/log/pacman.log
+ EOF
+ fi
+}
diff --git a/x11-packages/mate-utils/custom-conf-file.patch b/x11-packages/mate-utils/custom-conf-file.patch
new file mode 100644
index 0000000000..3602f9a60d
--- /dev/null
+++ b/x11-packages/mate-utils/custom-conf-file.patch
@@ -0,0 +1,14 @@
+If a configuration file with valid data does not exist in this location,
+mate-system-log will crash on launch
+
+--- a/logview/src/logview-app.c
++++ b/logview/src/logview-app.c
+@@ -99,7 +99,7 @@ parse_syslog (void)
+ FILE *cf;
+ GSList *logfiles = NULL;
+
+- if ((cf = fopen ("/etc/syslog.conf", "r")) == NULL) {
++ if ((cf = fopen ("@TERMUX_PREFIX@/etc/mate-system-log.conf", "r")) == NULL) {
+ return NULL;
+ }
+
diff --git a/x11-packages/mate/build.sh b/x11-packages/mate/build.sh
new file mode 100644
index 0000000000..8944428063
--- /dev/null
+++ b/x11-packages/mate/build.sh
@@ -0,0 +1,10 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="A metapackage that installs all parts of the MATE desktop environment"
+TERMUX_PKG_LICENSE="Public Domain"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_AUTO_UPDATE=false
+TERMUX_PKG_SKIP_SRC_EXTRACT=true
+TERMUX_PKG_DEPENDS="caja, marco, mate-backgrounds, mate-control-center, mate-desktop, mate-icon-theme, mate-menus, mate-notification-daemon, mate-panel, mate-session-manager, mate-settings-daemon, mate-themes"
+TERMUX_PKG_METAPACKAGE=true
+TERMUX_PKG_PLATFORM_INDEPENDENT=true
diff --git a/x11-packages/mozo/build.sh b/x11-packages/mozo/build.sh
new file mode 100644
index 0000000000..155088f36f
--- /dev/null
+++ b/x11-packages/mozo/build.sh
@@ -0,0 +1,19 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="MATE menu editing tool"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/mozo/releases/download/v$TERMUX_PKG_VERSION/mozo-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924
+TERMUX_PKG_AUTO_UPDATE=true
+TERMUX_PKG_DEPENDS="gtk3, python, mate-menus, pygobject, gettext, mate-panel"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+TERMUX_PKG_RM_AFTER_INSTALL="
+local
+"
+
+termux_step_post_make_install() {
+ mkdir -p "$TERMUX_PYTHON_HOME/site-packages"
+ mv "$TERMUX_PREFIX/local/lib/python$TERMUX_PYTHON_VERSION/dist-packages/Mozo" \
+ "$TERMUX_PYTHON_HOME/site-packages/"
+}
diff --git a/x11-packages/pluma/build.sh b/x11-packages/pluma/build.sh
new file mode 100644
index 0000000000..99bcfb7f22
--- /dev/null
+++ b/x11-packages/pluma/build.sh
@@ -0,0 +1,30 @@
+TERMUX_PKG_HOMEPAGE=https://mate-desktop.org/
+TERMUX_PKG_DESCRIPTION="Powerful text editor for MATE"
+TERMUX_PKG_LICENSE="GPL-2.0-or-later"
+TERMUX_PKG_MAINTAINER="@termux"
+TERMUX_PKG_VERSION="1.28.0"
+TERMUX_PKG_SRCURL="https://github.com/mate-desktop/pluma/releases/download/v$TERMUX_PKG_VERSION/pluma-$TERMUX_PKG_VERSION.tar.xz"
+TERMUX_PKG_SHA256=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
+# version 1.28.1 has a build failure not only in Termux, but also the same error in upstream's own CI;
+# wait for them to fix it
+TERMUX_PKG_AUTO_UPDATE=false
+TERMUX_PKG_DEPENDS="iso-codes, mate-desktop, zenity, gtksourceview4, glib, gobject-introspection, libpeas, gettext, enchant, libsm"
+TERMUX_PKG_SUGGESTS="pygobject"
+TERMUX_PKG_BUILD_DEPENDS="autoconf-archive, mate-common"
+# the python plugins do not work because of a libpeas-related dependency conflict
+# if upstream fixes that in the future, enable python in libpeas to resolve this
+# (enabling python in libpeas will not resolve this
+# until upstream pluma and/or libpeas and/or python-gobject fixes this problem)
+# (setting --disable-python does not seem to hide the broken python plugins from the user,
+# so there is no point to disabling python in pluma)
+# More information:
+# https://gitlab.archlinux.org/archlinux/packaging/packages/libpeas/-/commit/75310ec6c665e4104044b996e26b34c4ab169b2d
+# https://gitlab.archlinux.org/archlinux/packaging/packages/pygobject/-/issues/3
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
+--enable-python
+"
+
+termux_step_pre_configure() {
+ termux_setup_gir
+ termux_setup_glib_cross_pkg_config_wrapper
+}
diff --git a/x11-packages/pluma/gir/1.28.0/pluma.xml b/x11-packages/pluma/gir/1.28.0/pluma.xml
new file mode 100644
index 0000000000..620efa7376
--- /dev/null
+++ b/x11-packages/pluma/gir/1.28.0/pluma.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/x11-packages/vala-panel-appmenu/build.sh b/x11-packages/vala-panel-appmenu/build.sh
index e37f80f467..68718c954f 100644
--- a/x11-packages/vala-panel-appmenu/build.sh
+++ b/x11-packages/vala-panel-appmenu/build.sh
@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Global Menu for Vala Panel (metapackage)"
TERMUX_PKG_LICENSE="LGPL-3.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="25.04"
-TERMUX_PKG_REVISION=1
+TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://gitlab.com/vala-panel-project/vala-panel-appmenu/-/archive/${TERMUX_PKG_VERSION}/vala-panel-appmenu-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=ff270de372c41f18f64e8788629dd4cc9f116a89ee8947e3fc2657b19182e2dc
TERMUX_PKG_AUTO_UPDATE=true
@@ -14,7 +14,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dwm_backend=wnck
-Dvalapanel=disabled
-Dxfce=enabled
--Dmate=disabled
+-Dmate=enabled
-Dbudgie=disabled
-Dregistrar=disabled
-Dappmenu-gtk-module=enabled
diff --git a/x11-packages/vala-panel-appmenu/mate-applet-appmenu.subpackage.sh b/x11-packages/vala-panel-appmenu/mate-applet-appmenu.subpackage.sh
new file mode 100644
index 0000000000..49468d5ba2
--- /dev/null
+++ b/x11-packages/vala-panel-appmenu/mate-applet-appmenu.subpackage.sh
@@ -0,0 +1,6 @@
+TERMUX_SUBPKG_INCLUDE="
+lib/mate-panel/
+share/mate-panel/
+"
+TERMUX_SUBPKG_DESCRIPTION="Global Menu applet for use with mate-panel"
+TERMUX_SUBPKG_DEPENDS="mate-panel"