Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Mate 1.28
@ 2024-03-04 16:45 sgn
  2024-03-05 15:22 ` [PR PATCH] [Updated] " sgn
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: sgn @ 2024-03-04 16:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1219 bytes --]

There is a new pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 95882 bytes --]

From e8b8f278b7afc846b4294e1ce60f3b179153568b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/34] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 21 ++++++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..e8e5efc3f30000 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +42,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From ed4d010ece466024825fcb66143f283f268dd5a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/34] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..c044c0a60d3b48 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,10 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,11 +13,7 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
-
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
-}
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
 post_install() {
 	vlicense COPYING

From bf4a5e0e24c5f7393dc0d94e126c0ee2b001dfe0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/34] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From 1aea750babbefa0c03652702763d7555838977bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/34] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From 2af13eba79d07ff6ecb04acc018da49d4235052e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/34] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From e809a057be4c0277610738ec8bf622ad2dab24dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/34] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 4efd4c4b6c1282..b3ae2e44d97e22 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1770,9 +1770,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From f802bb8022a44cb46de6beb6724550424748e735 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/34] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..59cac616eaf0e4 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
 hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From 7df8ffb48f9af59be2d0c8146471026294996da9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/34] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 492 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 501 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..ed1d9952070a91
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,492 @@
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +65,7 @@ dnl -- Check for libxml (required) -----
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,32 +27,43 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+-	return;
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+     request_done (info, TRUE);
+ }
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, Weat
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,25 +380,35 @@ parseForecastXml (const char *buff, Weat
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,20 +144,30 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++	g_warning ("Failed to get Met Office forecast data: %s.\n",
++		   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,24 +486,35 @@ metar_parse (gchar *metar, WeatherInfo *
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
++    SoupMessage *msg;
++    SoupStatus status;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        msg = soup_session_get_async_result_message (SOUP_SESSION(source),
++                                                     result);
++        status = soup_message_get_status (msg);
++        if (status < 100)
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
+-        }
++        /* Translators: %d is an error code, and %s the error string */
++        g_warning (_("Failed to get METAR data: %d %s.\n"),
++                   status, error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+         return;
+     }
+@@ -511,18 +522,22 @@ metar_finish (SoupSession *session, Soup
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -532,6 +547,7 @@ metar_finish (SoupSession *session, Soup
+ 
+     info->valid = success;
+     request_done (info, TRUE);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +556,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +566,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +575,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -34,6 +34,8 @@ const char *mateweather_dpgettext (const
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +97,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+     request_done (info, TRUE);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From afaa6facad04483567179a86da8102d2178ec87c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/34] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..a7f5fa3e2c31c6 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From af9d6fb23816877df9db40062807bf0b8c9f5821 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/34] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From 30db90b87952c7c0c43bb11150e86807a704a963 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/34] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From d9b218ac68cc0d94cd1750e619b4407ce2d39253 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/34] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..19b29b7ac58744 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From c475ab7ba5aaaab9b93fcb0c7dae60d46a72de06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/34] mate-common: update to 1.28.0.

---
 srcpkgs/mate-common/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-common/template b/srcpkgs/mate-common/template
index 1f85f1f47f7bbb..351e53ab75b4ef 100644
--- a/srcpkgs/mate-common/template
+++ b/srcpkgs/mate-common/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-common'
 pkgname=mate-common
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -11,4 +11,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="http://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-common/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4ec9e308ef7ea87435769976b5bd7e41d612be2357a91bd0fed3557cb1bb9c04
+checksum=42b7c2cee268f71d7e1c1ad4f69bcda0ecd65578a96722187c6b76378d26ba0a

From 8302cfb282388664114ab15f3a954de2ca83610e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/34] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 33 ++++++++++------------------
 3 files changed, 11 insertions(+), 24 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..cd74cc7b729756 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,14 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool pkg-config"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +17,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From 159d5c1fb2f80e75fd91980d290b69f4cea0992c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/34] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..0bb26874e7f68d 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -14,7 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
 
 # Package build options
 build_options="gir"

From 6d11052497112c6863de4ce7d3c3832a9158669c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 16/34] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..84b677596012a4 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool icon-naming-utils"
@@ -12,7 +12,7 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
 post_install() {
 	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache

From bd3d158f5260e883889966a16ecfc8156f1a85dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/34] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..7008ce86b99f7d 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,7 +1,7 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
 hostmakedepends="pkg-config gettext intltool"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From c35b86be08c94b37a77a03c8b84447d1704a17c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/34] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..62052ac9e91541 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912

From 93da26765ca93c7a2c3ca84b21a1bbd1c908ba71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/34] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From b3261f3cf2e0a7d79d21df54cb6709243e0ba9a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/34] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..094c2dccb9672a 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From deb44687f6e130a190217c4aa6124629df6b311c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/34] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From c06c1db83cc35d0451d0a1a1027b390166745f76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/34] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..1ccf52cc59b5d2 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
@@ -12,4 +12,4 @@ license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 714efdcb925a20e6d1dd6220c915b77d2bae2d3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/34] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..b95eecd19aea37 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,12 +1,12 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile"
 hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
 makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+ libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21

From 9504320ff3afaf01f5cb4f8ce8d071dc37214066 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/34] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..5edec62a96627e 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 02dd18767ed9584497fd3cca3b926b944a8ee275 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 25/34] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..f0d779e24ea681 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 2e824042b1d7a4e5301246acef61e60781afbe70 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/34] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..64e3b4a2c1410a 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
@@ -12,4 +12,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From 7051b072316cc0709b10a51d721f95b9e1802cd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/34] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..86285348f3c599 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,7 +1,7 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
 hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
@@ -14,7 +14,7 @@ license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From 39fb7b51c2b4e6bb572beeeb1117d7f78afe65b3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/34] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..78ad6196376059 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,12 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile"
 hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ libwnck-devel elogind-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 4d65cceb15cd9c486d8f0d580176d97d9bf6c49d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/34] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..a9cea8df4a00cd 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
 hostmakedepends="glib-devel intltool itstool pkg-config"
@@ -12,4 +12,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From 2a9a8bae1e3f8d92f521894b8bed5d8ba84d6a4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/34] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From 45cf2777199e55d057e32bad88e3196350c0b7ac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/34] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..bc0e8ba7243db9 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,12 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile"
 hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
 makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+ libgtop-devel libmate-panel-devel udisks2-devel mate-desktop-devel"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From 52cbbe0bedb3afe233fdc4ebdc0399aaa0730f6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/34] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..9a34016052e75d 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,7 +1,7 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 hostmakedepends="intltool itstool pkg-config"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From d6c2a006467b05e103da4b2e740e77ca6c9d6392 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/34] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  |  6 ++--
 2 files changed, 44 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..48d6d434303c0f 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,7 +1,7 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From f4ea0d393ae1e814f949b2d82e83c0ff4762303c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 34/34] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  18 +-
 2 files changed, 6 insertions(+), 196 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..6a06dbf65dce9e 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+build_style=meson
+configure_args="-Dmagic=true -Dpackagekit=false -Dcpio=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
@ 2024-03-05 15:22 ` sgn
  2024-03-05 15:27 ` sgn
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-05 15:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 103128 bytes --]

From ff09ec7d41b8a08da113f2be30d4645791984e9e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/34] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From 1b1fd280aa5800678e277959d38d2ab8d1474f5e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/34] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..c044c0a60d3b48 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,10 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,11 +13,7 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
-
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
-}
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
 post_install() {
 	vlicense COPYING

From ae6dbca6ab06444cc2305f4e2bae2819950ce943 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/34] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From d0e31e3bdda8ca881d4b96d8fe6c47931bccfc8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/34] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From 0e224ce0bee07aa54901af32af56d65a8d20b8bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/34] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From 02b168c6085f1d255aef9e815413734a09e46efc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/34] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 27effd372a4cf6..39f7fe64f4709f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1770,9 +1770,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From bd6e54ce1b0a839b1685e5c97372128419176d7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/34] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From ec99868c1a356afd0bfd227c9ee49a71c5b73040 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/34] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 500 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 509 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..410b209d02e926
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,500 @@
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +65,7 @@ dnl -- Check for libxml (required) -----
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,32 +27,43 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+-	return;
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+     request_done (info, TRUE);
+ }
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, Weat
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,25 +380,35 @@ parseForecastXml (const char *buff, Weat
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,20 +144,30 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++	g_warning ("Failed to get Met Office forecast data: %s.\n",
++		   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,24 +486,35 @@ metar_parse (gchar *metar, WeatherInfo *
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
++    SoupMessage *msg;
++    SoupStatus status;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        msg = soup_session_get_async_result_message (SOUP_SESSION(source),
++                                                     result);
++        status = soup_message_get_status (msg);
++        if (status < 100)
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
+-        }
++        /* Translators: %d is an error code, and %s the error string */
++        g_warning (_("Failed to get METAR data: %d %s.\n"),
++                   status, error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+         return;
+     }
+@@ -511,18 +522,22 @@ metar_finish (SoupSession *session, Soup
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -532,6 +547,7 @@ metar_finish (SoupSession *session, Soup
+ 
+     info->valid = success;
+     request_done (info, TRUE);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +556,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +566,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +575,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +97,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+     request_done (info, TRUE);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From 6e6d32cc1b4d360dbac3b41432bf6407b1a3a641 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/34] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..67c2acaaf4ac50 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From ac2bc7729b0b75aa8e379ab7d0e41913a3cca2d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/34] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From d800d99fe1d6980c492461151e14076c97f16383 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/34] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From d5ea7efe78848944aa6bd542542e412a86b139db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/34] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From 8a887f49e52b86d310463b972f9873398d692861 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/34] mate-common: update to 1.28.0.

---
 srcpkgs/mate-common/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-common/template b/srcpkgs/mate-common/template
index 1f85f1f47f7bbb..351e53ab75b4ef 100644
--- a/srcpkgs/mate-common/template
+++ b/srcpkgs/mate-common/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-common'
 pkgname=mate-common
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -11,4 +11,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="http://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-common/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4ec9e308ef7ea87435769976b5bd7e41d612be2357a91bd0fed3557cb1bb9c04
+checksum=42b7c2cee268f71d7e1c1ad4f69bcda0ecd65578a96722187c6b76378d26ba0a

From 3cb83d00f5405e540ecb13279b77108d50140b5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/34] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From 066cf25272a41fe5a5cb52e550912db9b06a4957 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/34] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 773d2a77c43759be3a294e766e1c4c19413edf44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 16/34] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From f75ac608b019de0ca48e1dafeeea538e1c5abe7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/34] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 56ace4f068294334f4ee25f14fd1580c10b205aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/34] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From 6c693484f7c94a08c0de3addaf9712b024cb30a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/34] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From 3e4cde0ea5d1c7643d5f77c844fd210f5fab5d68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/34] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From ec27e98ee5d6bd90af87ec19d37a530857f4c3b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/34] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From 10d63ad68f838216e136d769227c3e1b1ffb450d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/34] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From baa7258e87e43ad616b85695a3ed56fea2008d0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/34] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From eb63a4516901d54248a4018c5cc1af0820a40307 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/34] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 2268eeb5dd95667018cd13749178a1780acd5b8c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 25/34] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 63cb90da2c414d15984a88379b08b255f14cdb86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/34] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From 367bfe1720425a746ab1afdfc242f36589d08690 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/34] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From c6d3e167e79927fa04eb0f1d10d7727cb2b7a778 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/34] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 5db514aece465964913524451d352a161b3c06e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/34] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From a7f2d5f49e76a2b121c960d5ead28208a3441c96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/34] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From ba8413a5de41ef730bf51600945b9884f16cc40f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/34] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From ee16aa8a6c521cdcbb9506bd437d2610bdf56678 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/34] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From 9bed79ba94ff0b7efd3cacaf5ebacb19aadc7986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/34] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..e04cb0a2807d03 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From bcab68bdb26fc66265e797b098a087ad91caef32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 34/34] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
  2024-03-05 15:22 ` [PR PATCH] [Updated] " sgn
@ 2024-03-05 15:27 ` sgn
  2024-03-08 11:52 ` sgn
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-05 15:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 101986 bytes --]

From 0846eaba77ef2aa4413351394c454512b2689127 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/33] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From 45cfe6a7ab06f37b280ed4b5c85c7dc384869d8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/33] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..c044c0a60d3b48 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,10 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,11 +13,7 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
-
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
-}
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
 post_install() {
 	vlicense COPYING

From e845a3c5a94547f9fcccaae1c48c9b059613c58e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/33] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From 42e9b40200fcb36657b9b65d7d8c2b57e5c4808d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/33] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From c70fc2c1a3e103bc717c30099b51ed1085c67c25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/33] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From f83f144dfe413df6ff38b40b6796f843e1bcf06e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/33] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 27effd372a4cf6..39f7fe64f4709f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1770,9 +1770,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From e96c6ae0f2154d241db4de9a3ce606549e643e3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/33] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From e5215884b153acf2a380a7f7dbc592a839b7fab1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/33] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 500 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 509 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..410b209d02e926
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,500 @@
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -23,7 +23,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +65,7 @@ dnl -- Check for libxml (required) -----
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,32 +27,43 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+-	return;
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+     request_done (info, TRUE);
+ }
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, Weat
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,25 +380,35 @@ parseForecastXml (const char *buff, Weat
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,20 +144,30 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++	g_warning ("Failed to get Met Office forecast data: %s.\n",
++		   error->message);
++        g_error_free(error);
+         request_done (info, FALSE);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
+     request_done (info, TRUE);
+ }
+ 
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,24 +486,35 @@ metar_parse (gchar *metar, WeatherInfo *
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
++    SoupMessage *msg;
++    SoupStatus status;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        msg = soup_session_get_async_result_message (SOUP_SESSION(source),
++                                                     result);
++        status = soup_message_get_status (msg);
++        if (status < 100)
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
+-        }
++        /* Translators: %d is an error code, and %s the error string */
++        g_warning (_("Failed to get METAR data: %d %s.\n"),
++                   status, error->message);
++        g_error_free (error);
+         request_done (info, FALSE);
+         return;
+     }
+@@ -511,18 +522,22 @@ metar_finish (SoupSession *session, Soup
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -532,6 +547,7 @@ metar_finish (SoupSession *session, Soup
+ 
+     info->valid = success;
+     request_done (info, TRUE);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +556,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +566,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +575,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +97,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+     request_done (info, TRUE);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, FALSE);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From 2906670e95d3f63cf0338d672d0827700266c918 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/33] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..bc7b8578f23f93 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no # timeout
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From 2bc7e1c7cd13d71544d75d6dd658596c5042b0f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/33] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From b03dd617d0b2a1de8387b02c5536ec5ee931c2e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/33] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From 8a5601fce6630ad0330e67a8bcb3fb24343f5b80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/33] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From 37e970a85a59cd919b8427202b554b935e01edfa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/33] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From 8e4fd6dacc89789f3aa965eb6c56ae041cca3398 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/33] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 4f5339554a18fbdc40d63c199eb371e6a509ca03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/33] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From a1834abb4a1d945607e41c1bbd35906ceb0a6bf6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 16/33] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 47311c11cf53c1d6692ac8a70b2d7dd1f62a7767 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/33] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From 0ed687c2875e84f130ad265138ccdef210875885 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/33] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From 7dc7abaac6cc740f523451939a19ffc095b4d510 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/33] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From 368ef27a7c8b148f833a813ce7b5db0efa4cc030 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/33] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From fa650588651a959a7539c9139bea625cbfd629ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/33] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 8531588a78167b7e4751e585714f2b3c15e121c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/33] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From 7e6032896622872f081302d173204ae807a4abe6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/33] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From bfed72a66c467f9b00adea1d764eb1250446363a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/33] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 0816b8a020c94218fc9586f941a9f553c7750d35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 25/33] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From c80e0d5667f671e2e7fd81e8a495558fabf3d7ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/33] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From fd5dfa4868d50949aa32bab75ff87102235ff8de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/33] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 92512711f37ff7e9704f836042e438ff4a297144 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/33] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From 2f05fbe3968a3fe4ca9cf165662e1e1b2f7e7cbf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/33] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From c7660a7a7101c64dd5244ddd3299c0078f33c637 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/33] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From 8ce8bf7517a33df5602bf4347baa4ab85634c644 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/33] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From fc520355790da12884d989d8082ab5bdcd715f7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/33] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..e04cb0a2807d03 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From ffc8f81fcf8463eb61580c5f9b8c908c18f4b465 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/33] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
  2024-03-05 15:22 ` [PR PATCH] [Updated] " sgn
  2024-03-05 15:27 ` sgn
@ 2024-03-08 11:52 ` sgn
  2024-03-08 12:54 ` sgn
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-08 11:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 198206 bytes --]

From 0b4c2707c3765a9b2b2a30d52649ea86ef7ba919 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Thu, 7 Mar 2024 20:44:41 +0700
Subject: [PATCH 01/34] New package: libreoffice-dictionaries-24.2.1.2

---
 srcpkgs/hunspell-af                       |    1 +
 srcpkgs/hunspell-an                       |    1 +
 srcpkgs/hunspell-ar                       |    1 +
 srcpkgs/hunspell-be                       |    1 +
 srcpkgs/hunspell-bg                       |    1 +
 srcpkgs/hunspell-bn                       |    1 +
 srcpkgs/hunspell-bo                       |    1 +
 srcpkgs/hunspell-br                       |    1 +
 srcpkgs/hunspell-bs                       |    1 +
 srcpkgs/hunspell-ca_ES                    |    1 +
 srcpkgs/hunspell-ca_ES/template           |   18 -
 srcpkgs/hunspell-ckb                      |    1 +
 srcpkgs/hunspell-cs                       |    1 +
 srcpkgs/hunspell-da_DK                    |    1 +
 srcpkgs/hunspell-da_DK/template           |   18 -
 srcpkgs/hunspell-de                       |    1 +
 srcpkgs/hunspell-de_CH/template           |   19 -
 srcpkgs/hunspell-de_CH/update             |    2 -
 srcpkgs/hunspell-de_DE/template           |   19 -
 srcpkgs/hunspell-de_DE/update             |    2 -
 srcpkgs/hunspell-devel                    |    1 -
 srcpkgs/hunspell-el_GR                    |    1 +
 srcpkgs/hunspell-el_GR/template           |   15 -
 srcpkgs/hunspell-en                       |    1 +
 srcpkgs/hunspell-en_AU/template           |   18 -
 srcpkgs/hunspell-en_CA/template           |   18 -
 srcpkgs/hunspell-en_GB-all                |    1 +
 srcpkgs/hunspell-en_US/template           |   18 -
 srcpkgs/hunspell-en_US/update             |    1 -
 srcpkgs/hunspell-eo                       |    1 +
 srcpkgs/hunspell-eo/template              |   16 -
 srcpkgs/hunspell-es                       |    1 +
 srcpkgs/hunspell-es_ES/template           |   18 -
 srcpkgs/hunspell-et                       |    1 +
 srcpkgs/hunspell-fa                       |    1 +
 srcpkgs/hunspell-fr-libreoffice           |    1 +
 srcpkgs/hunspell-gd                       |    1 +
 srcpkgs/hunspell-gl                       |    1 +
 srcpkgs/hunspell-gu                       |    1 +
 srcpkgs/hunspell-gug                      |    1 +
 srcpkgs/hunspell-he                       |    1 +
 srcpkgs/hunspell-hi                       |    1 +
 srcpkgs/hunspell-hr                       |    1 +
 srcpkgs/hunspell-hr_HR/template           |   17 -
 srcpkgs/hunspell-hu                       |    1 +
 srcpkgs/hunspell-id                       |    1 +
 srcpkgs/hunspell-is                       |    1 +
 srcpkgs/hunspell-it_IT                    |    1 +
 srcpkgs/hunspell-it_IT/template           |   21 -
 srcpkgs/hunspell-kmr                      |    1 +
 srcpkgs/hunspell-ko                       |    1 +
 srcpkgs/hunspell-lo                       |    1 +
 srcpkgs/hunspell-lt                       |    1 +
 srcpkgs/hunspell-lv                       |    1 +
 srcpkgs/hunspell-mn                       |    1 +
 srcpkgs/hunspell-ne                       |    1 +
 srcpkgs/hunspell-nl_NL                    |    1 +
 srcpkgs/hunspell-nl_NL/template           |   16 -
 srcpkgs/hunspell-no                       |    1 +
 srcpkgs/hunspell-oc                       |    1 +
 srcpkgs/hunspell-pl                       |    1 +
 srcpkgs/hunspell-pl_PL/template           |   21 -
 srcpkgs/hunspell-pl_PL/update             |    1 -
 srcpkgs/hunspell-pt_BR                    |    1 +
 srcpkgs/hunspell-pt_BR/template           |   18 -
 srcpkgs/hunspell-pt_PT                    |    1 +
 srcpkgs/hunspell-pt_PT/template           |   16 -
 srcpkgs/hunspell-ro_RO                    |    1 +
 srcpkgs/hunspell-ro_RO/template           |   17 -
 srcpkgs/hunspell-ru_RU                    |    1 +
 srcpkgs/hunspell-ru_RU/template           |   17 -
 srcpkgs/hunspell-ru_RU/update             |    1 -
 srcpkgs/hunspell-si                       |    1 +
 srcpkgs/hunspell-sk                       |    1 +
 srcpkgs/hunspell-sl                       |    1 +
 srcpkgs/hunspell-sl_SI/template           |   18 -
 srcpkgs/hunspell-sl_SI/update             |    1 -
 srcpkgs/hunspell-sq                       |    1 +
 srcpkgs/hunspell-sr                       |    1 +
 srcpkgs/hunspell-sr_SR/template           |   17 -
 srcpkgs/hunspell-sv                       |    1 +
 srcpkgs/hunspell-sv_SE/template           |   19 -
 srcpkgs/hunspell-sw                       |    1 +
 srcpkgs/hunspell-te                       |    1 +
 srcpkgs/hunspell-th                       |    1 +
 srcpkgs/hunspell-tr                       |    1 +
 srcpkgs/hunspell-uk                       |    1 +
 srcpkgs/hunspell-vi                       |    1 +
 srcpkgs/hyphen-af                         |    1 +
 srcpkgs/hyphen-be                         |    1 +
 srcpkgs/hyphen-bg                         |    1 +
 srcpkgs/hyphen-ca                         |    1 +
 srcpkgs/hyphen-cs                         |    1 +
 srcpkgs/hyphen-da                         |    1 +
 srcpkgs/hyphen-de                         |    1 +
 srcpkgs/hyphen-el                         |    1 +
 srcpkgs/hyphen-en                         |    1 +
 srcpkgs/hyphen-eo                         |    1 +
 srcpkgs/hyphen-es                         |    1 +
 srcpkgs/hyphen-et                         |    1 +
 srcpkgs/hyphen-fr                         |    1 +
 srcpkgs/hyphen-gl                         |    1 +
 srcpkgs/hyphen-hr                         |    1 +
 srcpkgs/hyphen-hu                         |    1 +
 srcpkgs/hyphen-id                         |    1 +
 srcpkgs/hyphen-is                         |    1 +
 srcpkgs/hyphen-it_IT                      |    1 +
 srcpkgs/hyphen-lt                         |    1 +
 srcpkgs/hyphen-lv                         |    1 +
 srcpkgs/hyphen-mn                         |    1 +
 srcpkgs/hyphen-nl_NL                      |    1 +
 srcpkgs/hyphen-no                         |    1 +
 srcpkgs/hyphen-pl                         |    1 +
 srcpkgs/hyphen-pt_BR                      |    1 +
 srcpkgs/hyphen-pt_PT                      |    1 +
 srcpkgs/hyphen-ro                         |    1 +
 srcpkgs/hyphen-ru                         |    1 +
 srcpkgs/hyphen-sk                         |    1 +
 srcpkgs/hyphen-sl                         |    1 +
 srcpkgs/hyphen-sq                         |    1 +
 srcpkgs/hyphen-sr                         |    1 +
 srcpkgs/hyphen-sv                         |    1 +
 srcpkgs/hyphen-te                         |    1 +
 srcpkgs/hyphen-th                         |    1 +
 srcpkgs/hyphen-uk                         |    1 +
 srcpkgs/hyphen-zu                         |    1 +
 srcpkgs/libreoffice-dictionaries/template | 1314 +++++++++++++++++++++
 srcpkgs/mythes-ar                         |    1 +
 srcpkgs/mythes-bg                         |    1 +
 srcpkgs/mythes-ca                         |    1 +
 srcpkgs/mythes-cs                         |    1 +
 srcpkgs/mythes-da                         |    1 +
 srcpkgs/mythes-de                         |    1 +
 srcpkgs/mythes-en                         |    1 +
 srcpkgs/mythes-eo                         |    1 +
 srcpkgs/mythes-es                         |    1 +
 srcpkgs/mythes-fr                         |    1 +
 srcpkgs/mythes-gl                         |    1 +
 srcpkgs/mythes-gug                        |    1 +
 srcpkgs/mythes-hu                         |    1 +
 srcpkgs/mythes-id                         |    1 +
 srcpkgs/mythes-is                         |    1 +
 srcpkgs/mythes-it_IT                      |    1 +
 srcpkgs/mythes-lv                         |    1 +
 srcpkgs/mythes-ne                         |    1 +
 srcpkgs/mythes-no                         |    1 +
 srcpkgs/mythes-pl                         |    1 +
 srcpkgs/mythes-pt_BR                      |    1 +
 srcpkgs/mythes-pt_PT                      |    1 +
 srcpkgs/mythes-ro                         |    1 +
 srcpkgs/mythes-ru                         |    1 +
 srcpkgs/mythes-sk                         |    1 +
 srcpkgs/mythes-sl                         |    1 +
 srcpkgs/mythes-sv                         |    1 +
 srcpkgs/mythes-uk                         |    1 +
 155 files changed, 1440 insertions(+), 383 deletions(-)
 create mode 120000 srcpkgs/hunspell-af
 create mode 120000 srcpkgs/hunspell-an
 create mode 120000 srcpkgs/hunspell-ar
 create mode 120000 srcpkgs/hunspell-be
 create mode 120000 srcpkgs/hunspell-bg
 create mode 120000 srcpkgs/hunspell-bn
 create mode 120000 srcpkgs/hunspell-bo
 create mode 120000 srcpkgs/hunspell-br
 create mode 120000 srcpkgs/hunspell-bs
 create mode 120000 srcpkgs/hunspell-ca_ES
 delete mode 100644 srcpkgs/hunspell-ca_ES/template
 create mode 120000 srcpkgs/hunspell-ckb
 create mode 120000 srcpkgs/hunspell-cs
 create mode 120000 srcpkgs/hunspell-da_DK
 delete mode 100644 srcpkgs/hunspell-da_DK/template
 create mode 120000 srcpkgs/hunspell-de
 delete mode 100644 srcpkgs/hunspell-de_CH/template
 delete mode 100644 srcpkgs/hunspell-de_CH/update
 delete mode 100644 srcpkgs/hunspell-de_DE/template
 delete mode 100644 srcpkgs/hunspell-de_DE/update
 delete mode 120000 srcpkgs/hunspell-devel
 create mode 120000 srcpkgs/hunspell-el_GR
 delete mode 100644 srcpkgs/hunspell-el_GR/template
 create mode 120000 srcpkgs/hunspell-en
 delete mode 100644 srcpkgs/hunspell-en_AU/template
 delete mode 100644 srcpkgs/hunspell-en_CA/template
 create mode 120000 srcpkgs/hunspell-en_GB-all
 delete mode 100644 srcpkgs/hunspell-en_US/template
 delete mode 100644 srcpkgs/hunspell-en_US/update
 create mode 120000 srcpkgs/hunspell-eo
 delete mode 100644 srcpkgs/hunspell-eo/template
 create mode 120000 srcpkgs/hunspell-es
 delete mode 100644 srcpkgs/hunspell-es_ES/template
 create mode 120000 srcpkgs/hunspell-et
 create mode 120000 srcpkgs/hunspell-fa
 create mode 120000 srcpkgs/hunspell-fr-libreoffice
 create mode 120000 srcpkgs/hunspell-gd
 create mode 120000 srcpkgs/hunspell-gl
 create mode 120000 srcpkgs/hunspell-gu
 create mode 120000 srcpkgs/hunspell-gug
 create mode 120000 srcpkgs/hunspell-he
 create mode 120000 srcpkgs/hunspell-hi
 create mode 120000 srcpkgs/hunspell-hr
 delete mode 100644 srcpkgs/hunspell-hr_HR/template
 create mode 120000 srcpkgs/hunspell-hu
 create mode 120000 srcpkgs/hunspell-id
 create mode 120000 srcpkgs/hunspell-is
 create mode 120000 srcpkgs/hunspell-it_IT
 delete mode 100644 srcpkgs/hunspell-it_IT/template
 create mode 120000 srcpkgs/hunspell-kmr
 create mode 120000 srcpkgs/hunspell-ko
 create mode 120000 srcpkgs/hunspell-lo
 create mode 120000 srcpkgs/hunspell-lt
 create mode 120000 srcpkgs/hunspell-lv
 create mode 120000 srcpkgs/hunspell-mn
 create mode 120000 srcpkgs/hunspell-ne
 create mode 120000 srcpkgs/hunspell-nl_NL
 delete mode 100644 srcpkgs/hunspell-nl_NL/template
 create mode 120000 srcpkgs/hunspell-no
 create mode 120000 srcpkgs/hunspell-oc
 create mode 120000 srcpkgs/hunspell-pl
 delete mode 100644 srcpkgs/hunspell-pl_PL/template
 delete mode 100644 srcpkgs/hunspell-pl_PL/update
 create mode 120000 srcpkgs/hunspell-pt_BR
 delete mode 100644 srcpkgs/hunspell-pt_BR/template
 create mode 120000 srcpkgs/hunspell-pt_PT
 delete mode 100644 srcpkgs/hunspell-pt_PT/template
 create mode 120000 srcpkgs/hunspell-ro_RO
 delete mode 100644 srcpkgs/hunspell-ro_RO/template
 create mode 120000 srcpkgs/hunspell-ru_RU
 delete mode 100644 srcpkgs/hunspell-ru_RU/template
 delete mode 100644 srcpkgs/hunspell-ru_RU/update
 create mode 120000 srcpkgs/hunspell-si
 create mode 120000 srcpkgs/hunspell-sk
 create mode 120000 srcpkgs/hunspell-sl
 delete mode 100644 srcpkgs/hunspell-sl_SI/template
 delete mode 100644 srcpkgs/hunspell-sl_SI/update
 create mode 120000 srcpkgs/hunspell-sq
 create mode 120000 srcpkgs/hunspell-sr
 delete mode 100644 srcpkgs/hunspell-sr_SR/template
 create mode 120000 srcpkgs/hunspell-sv
 delete mode 100644 srcpkgs/hunspell-sv_SE/template
 create mode 120000 srcpkgs/hunspell-sw
 create mode 120000 srcpkgs/hunspell-te
 create mode 120000 srcpkgs/hunspell-th
 create mode 120000 srcpkgs/hunspell-tr
 create mode 120000 srcpkgs/hunspell-uk
 create mode 120000 srcpkgs/hunspell-vi
 create mode 120000 srcpkgs/hyphen-af
 create mode 120000 srcpkgs/hyphen-be
 create mode 120000 srcpkgs/hyphen-bg
 create mode 120000 srcpkgs/hyphen-ca
 create mode 120000 srcpkgs/hyphen-cs
 create mode 120000 srcpkgs/hyphen-da
 create mode 120000 srcpkgs/hyphen-de
 create mode 120000 srcpkgs/hyphen-el
 create mode 120000 srcpkgs/hyphen-en
 create mode 120000 srcpkgs/hyphen-eo
 create mode 120000 srcpkgs/hyphen-es
 create mode 120000 srcpkgs/hyphen-et
 create mode 120000 srcpkgs/hyphen-fr
 create mode 120000 srcpkgs/hyphen-gl
 create mode 120000 srcpkgs/hyphen-hr
 create mode 120000 srcpkgs/hyphen-hu
 create mode 120000 srcpkgs/hyphen-id
 create mode 120000 srcpkgs/hyphen-is
 create mode 120000 srcpkgs/hyphen-it_IT
 create mode 120000 srcpkgs/hyphen-lt
 create mode 120000 srcpkgs/hyphen-lv
 create mode 120000 srcpkgs/hyphen-mn
 create mode 120000 srcpkgs/hyphen-nl_NL
 create mode 120000 srcpkgs/hyphen-no
 create mode 120000 srcpkgs/hyphen-pl
 create mode 120000 srcpkgs/hyphen-pt_BR
 create mode 120000 srcpkgs/hyphen-pt_PT
 create mode 120000 srcpkgs/hyphen-ro
 create mode 120000 srcpkgs/hyphen-ru
 create mode 120000 srcpkgs/hyphen-sk
 create mode 120000 srcpkgs/hyphen-sl
 create mode 120000 srcpkgs/hyphen-sq
 create mode 120000 srcpkgs/hyphen-sr
 create mode 120000 srcpkgs/hyphen-sv
 create mode 120000 srcpkgs/hyphen-te
 create mode 120000 srcpkgs/hyphen-th
 create mode 120000 srcpkgs/hyphen-uk
 create mode 120000 srcpkgs/hyphen-zu
 create mode 100644 srcpkgs/libreoffice-dictionaries/template
 create mode 120000 srcpkgs/mythes-ar
 create mode 120000 srcpkgs/mythes-bg
 create mode 120000 srcpkgs/mythes-ca
 create mode 120000 srcpkgs/mythes-cs
 create mode 120000 srcpkgs/mythes-da
 create mode 120000 srcpkgs/mythes-de
 create mode 120000 srcpkgs/mythes-en
 create mode 120000 srcpkgs/mythes-eo
 create mode 120000 srcpkgs/mythes-es
 create mode 120000 srcpkgs/mythes-fr
 create mode 120000 srcpkgs/mythes-gl
 create mode 120000 srcpkgs/mythes-gug
 create mode 120000 srcpkgs/mythes-hu
 create mode 120000 srcpkgs/mythes-id
 create mode 120000 srcpkgs/mythes-is
 create mode 120000 srcpkgs/mythes-it_IT
 create mode 120000 srcpkgs/mythes-lv
 create mode 120000 srcpkgs/mythes-ne
 create mode 120000 srcpkgs/mythes-no
 create mode 120000 srcpkgs/mythes-pl
 create mode 120000 srcpkgs/mythes-pt_BR
 create mode 120000 srcpkgs/mythes-pt_PT
 create mode 120000 srcpkgs/mythes-ro
 create mode 120000 srcpkgs/mythes-ru
 create mode 120000 srcpkgs/mythes-sk
 create mode 120000 srcpkgs/mythes-sl
 create mode 120000 srcpkgs/mythes-sv
 create mode 120000 srcpkgs/mythes-uk

diff --git a/srcpkgs/hunspell-af b/srcpkgs/hunspell-af
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-af
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-an b/srcpkgs/hunspell-an
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-an
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ar b/srcpkgs/hunspell-ar
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ar
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-be b/srcpkgs/hunspell-be
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-be
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-bg b/srcpkgs/hunspell-bg
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-bg
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-bn b/srcpkgs/hunspell-bn
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-bn
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-bo b/srcpkgs/hunspell-bo
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-bo
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-br b/srcpkgs/hunspell-br
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-br
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-bs b/srcpkgs/hunspell-bs
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-bs
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ca_ES b/srcpkgs/hunspell-ca_ES
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ca_ES
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ca_ES/template b/srcpkgs/hunspell-ca_ES/template
deleted file mode 100644
index 05c4ff974df173..00000000000000
--- a/srcpkgs/hunspell-ca_ES/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-ca_ES'
-pkgname=hunspell-ca_ES
-version=3.0.7
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Catalan dictionary for hunspell"
-maintainer="Adrià Rubio <engolianth@protonmail.com>"
-license="GPL-2.0-or-later, LGPL-2.1-or-later"
-homepage="https://www.softcatala.org/projectes/corrector-ortografic/"
-distfiles="https://github.com/Softcatala/catalan-dict-tools/releases/download/v${version}/ca-hunspell.zip"
-checksum=ba4dcd0cb8770c9e9611af37f3dbdeaca348e4b5d142379498c35bfba242b8ed
-
-do_install() {
-	vinstall catalan.aff 644 /usr/share/hunspell ca_ES.aff
-	vinstall catalan.dic 644 /usr/share/hunspell ca_ES.dic
-	vdoc README.txt
-}
diff --git a/srcpkgs/hunspell-ckb b/srcpkgs/hunspell-ckb
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ckb
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-cs b/srcpkgs/hunspell-cs
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-cs
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-da_DK b/srcpkgs/hunspell-da_DK
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-da_DK
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-da_DK/template b/srcpkgs/hunspell-da_DK/template
deleted file mode 100644
index a16c31d36988d2..00000000000000
--- a/srcpkgs/hunspell-da_DK/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-da_DK'
-pkgname=hunspell-da_DK
-version=2.4
-revision=2
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Danish da_DK dictionary for hunspell"
-maintainer="Unix Sheikh <unixsheikh@protonmail.com>"
-license="GPL-2.0-only, LGPL-2.1-only, MPL-1.1"
-homepage="https://extensions.libreoffice.org/extensions/stavekontrolden-danish-dictionary/"
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/dict-da-${version/./-}.oxt>dict-da-$version.zip"
-checksum=c08a7c53dcbae49f5ebb3274e673ec983f623f52c9f8d6f471887de7e4a62476
-
-do_install() {
-	vinstall da_DK.aff 644 usr/share/hunspell
-	vinstall da_DK.dic 644 usr/share/hunspell
-	vlicense README_da_DK.txt
-}
diff --git a/srcpkgs/hunspell-de b/srcpkgs/hunspell-de
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-de
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-de_CH/template b/srcpkgs/hunspell-de_CH/template
deleted file mode 100644
index 7ea4ce038c705d..00000000000000
--- a/srcpkgs/hunspell-de_CH/template
+++ /dev/null
@@ -1,19 +0,0 @@
-# Template file for 'hunspell-de_CH'
-pkgname=hunspell-de_CH
-version=20170112
-revision=2
-_version="${version:0:4}-${version:4:2}-${version:6:2}"
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="German (Switzerland) dictionary for hunspell"
-maintainer="Pascal Huber <pascal.huber@resolved.ch>"
-license="GPL-3.0-only"
-homepage="https://extensions.libreoffice.org/extensions/german-de-ch-frami-dictionaries"
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/dict-de-ch-frami-$_version.oxt>dict-de.zip"
-checksum=d2e0c8c1d59e5e56c7e2580ae8ecae98094869fedc093fc8e4674cffd2b5991a
-
-do_install() {
-	vinstall ${wrksrc}/de_CH_frami/de_CH_frami.aff 644 usr/share/hunspell de_CH.aff
-	vinstall ${wrksrc}/de_CH_frami/de_CH_frami.dic 644 usr/share/hunspell de_CH.dic
-	vdoc README_extension_owner.txt README.txt
-}
diff --git a/srcpkgs/hunspell-de_CH/update b/srcpkgs/hunspell-de_CH/update
deleted file mode 100644
index 4e24b6e1a38139..00000000000000
--- a/srcpkgs/hunspell-de_CH/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pattern='dict-de_CH-frami_\K[-_.\d]+(?=\.oxt)'
-version="${_version}"
diff --git a/srcpkgs/hunspell-de_DE/template b/srcpkgs/hunspell-de_DE/template
deleted file mode 100644
index 2d2f03ce61d3bb..00000000000000
--- a/srcpkgs/hunspell-de_DE/template
+++ /dev/null
@@ -1,19 +0,0 @@
-# Template file for 'hunspell-de_DE'
-pkgname=hunspell-de_DE
-version=20170112
-revision=2
-_version="${version:0:4}-${version:4:2}-${version:6:2}"
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="German (Germany) dictionary for hunspell"
-maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="GPL-3.0-only"
-homepage="https://extensions.libreoffice.org/extensions/german-de-de-frami-dictionaries"
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/dict-de-de-frami-$_version.oxt>dict-de.zip"
-checksum=af515015e306c634373b5382808a39691200de3439811d2f1502e9b91c23b46a
-
-do_install() {
-	vinstall ${wrksrc}/de_DE_frami/de_DE_frami.aff 644 usr/share/hunspell de_DE.aff
-	vinstall ${wrksrc}/de_DE_frami/de_DE_frami.dic 644 usr/share/hunspell de_DE.dic
-	vdoc README_extension_owner.txt README.txt
-}
diff --git a/srcpkgs/hunspell-de_DE/update b/srcpkgs/hunspell-de_DE/update
deleted file mode 100644
index 0f916eb6f5f4b7..00000000000000
--- a/srcpkgs/hunspell-de_DE/update
+++ /dev/null
@@ -1,2 +0,0 @@
-pattern='<span>\K[-_.\d]+(?=</span>)'
-version="${_version}"
diff --git a/srcpkgs/hunspell-devel b/srcpkgs/hunspell-devel
deleted file mode 120000
index cdfa06984f1bb5..00000000000000
--- a/srcpkgs/hunspell-devel
+++ /dev/null
@@ -1 +0,0 @@
-hunspell
\ No newline at end of file
diff --git a/srcpkgs/hunspell-el_GR b/srcpkgs/hunspell-el_GR
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-el_GR
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-el_GR/template b/srcpkgs/hunspell-el_GR/template
deleted file mode 100644
index ee3d39b031d01e..00000000000000
--- a/srcpkgs/hunspell-el_GR/template
+++ /dev/null
@@ -1,15 +0,0 @@
-# Template file for 'hunspell-el_GR'
-pkgname=hunspell-el_GR
-version=0.4.0
-revision=2
-short_desc="Greek el_GR dictionary for hunspell"
-maintainer="Nicholas Christopoulos <nereus@freemail.gr>"
-license="GPL-2.0-only"
-homepage="https://sourceforge.net/projects/orthos-spell/"
-distfiles="${SOURCEFORGE_SITE}/orthos-spell/v.${version}./orthos-${version}.tar.gz"
-checksum=63d355ddb7b6c6f7a5221b33d7d7646c49bfa08f61e3e6fb31416a315bdfc217
-
-do_install() {
-	vinstall dicts/el_GR/el_GR.aff 644 /usr/share/hunspell
-	vinstall dicts/el_GR/el_GR.dic 644 /usr/share/hunspell
-}
diff --git a/srcpkgs/hunspell-en b/srcpkgs/hunspell-en
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-en
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-en_AU/template b/srcpkgs/hunspell-en_AU/template
deleted file mode 100644
index 318c154b52824a..00000000000000
--- a/srcpkgs/hunspell-en_AU/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-en_AU'
-pkgname=hunspell-en_AU
-version=2020.12.07
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Australian English en_AU dictionary for hunspell"
-maintainer="Alexis <flexibeast@gmail.com>"
-license="SCOWL" # not in SPDX
-homepage="http://wordlist.aspell.net/dicts"
-distfiles="${SOURCEFORGE_SITE}/wordlist/speller/${version}/${pkgname}-${version}.zip"
-checksum=dc20557c48ae1979784e79fae6f965e999c8db2e9a0f846348e70057fce78254
-
-do_install() {
-	vinstall en_AU.aff 644 /usr/share/hunspell
-	vinstall en_AU.dic 644 /usr/share/hunspell
-	vlicense README_en_AU.txt SCOWL
-}
diff --git a/srcpkgs/hunspell-en_CA/template b/srcpkgs/hunspell-en_CA/template
deleted file mode 100644
index 65d7926b260390..00000000000000
--- a/srcpkgs/hunspell-en_CA/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-en_CA'
-pkgname=hunspell-en_CA
-version=2020.12.07
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Canadian English en_CA dictionary for hunspell"
-maintainer="0x5c <dev@0x5c.io>"
-license="custom:SCOWL"
-homepage="http://wordlist.aspell.net/dicts"
-distfiles="${SOURCEFORGE_SITE}/wordlist/speller/${version}/${pkgname}-${version}.zip"
-checksum=ff6b91e4ed768348c61ae7c326e848059810fa43a5d601df6b3f45ad9c0ef5bf
-
-do_install() {
-	vinstall en_CA.aff 644 /usr/share/hunspell
-	vinstall en_CA.dic 644 /usr/share/hunspell
-	vlicense README_en_CA.txt SCOWL
-}
diff --git a/srcpkgs/hunspell-en_GB-all b/srcpkgs/hunspell-en_GB-all
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-en_GB-all
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-en_US/template b/srcpkgs/hunspell-en_US/template
deleted file mode 100644
index ce4df5e1a624a5..00000000000000
--- a/srcpkgs/hunspell-en_US/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-en_US'
-pkgname=hunspell-en_US
-version=2020.12.07
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="American English en_US dictionary for hunspell"
-maintainer="Leah Neukirchen <leah@vuxu.org>"
-license="SCOWL" # not in SPDX
-homepage="http://wordlist.aspell.net/dicts"
-distfiles="${SOURCEFORGE_SITE}/wordlist/speller/${version}/${pkgname}-${version}.zip"
-checksum=616348ad645a716d91c8a6645065e710f15e9dda3ffef60cdf7ec8a4e27975af
-
-do_install() {
-	vinstall en_US.aff 644 /usr/share/hunspell
-	vinstall en_US.dic 644 /usr/share/hunspell
-	vlicense README_en_US.txt SCOWL
-}
diff --git a/srcpkgs/hunspell-en_US/update b/srcpkgs/hunspell-en_US/update
deleted file mode 100644
index ae87236026e733..00000000000000
--- a/srcpkgs/hunspell-en_US/update
+++ /dev/null
@@ -1 +0,0 @@
-ignore="20081205"
diff --git a/srcpkgs/hunspell-eo b/srcpkgs/hunspell-eo
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-eo
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-eo/template b/srcpkgs/hunspell-eo/template
deleted file mode 100644
index d9613bc223c797..00000000000000
--- a/srcpkgs/hunspell-eo/template
+++ /dev/null
@@ -1,16 +0,0 @@
-# Template file for 'hunspell-eo'
-pkgname=hunspell-eo
-version=20100216
-revision=1
-depends="hunspell"
-short_desc="Esperanto hunspell vocabulary"
-maintainer="Mike Wortin <mikewortin@gmail.com>"
-license="GPL-2.0-or-later"
-homepage="http://www.esperantilo.org/"
-distfiles="http://www.esperantilo.org/literumilo-fontoj.tar.gz"
-checksum=a02697a885da3655c55c15eb155148b79d25ca57c5ac7578cb1ca9ac8f141b89
-
-do_install() {
-	vinstall eo_cxorig.dic 644 usr/share/hunspell
-	vinstall eo_cxorig.aff 644 usr/share/hunspell
-}
diff --git a/srcpkgs/hunspell-es b/srcpkgs/hunspell-es
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-es
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-es_ES/template b/srcpkgs/hunspell-es_ES/template
deleted file mode 100644
index 3cef9810fe7934..00000000000000
--- a/srcpkgs/hunspell-es_ES/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-es_ES'
-pkgname=hunspell-es_ES
-version=2.8
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Spanish dictionary for hunspell"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="GPL-3.0-or-later, LGPL-3.0-or-later, MPL-1.1"
-homepage="https://github.com/sbosio/rla-es"
-distfiles="https://github.com/sbosio/rla-es/releases/download/v${version}/es_ES.oxt>dict-es.zip"
-checksum=7b3984bf12217a9d5d4d33fc30e34a55517a4b9041d0fbde8433be49fa4f7a6c
-
-do_install() {
-	vinstall es_ES.aff 644 /usr/share/hunspell
-	vinstall es_ES.dic 644 /usr/share/hunspell
-	vdoc README.txt
-}
diff --git a/srcpkgs/hunspell-et b/srcpkgs/hunspell-et
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-et
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-fa b/srcpkgs/hunspell-fa
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-fa
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-fr-libreoffice b/srcpkgs/hunspell-fr-libreoffice
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-fr-libreoffice
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-gd b/srcpkgs/hunspell-gd
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-gd
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-gl b/srcpkgs/hunspell-gl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-gl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-gu b/srcpkgs/hunspell-gu
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-gu
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-gug b/srcpkgs/hunspell-gug
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-gug
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-he b/srcpkgs/hunspell-he
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-he
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-hi b/srcpkgs/hunspell-hi
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-hi
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-hr b/srcpkgs/hunspell-hr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-hr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-hr_HR/template b/srcpkgs/hunspell-hr_HR/template
deleted file mode 100644
index c3857398f5bc15..00000000000000
--- a/srcpkgs/hunspell-hr_HR/template
+++ /dev/null
@@ -1,17 +0,0 @@
-# Template file for 'hunspell-hr_HR'
-pkgname=hunspell-hr_HR
-version=20030928
-revision=3
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Croatian (Croatia) dictionary for hunspell"
-maintainer="Gour <gour@atmarama.net>"
-license="GPL-3.0-or-later"
-homepage="https://extensions.openoffice.org/en/project/croatian-dictionary-and-hyphenation-patterns"
-distfiles="${SOURCEFORGE_SITE}/aoo-extensions/1052/2/dict-hr.oxt>dict.hr.zip"
-checksum=387ada69978c2bab4914755b8f120d0fd742c7d5708a88159d6eb2868bb943dc
-
-do_install() {
-	 vinstall ${wrksrc}/hr_HR.aff 644 usr/share/hunspell hr_HR.aff
-	 vinstall ${wrksrc}/hr_HR.dic 644 usr/share/hunspell hr_HR.dic
-}
diff --git a/srcpkgs/hunspell-hu b/srcpkgs/hunspell-hu
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-hu
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-id b/srcpkgs/hunspell-id
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-id
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-is b/srcpkgs/hunspell-is
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-is
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-it_IT b/srcpkgs/hunspell-it_IT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-it_IT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-it_IT/template b/srcpkgs/hunspell-it_IT/template
deleted file mode 100644
index 705e925017eee5..00000000000000
--- a/srcpkgs/hunspell-it_IT/template
+++ /dev/null
@@ -1,21 +0,0 @@
-# Template file for 'hunspell-it_IT'
-pkgname=hunspell-it_IT
-version=4.2
-revision=2
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Italian dictionary for hunspell"
-maintainer="Giuseppe Fierro <gspe@ae-design.ws>"
-license="GPL-3.0-only"
-homepage="https://extensions.libreoffice.org/extensions/italian-dictionary-thesaurus-hyphenation-patterns/"
-_hash=874d181c
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/${_hash}_dict-it.oxt>dic-it.zip"
-checksum=19318501c3bdeb77c0bc0c7c40287f5e3836fcf923e8f7a3a6c124da32d947f6
-
-do_install() {
-	vinstall dictionaries/it_IT.aff 644 /usr/share/hunspell it_IT.aff
-	vinstall dictionaries/it_IT.dic 644 /usr/share/hunspell it_IT.dic
-
-	vdoc dictionaries/README.txt
-	vdoc dictionaries/CHANGELOG.txt
-}
diff --git a/srcpkgs/hunspell-kmr b/srcpkgs/hunspell-kmr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-kmr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ko b/srcpkgs/hunspell-ko
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ko
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-lo b/srcpkgs/hunspell-lo
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-lo
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-lt b/srcpkgs/hunspell-lt
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-lt
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-lv b/srcpkgs/hunspell-lv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-lv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-mn b/srcpkgs/hunspell-mn
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-mn
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ne b/srcpkgs/hunspell-ne
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ne
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-nl_NL b/srcpkgs/hunspell-nl_NL
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-nl_NL
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-nl_NL/template b/srcpkgs/hunspell-nl_NL/template
deleted file mode 100644
index e3d6a0dd93f17f..00000000000000
--- a/srcpkgs/hunspell-nl_NL/template
+++ /dev/null
@@ -1,16 +0,0 @@
-# Template file for 'hunspell-nl_NL'
-pkgname=hunspell-nl_NL
-version=2.20.19
-revision=1
-short_desc="Dutch nl_NL dictionary for hunspell"
-maintainer="Goran Vukoman <g@numerys.net>"
-license="BSD-3-Clause, CC-BY-3.0"
-homepage="https://www.opentaal.org/"
-distfiles="https://github.com/OpenTaal/opentaal-hunspell/archive/refs/tags/${version}.tar.gz"
-checksum=0a86ec393450d7070bd69ee83f69c37ff27dbbc5fe684803375f113d7128bd87
-
-do_install() {
-	vinstall nl.aff 644 /usr/share/hunspell nl_NL.aff
-	vinstall nl.dic 644 /usr/share/hunspell nl_NL.dic
-	vlicense LICENSE.txt
-}
diff --git a/srcpkgs/hunspell-no b/srcpkgs/hunspell-no
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-no
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-oc b/srcpkgs/hunspell-oc
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-oc
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-pl b/srcpkgs/hunspell-pl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-pl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-pl_PL/template b/srcpkgs/hunspell-pl_PL/template
deleted file mode 100644
index bfbcaae14013ab..00000000000000
--- a/srcpkgs/hunspell-pl_PL/template
+++ /dev/null
@@ -1,21 +0,0 @@
-# Template file for 'hunspell-pl_PL'
-pkgname=hunspell-pl_PL
-version=20220801
-revision=1
-create_wrksrc=yes
-short_desc="Polish dictionary for hunspell"
-maintainer="m-cz <emcze@ya.ru>"
-license="GPL-2.0-only, LGPL-2.1-only, CC-BY-4.0, MPL-1.1, Apache-2.0"
-homepage="https://sjp.pl/slownik/ort/"
-distfiles="https://sjp.pl/slownik/ort/sjp-myspell-pl-${version}.zip"
-checksum=cc2874c7bf452255cbcd09d5083dd337f9c34daf2b6079bc97e398132a966424
-
-post_extract() {
-	bsdtar -xf pl_PL.zip
-}
-
-do_install() {
-	vinstall pl_PL.aff 644 usr/share/hunspell
-	vinstall pl_PL.dic 644 usr/share/hunspell
-	vlicense README_pl_PL.txt
-}
diff --git a/srcpkgs/hunspell-pl_PL/update b/srcpkgs/hunspell-pl_PL/update
deleted file mode 100644
index e128dca0e6a154..00000000000000
--- a/srcpkgs/hunspell-pl_PL/update
+++ /dev/null
@@ -1 +0,0 @@
-pkgname=sjp-myspell-pl
diff --git a/srcpkgs/hunspell-pt_BR b/srcpkgs/hunspell-pt_BR
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-pt_BR
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-pt_BR/template b/srcpkgs/hunspell-pt_BR/template
deleted file mode 100644
index a34d9c51fdd5dc..00000000000000
--- a/srcpkgs/hunspell-pt_BR/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-pt_BR'
-pkgname=hunspell-pt_BR
-version=3.2
-revision=3
-build_style=fetch
-hostmakedepends="unzip"
-short_desc="Brazillian Portuguese dictionary for hunspell"
-maintainer="Orphaned <orphan@voidlinux.org>"
-license="LGPL-3.0-or-later, MPL-1.1"
-homepage="https://pt-br.libreoffice.org/projetos/vero"
-distfiles="https://pt-br.libreoffice.org/assets/Uploads/PT-BR-Documents/VERO/VeroptBRV320AOC.oxt"
-checksum=78bac9ed27bf1b23666e240bc3809b9520004f14885423580a029771032bff54
-
-do_install() {
-	unzip VeroptBRV320AOC.oxt
-	vinstall pt_BR.aff 644 usr/share/hunspell
-	vinstall pt_BR.dic 644 usr/share/hunspell
-}
diff --git a/srcpkgs/hunspell-pt_PT b/srcpkgs/hunspell-pt_PT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-pt_PT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-pt_PT/template b/srcpkgs/hunspell-pt_PT/template
deleted file mode 100644
index 7fdcadd34059e6..00000000000000
--- a/srcpkgs/hunspell-pt_PT/template
+++ /dev/null
@@ -1,16 +0,0 @@
-# Template file for 'hunspell-pt_PT'
-pkgname=hunspell-pt_PT
-version=20220621
-revision=1
-short_desc="Portuguese dictionary for hunspell"
-maintainer="Luis Henriques <henrix@camandro.org>"
-license="GPL-2.0-only, LGPL-2.1-only, MPL-1.1"
-homepage="https://natura.di.uminho.pt/wiki/doku.php?id=dicionarios:main"
-distfiles="https://natura.di.uminho.pt/download/sources/Dictionaries/hunspell/${pkgname}-${version}.tar.gz"
-checksum=a310abeeb52b706febae0392f44f9541bbfb1b75f3f290c615ade25fa1ccd351
-
-do_install() {
-	vinstall pt_PT.aff 644 usr/share/hunspell
-	vinstall pt_PT.dic 644 usr/share/hunspell
-	vdoc README_pt_PT.txt
-}
diff --git a/srcpkgs/hunspell-ro_RO b/srcpkgs/hunspell-ro_RO
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ro_RO
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ro_RO/template b/srcpkgs/hunspell-ro_RO/template
deleted file mode 100644
index 83d1281d79f1b6..00000000000000
--- a/srcpkgs/hunspell-ro_RO/template
+++ /dev/null
@@ -1,17 +0,0 @@
-# Template file for 'hunspell-ro_RO'
-pkgname=hunspell-ro_RO
-version=3.3.10
-revision=1
-create_wrksrc=yes
-short_desc="Romanian dictionary for hunspell"
-maintainer="Klorophatu <klorophatu@krutt.org>"
-license="GPL-2.0-or-later, LGPL-2.1-or-later, MPL-1.1"
-homepage="https://sourceforge.net/projects/rospell/"
-distfiles="${SOURCEFORGE_SITE}/project/rospell/Romanian%20dictionaries/dict-${version}/ro_RO.${version}.zip"
-checksum=7f128d64ea06c9e6711c30b118c0afeefb014d8f33c92daccdf455aba2d04519
-
-do_install() {
-	vinstall ro_RO.aff 644 usr/share/hunspell
-	vinstall ro_RO.dic 644 usr/share/hunspell
-	vlicense README
-}
diff --git a/srcpkgs/hunspell-ru_RU b/srcpkgs/hunspell-ru_RU
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-ru_RU
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-ru_RU/template b/srcpkgs/hunspell-ru_RU/template
deleted file mode 100644
index 7242e68ac018e5..00000000000000
--- a/srcpkgs/hunspell-ru_RU/template
+++ /dev/null
@@ -1,17 +0,0 @@
-# Template file for 'hunspell-ru_RU'
-pkgname=hunspell-ru_RU
-version=0.4.3
-revision=2
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Russian dictionary for hunspell"
-maintainer="Alexander Mamay <alexander@mamay.su>"
-license="LGPL-2.1-only"
-homepage="https://extensions.libreoffice.org/extensions/russian-spellcheck-dictionary.-based-on-works-of-aot-group"
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/dict-ru-ru-aot-${version//./-}.oxt>dict-ru.zip"
-checksum=ee9b0575e9f8caf1d0a948fb644aed864de47aaf3bc24d2b77f288fec7f8d4c4
-
-do_install() {
-	vinstall russian-aot.aff 644 usr/share/hunspell ru_RU.aff
-	vinstall russian-aot.dic 644 usr/share/hunspell ru_RU.dic
-}
diff --git a/srcpkgs/hunspell-ru_RU/update b/srcpkgs/hunspell-ru_RU/update
deleted file mode 100644
index f402ddfa5a4b45..00000000000000
--- a/srcpkgs/hunspell-ru_RU/update
+++ /dev/null
@@ -1 +0,0 @@
-pattern='<span>\K[-_.\d]+(?=</span></a>)'
diff --git a/srcpkgs/hunspell-si b/srcpkgs/hunspell-si
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-si
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sk b/srcpkgs/hunspell-sk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sl b/srcpkgs/hunspell-sl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sl_SI/template b/srcpkgs/hunspell-sl_SI/template
deleted file mode 100644
index aec893ce72c62d..00000000000000
--- a/srcpkgs/hunspell-sl_SI/template
+++ /dev/null
@@ -1,18 +0,0 @@
-# Template file for 'hunspell-sl_SI'
-pkgname=hunspell-sl_SI
-version=2023.01.03
-revision=1
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Slovenian dictionary for hunspell"
-maintainer="Chloris <chloris@freedommail.ch>"
-license="MPL-2.0"
-homepage="https://extensions.libreoffice.org/en/extensions/show/slovenian-dictionary-pack"
-distfiles="https://extensions.libreoffice.org/assets/downloads/752/1672786274/pack-sl.oxt>pack-sl.zip"
-checksum=97bce7008a4b0d84cbec2bf41a0594dab91ff64292635e3e52b6f8fa6a28733d
-
-do_install() {
-	vinstall sl_SI.aff 644 usr/share/hunspell
-	vinstall sl_SI.dic 644 usr/share/hunspell
-	vdoc README_sl_SI.txt
-}
diff --git a/srcpkgs/hunspell-sl_SI/update b/srcpkgs/hunspell-sl_SI/update
deleted file mode 100644
index 2f02bd37cbe7a9..00000000000000
--- a/srcpkgs/hunspell-sl_SI/update
+++ /dev/null
@@ -1 +0,0 @@
-pattern='<span>\K[\d.]+(?=</span>)'
diff --git a/srcpkgs/hunspell-sq b/srcpkgs/hunspell-sq
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sq
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sr b/srcpkgs/hunspell-sr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sr_SR/template b/srcpkgs/hunspell-sr_SR/template
deleted file mode 100644
index 3b0d601714b495..00000000000000
--- a/srcpkgs/hunspell-sr_SR/template
+++ /dev/null
@@ -1,17 +0,0 @@
-# Template file for 'hunspell-sr_SR'
-pkgname=hunspell-sr_SR
-version=20130715
-revision=1
-short_desc="Serbian dictionary for hunspell - cyrillic and latin"
-maintainer="Goran Vukoman <g@numerys.net>"
-license="LGPL-2.1-or-later, MPL-1.1, GPL-2.0-or-later, CC-BY-SA-3.0"
-homepage="https://devbase.net/dict-sr/"
-distfiles="https://devbase.net/dict-sr/hunspell-sr-${version}.zip"
-checksum=2ddedbf7f0874ebb1b59829dbd73ebfe26f98aa99f19f8f7eb4e849c393a75f2
-
-do_install() {
-	vinstall sr.aff 644 /usr/share/hunspell sr_SR.aff
-	vinstall sr.dic 644 /usr/share/hunspell sr_SR.dic
-	vinstall sr-Latn.aff 644 /usr/share/hunspell sr_SR-latin.aff
-	vinstall sr-Latn.dic 644 /usr/share/hunspell sr_SR-latin.dic
-}
diff --git a/srcpkgs/hunspell-sv b/srcpkgs/hunspell-sv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-sv_SE/template b/srcpkgs/hunspell-sv_SE/template
deleted file mode 100644
index cd5a56870c15e0..00000000000000
--- a/srcpkgs/hunspell-sv_SE/template
+++ /dev/null
@@ -1,19 +0,0 @@
-# Template file for 'hunspell-sv_SE'
-pkgname=hunspell-sv_SE
-version=2.41
-revision=2
-create_wrksrc=yes
-hostmakedepends="unzip"
-short_desc="Swedish sv_SE dictionary for hunspell"
-maintainer="Venca Uruba <uruba@outlook.com>"
-license="LGPL-3.0-or-later"
-homepage="https://extensions.libreoffice.org/extensions/swedish-spelling-dictionary-den-stora-svenska-ordlistan/"
-distfiles="https://extensions.libreoffice.org/assets/downloads/z/ooo-swedish-dict-${version/./-}.oxt>dict-sv-$version.zip"
-checksum=48c8d0d548232215384c47ba18ac03bbef3af4c11ffd5e1057272353ba60225f
-
-do_install() {
-	vinstall dictionaries/sv_SE.aff 644 usr/share/hunspell
-	vinstall dictionaries/sv_SE.dic 644 usr/share/hunspell
-	vinstall dictionaries/sv_FI.aff 644 usr/share/hunspell
-	vinstall dictionaries/sv_FI.dic 644 usr/share/hunspell
-}
diff --git a/srcpkgs/hunspell-sw b/srcpkgs/hunspell-sw
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-sw
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-te b/srcpkgs/hunspell-te
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-te
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-th b/srcpkgs/hunspell-th
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-th
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-tr b/srcpkgs/hunspell-tr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-tr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-uk b/srcpkgs/hunspell-uk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-uk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hunspell-vi b/srcpkgs/hunspell-vi
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hunspell-vi
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-af b/srcpkgs/hyphen-af
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-af
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-be b/srcpkgs/hyphen-be
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-be
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-bg b/srcpkgs/hyphen-bg
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-bg
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-ca b/srcpkgs/hyphen-ca
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-ca
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-cs b/srcpkgs/hyphen-cs
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-cs
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-da b/srcpkgs/hyphen-da
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-da
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-de b/srcpkgs/hyphen-de
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-de
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-el b/srcpkgs/hyphen-el
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-el
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-en b/srcpkgs/hyphen-en
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-en
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-eo b/srcpkgs/hyphen-eo
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-eo
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-es b/srcpkgs/hyphen-es
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-es
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-et b/srcpkgs/hyphen-et
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-et
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-fr b/srcpkgs/hyphen-fr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-fr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-gl b/srcpkgs/hyphen-gl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-gl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-hr b/srcpkgs/hyphen-hr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-hr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-hu b/srcpkgs/hyphen-hu
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-hu
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-id b/srcpkgs/hyphen-id
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-id
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-is b/srcpkgs/hyphen-is
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-is
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-it_IT b/srcpkgs/hyphen-it_IT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-it_IT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-lt b/srcpkgs/hyphen-lt
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-lt
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-lv b/srcpkgs/hyphen-lv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-lv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-mn b/srcpkgs/hyphen-mn
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-mn
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-nl_NL b/srcpkgs/hyphen-nl_NL
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-nl_NL
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-no b/srcpkgs/hyphen-no
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-no
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-pl b/srcpkgs/hyphen-pl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-pl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-pt_BR b/srcpkgs/hyphen-pt_BR
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-pt_BR
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-pt_PT b/srcpkgs/hyphen-pt_PT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-pt_PT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-ro b/srcpkgs/hyphen-ro
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-ro
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-ru b/srcpkgs/hyphen-ru
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-ru
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-sk b/srcpkgs/hyphen-sk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-sk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-sl b/srcpkgs/hyphen-sl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-sl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-sq b/srcpkgs/hyphen-sq
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-sq
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-sr b/srcpkgs/hyphen-sr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-sr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-sv b/srcpkgs/hyphen-sv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-sv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-te b/srcpkgs/hyphen-te
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-te
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-th b/srcpkgs/hyphen-th
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-th
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-uk b/srcpkgs/hyphen-uk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-uk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/hyphen-zu b/srcpkgs/hyphen-zu
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/hyphen-zu
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/libreoffice-dictionaries/template b/srcpkgs/libreoffice-dictionaries/template
new file mode 100644
index 00000000000000..2df2f9ba4e0d87
--- /dev/null
+++ b/srcpkgs/libreoffice-dictionaries/template
@@ -0,0 +1,1314 @@
+# Template file for 'libreoffice-dictionaries'
+pkgname=libreoffice-dictionaries
+version=24.2.1.2
+revision=1
+build_style=meta
+hostmakedepends="mythes perl"
+short_desc="Libre Office Dictionaries"
+maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
+license="GPL-3.0-or-later"
+homepage="https://www.libreoffice.org/"
+distfiles="https://download.documentfoundation.org/libreoffice/src/${pkgname}-${version}.tar.xz"
+# distfiles="https://download.nus.edu.sg/mirror/tdf/libreoffice/src/${pkgname}-${version}.tar.xz"
+checksum=db010c781e85b401e87aa2030902565d5dfceb2c5ff4483c7172484d0f645eab
+
+depends="hunspell-af hyphen-af
+ hunspell-an
+ hunspell-ar mythes-ar
+ hunspell-be hyphen-be
+ hunspell-bg hyphen-bg mythes-bg
+ hunspell-bn
+ hunspell-bo
+ hunspell-br
+ hunspell-bs
+ hunspell-ca_ES hyphen-ca mythes-ca
+ hunspell-ckb
+ hunspell-cs hyphen-cs mythes-cs
+ hunspell-da_DK hyphen-da mythes-da
+ hunspell-de hyphen-de mythes-de
+ hunspell-el_GR hyphen-el
+ hunspell-en hunspell-en_GB hyphen-en mythes-en
+ hunspell-eo hyphen-eo mythes-eo
+ hunspell-es hyphen-es mythes-es
+ hunspell-et hyphen-et
+ hunspell-fa
+ hunspell-fr_FR hyphen-fr mythes-fr
+ hunspell-gd
+ hunspell-gl hyphen-gl mythes-gl
+ hunspell-gu
+ hunspell-gug mythes-gug
+ hunspell-he
+ hunspell-hi
+ hunspell-hr hyphen-hr
+ hunspell-hu hyphen-hu mythes-hu
+ hunspell-id hyphen-id mythes-id
+ hunspell-is hyphen-is mythes-is
+ hunspell-it_IT hyphen-it_IT mythes-it_IT
+ hunspell-kmr
+ hunspell-ko
+ hunspell-lo
+ hunspell-lt hyphen-lt
+ hunspell-lv hyphen-lv mythes-lv
+ hunspell-mn hyphen-mn
+ hunspell-ne mythes-ne
+ hunspell-nl_NL hyphen-nl_NL
+ hunspell-no hyphen-no mythes-no
+ hunspell-oc
+ hunspell-pl hyphen-pl mythes-pl
+ hunspell-pt_BR hyphen-pt_BR mythes-pt_BR
+ hunspell-pt_PT hyphen-pt_PT mythes-pt_PT
+ hunspell-ro_RO hyphen-ro mythes-ro
+ hunspell-ru_RU hyphen-ru mythes-ru
+ hunspell-si
+ hunspell-sk hyphen-sk mythes-sk
+ hunspell-sl hyphen-sl mythes-sl
+ hunspell-sq hyphen-sq
+ hunspell-sr hyphen-sr
+ hunspell-sv hyphen-sv mythes-sv
+ hunspell-sw
+ hunspell-te hyphen-te
+ hunspell-th hyphen-th
+ hunspell-tr
+ hunspell-uk hyphen-uk mythes-uk
+ hunspell-vi
+ hyphen-zu"
+
+build_options="bdic"
+desc_option_bdic="Enable Chromium's bdic format"
+
+case "$XBPS_MACHINE" in
+	x86_64*)
+		hostmakedepends+=" qt6-webengine"
+		build_options_default="bdic"
+		;;
+	i686*)
+		hostmakedepends+=" qt5-webengine"
+		build_options_default="bdic"
+		;;
+esac
+
+_drop_long_dic() {
+	local lang="$1"
+	local len="$2"
+	local dir="${3:-$lang}"
+	cp "dictionaries/$dir/$lang.aff" bdic/
+	sed "/.\\{$len\\}/d" dictionaries/$dir/$lang.dic >"bdic/$lang.dic"
+}
+
+post_patch() {
+	mv dictionaries/be_BY/{be-official,be_BY}.aff
+	mv dictionaries/be_BY/{be-official,be_BY}.dic
+	mv dictionaries/ckb/dictionaries/ckb.{aff,dic} dictionaries/ckb/
+
+	mv dictionaries/de/de_AT_frami.aff dictionaries/de/de_AT.aff
+	mv dictionaries/de/de_AT_frami.dic dictionaries/de/de_AT.dic
+	mv dictionaries/de/de_CH_frami.aff dictionaries/de/de_CH.aff
+	mv dictionaries/de/de_CH_frami.dic dictionaries/de/de_CH.dic
+	mv dictionaries/de/de_DE_frami.aff dictionaries/de/de_DE.aff
+	mv dictionaries/de/de_DE_frami.dic dictionaries/de/de_DE.dic
+
+	mv dictionaries/fa_IR/{fa-IR,fa_IR}.aff
+	mv dictionaries/fa_IR/{fa-IR,fa_IR}.dic
+
+	mv dictionaries/cs_CZ/{thes,th}_cs_CZ.dat
+	mv dictionaries/gl/{thesaurus,th}_gl.dat
+	mv dictionaries/ru_RU/th_ru_RU{_M_aot_and,}_v2.dat
+	mv dictionaries/fr_FR/{thes,th}_fr.dat
+}
+
+do_build() {
+	local file base lang dic
+
+	PATH="/usr/lib/qt6/libexec:/usr/lib/qt5/bin:$PATH"
+
+	mkdir -p bdic
+	# convert-dict not understand TAB
+	sed 's/\t/ /' "dictionaries/an_ES/an_ES.aff" >"bdic/an_ES.aff"
+	cp "dictionaries/an_ES/an_ES.dic" bdic/
+
+	# convert-dict works on fixed array of utf-16 characters.
+	_drop_long_dic da_DK 112
+	_drop_long_dic gl_ES 111 gl
+	_drop_long_dic gu_IN 45
+	_drop_long_dic ko_KR 173
+	_drop_long_dic th_TH 45
+	# convert-dict not understand IGNORE
+	for lang in ar bo ckb hu_HU uk_UA; do
+		sed '/^IGNORE/d' "dictionaries/$lang/$lang.aff" >"bdic/$lang.aff"
+		cp "dictionaries/$lang/$lang.dic" bdic/
+	done
+
+	find dictionaries -name '*.aff' |
+	while read file; do
+		base="${file%.aff}"
+		lang="${base##*/}"
+		echo "converting: $lang"
+		if [ -f "bdic/$lang.aff" ]; then
+			dic="bdic/$lang.dic"
+		else
+			dic="${base}.dic"
+		fi
+		qwebengine_convert_dict "${dic}" "bdic/$lang.bdic"
+	done
+
+	find dictionaries -name 'th_*.dat' |
+	while read file; do
+		th_gen_idx.pl <"$file" >"${file%.dat}.idx"
+	done
+}
+
+
+do_install() {
+	:
+}
+
+_vhunspell() {
+	local subdir lang lnk
+	if [ "$1" = -d ]; then
+		subdir=$2
+		shift 2
+	fi
+	: "${subdir:=$1}"
+	lang="$1"
+	shift
+	vmkdir usr/share/hunspell
+	vinstall "dictionaries/$subdir/$lang.aff" 0644 \
+		usr/share/hunspell "$lang.aff"
+	vinstall "dictionaries/$subdir/$lang.dic" 0644 \
+		usr/share/hunspell "$lang.dic"
+	for lnk; do
+		ln -sf "$lang.aff" "${PKGDESTDIR}/usr/share/hunspell/$lnk.aff"
+		ln -sf "$lang.dic" "${PKGDESTDIR}/usr/share/hunspell/$lnk.dic"
+	done
+}
+
+_vhyphen() {
+	local subdir lang lnk
+	if [ "$1" = -d ]; then
+		subdir=$2
+		shift 2
+	fi
+	: "${subdir:=$1}"
+	lang="$1"
+	shift
+	vmkdir usr/share/hyphen
+	vinstall "dictionaries/$subdir/hyph_${lang}.dic" 0644 usr/share/hyphen
+	for lnk; do
+		ln -s "hyph_$lang.dic" \
+			"${PKGDESTDIR}/usr/share/hyphen/hyph_$lnk.dic"
+	done
+}
+
+_vmythes () {
+	local subdir lang lnk
+	local ver=
+	if [ "$1" = -v ]; then ver="_v$2"; shift 2; fi
+	if [ "$1" = -d ]; then
+		subdir=$2
+		shift 2
+	fi
+	: "${subdir:=$1}"
+	lang="$1"
+	shift
+	vmkdir usr/share/mythes
+	vinstall "dictionaries/$subdir/th_${lang}${ver}.dat" \
+		0644 usr/share/mythes
+	vinstall "dictionaries/$subdir/th_${lang}${ver}.idx" \
+		0644 usr/share/mythes
+	for lnk; do
+		ln -s "th_$lang$ver.dat" \
+			"${PKGDESTDIR}/usr/share/mythes/th_$lnk$ver.dat"
+		ln -s "th_$lang$ver.idx" \
+			"${PKGDESTDIR}/usr/share/mythes/th_$lnk$ver.idx"
+	done
+}
+
+# pkgname is:
+# - if unavailable: only language; break
+# - if lower version: keep old name; break
+# - use only language, provides and replaces
+hunspell-af_package() {
+	short_desc="Afrikaans dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhunspell af_ZA af_NA
+	}
+}
+
+hyphen-af_package() {
+	short_desc="Afrikaans hyphenation rules"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen af_ZA af_NA
+	}
+}
+
+hunspell-an_package() {
+	short_desc="Aragonese dictionary for hunspell"
+	license="GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell an_ES
+	}
+}
+
+hunspell-ar_package() {
+	short_desc="Arabic dictionary for hunspell"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1 OR MPL-2.0"
+	pkg_install() {
+		_vhunspell ar ar_SA ar_DZ ar_BH ar_EG ar_IQ ar_JO \
+			ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SD \
+			ar_SY ar_TN ar_AE ar_YE
+	}
+}
+
+mythes-ar_package() {
+	short_desc="Arabic thesaurus for LibreOffice"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later OR MPL-1.1 OR MPL-2.0"
+	pkg_install() {
+		_vmythes ar ar_SA ar_DZ ar_BH ar_EG ar_IQ ar_JO \
+			ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SD \
+			ar_SY ar_TN ar_AE ar_YE
+	}
+}
+
+hunspell-be_package() {
+	short_desc="Belarusian dictionary for hunspell"
+	license="LGPL-3.0-only OR CC-BY-SA-4.0"
+	pkg_install() {
+		set -x
+		_vhunspell be_BY
+		set +x
+	}
+}
+
+hyphen-be_package() {
+	short_desc="Belarusian hyphenation rules"
+	license="LGPL-3.0-only OR CC-BY-SA-4.0"
+	pkg_install() {
+		_vhyphen be_BY
+	}
+}
+
+hunspell-bg_package() {
+	short_desc="Bulgarian dictionary for hunspell"
+	license="GPL-2.0-only"
+	pkg_install() {
+		_vhunspell bg_BG
+	}
+}
+
+hyphen-bg_package() {
+	short_desc="Bulgarian hyphenation rules"
+	license="GPL-2.0-only"
+	pkg_install() {
+		_vhyphen bg_BG
+	}
+}
+
+mythes-bg_package() {
+	short_desc="Bulgarian thesaurus for LibreOffice"
+	license="GPL-2.0-only"
+	pkg_install() {
+		_vmythes -v 2 bg_BG
+	}
+}
+
+hunspell-bn_package() {
+	short_desc="Bengali dictionary for hunspell"
+	license="GPL-2.0-only"
+	pkg_install() {
+		_vhunspell bn_BD bn_IN
+	}
+}
+
+hunspell-bo_package() {
+	short_desc="Tibetan dictionary for hunspell"
+	license="CC0-1.0"
+	pkg_install() {
+		_vhunspell bo bo_CN bo_IN
+	}
+}
+
+hunspell-br_package() {
+	short_desc="Breton dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhunspell br_FR
+	}
+}
+
+hunspell-bs_package() {
+	short_desc="Bosnian dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell bs_BA bs
+	}
+}
+
+hunspell-ca_ES_package() {
+	short_desc="Catalan dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell -d ca/dictionaries ca ca_ES ca_AD ca_FR ca_IT
+		_vhunspell -d ca/dictionaries ca-valencia \
+			ca@valencia ca_ES@valencia
+	}
+}
+
+hyphen-ca_package() {
+	short_desc="Catalan hyphenation rules"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later"
+	pkg_install() {
+		_vhyphen -d ca/dictionaries ca \
+			ca_ES ca_ES@valencia ca_AD ca_FR ca_IT
+	}
+}
+
+mythes-ca_package() {
+	short_desc="Catalan thesaurus for LibreOffice"
+	license="CC-BY-4.0"
+	pkg_install() {
+		_vmythes -v 3 -d ca/dictionaries ca_ES \
+			ca_ES@valencia ca_AD ca_FR ca_IT
+	}
+}
+
+hunspell-ckb_package() {
+	short_desc="Central Kurdish (Sorani) dictionary for hunspell"
+	license="CC-BY-SA-4.0"
+	pkg_install() {
+		_vhunspell ckb ckb-IR ckb-IQ
+	}
+}
+
+hunspell-cs_package() {
+	short_desc="Czech dictionary for hunspell"
+	license="GFDL-1.1-or-later"
+	pkg_install() {
+		_vhunspell cs_CZ
+	}
+}
+
+hyphen-cs_package() {
+	short_desc="Czech hyphenation rules"
+	license="GPL-1.0-or-later"
+	pkg_install() {
+		_vhyphen cs_CZ
+	}
+}
+
+mythes-cs_package() {
+	short_desc="Czech thesaurus for LibreOffice"
+	license="GFDL-1.1-or-later"
+	pkg_install() {
+		_vmythes cs_CZ
+	}
+}
+
+hunspell-da_DK_package() {
+	short_desc="Danish dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell da_DK
+	}
+}
+
+hyphen-da_package() {
+	short_desc="Danish hyphenation rules"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen da_DK
+	}
+}
+
+mythes-da_package() {
+	short_desc="Danish thesaurus for LibreOffice"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vmythes da_DK
+	}
+}
+
+hunspell-de_package() {
+	short_desc="German dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	provides="hunspell-de_CH-20240301_1 hunspell-de_DE-20240301_1"
+	replaces="hunspell-de_CH>=0 hunspell-de_DE>=0"
+	pkg_install() {
+		_vhunspell -d de de_AT
+		_vhunspell -d de de_CH
+		_vhunspell -d de de_DE
+	}
+}
+
+hyphen-de_package() {
+	short_desc="German hyphenation rules"
+	license="LGPL-2.1-or-later, GPL-2.0-only OR GPL-3.0-only"
+	pkg_install() {
+		_vhyphen -d de de_AT
+		_vhyphen -d de de_CH
+		_vhyphen -d de de_DE
+	}
+}
+
+mythes-de_package() {
+	short_desc="German thesaurus for LibreOffice"
+	license="LGPL-2.1-or-later, GPL-2.0-only OR GPL-3.0-only"
+	pkg_install() {
+		_vmythes -v 2 -d de de_CH
+		_vmythes -v 2 -d de de_DE de_AT
+	}
+}
+
+hunspell-el_GR_package() {
+	short_desc="Greek dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell el_GR
+	}
+}
+
+hyphen-el_package() {
+	short_desc="Greek hyphenation rules"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen el_GR
+	}
+}
+
+hunspell-en_package() {
+	short_desc="English dictionary for hunspell"
+	depends="hunspell-en_GB"
+	license="SCOWL LGPL-2.1-or-later"
+	provides="hunspell-en_AU-2024_1
+	 hunspell-en_CA-2024_1
+	 hunspell-en_US-2024_1"
+	replaces="hunspell-en_AU>=0 hunspell-en_CA>=0 hunspell-en_US>=0"
+	pkg_install() {
+		_vhunspell -d en en_AU
+		_vhunspell -d en en_CA
+		_vhunspell -d en en_US en_IL en_PH
+		_vhunspell -d en en_ZA en_MW en_NA en_ZW
+		vlicense dictionaries/en/README_en_AU.txt
+		vlicense dictionaries/en/README_en_CA.txt
+		vlicense dictionaries/en/README_en_US.txt
+	}
+}
+
+hunspell-en_GB-all_package() {
+	short_desc="British English dictionary for hunspell"
+	license="SCOWL"
+	provides="hunspell-en_GB-2024_1"
+	replaces="hunspell-en_GB>=0"
+	pkg_install() {
+		_vhunspell -d en en_GB en_BS en_BZ en_GH en_IE en_IN en_JM \
+			en_NZ en_TT
+		vlicense dictionaries/en/README_en_GB.txt
+	}
+}
+
+hyphen-en_package() {
+	short_desc="English hyphenation rules"
+	license="SCOWL"
+	pkg_install() {
+		_vhyphen -d en en_GB \
+			en_BS en_BZ en_GH en_IE en_IN en_JM en_NZ en_TT \
+			en_AU en_CA en_ZA en_MW en_NA en-ZW
+		_vhyphen -d en en_US en_IL en_PH
+		vlicense dictionaries/en/WordNet_license.txt
+	}
+}
+
+mythes-en_package() {
+	short_desc="English thesaurus for LibreOffice"
+	license="MIT"
+	pkg_install() {
+		_vmythes -v 2 -d en en_US en_IL en_PH en_GB \
+			en_BS en_BZ en_GH en_IE en_IN en_JM en_NZ en_TT \
+			en_AU en_CA en_ZA en_MW en_NA en-ZW
+		vlicense dictionaries/en/WordNet_license.txt
+	}
+}
+
+hunspell-eo_package() {
+	short_desc="Esperanto dictionary for hunspell"
+	license="GPL-3.0-or-later"
+	reverts="20100216_1"
+	pkg_install() {
+		_vhunspell eo
+	}
+}
+
+hyphen-eo_package() {
+	short_desc="Esperanto hyphenation rules"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen eo
+	}
+}
+
+mythes-eo_package() {
+	short_desc="Esperanto thesaurus for LibreOffice"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vmythes eo
+	}
+}
+
+_es_lang="es_AR es_BO es_CL es_CO es_CR es_CU es_DO es_EC es_ES es_GQ es_GT
+ es_HN es_MX es_NI es_PA es_PE es_PH es_PR es_PY es_SV es_US es_UY es_VE"
+hunspell-es_package() {
+	short_desc="Spanish dictionary for hunspell"
+	provides="hunspell-es_ES-${version}_${revision}"
+	replaces="hunspell-es_ES-${version}_${revision}"
+	license="GPL-3.0-or-later, LGPL-3.0-or-later, MPL-1.1"
+	pkg_install() {
+		local l
+		for l in $_es_lang; do
+			_vhunspell -d es "$l"
+		done
+	}
+}
+
+hyphen-es_package() {
+	short_desc="Spanish hyphenation rules"
+	license="GPL-3.0-or-later, LGPL-3.0-or-later, MPL-1.1"
+	pkg_install() {
+		_vhyphen es $ls
+	}
+}
+
+mythes-es_package() {
+	short_desc="Spanish thesaurus for LibreOffice"
+	license="GPL-3.0-or-later, LGPL-3.0-or-later, MPL-1.1"
+	pkg_install() {
+		_vmythes -v 2 es $ls
+	}
+}
+
+hunspell-et_package() {
+	short_desc="Estonian dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhunspell et_EE
+	}
+}
+
+hyphen-et_package() {
+	short_desc="Estonian hyphenation rules"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen et_EE
+	}
+}
+
+hunspell-fa_package() {
+	short_desc="Persian dictionary for hunspell by Lilak"
+	license="Apache-2.0"
+	pkg_install() {
+		_vhunspell fa_IR
+	}
+}
+
+hunspell-fr-libreoffice_package() {
+	short_desc="Modern French dictionary for hunspell by LibreOffice"
+	license="MPL-1.1"
+	provides="hunspell-fr_FR-${version}_${revision}"
+	replaces="hunspell-fr_FR>=0"
+	pkg_install() {
+		_vhunspell -d fr_FR fr fr_FR fr_BE fr_CA fr_CH fr_LU fr_MC
+	}
+}
+
+hyphen-fr_package() {
+	short_desc="French hyphenation rules"
+	license="MPL-1.1"
+	pkg_install() {
+		_vhyphen -d fr_FR fr fr_FR fr_BE fr_CA fr_CH fr_LU fr_MC
+	}
+}
+
+mythes-fr_package() {
+	short_desc="French thesaurus for LibreOffice"
+	license="MPL-1.1"
+	pkg_install() {
+		_vmythes -d fr_FR fr fr_FR fr_BE fr_CA fr_CH fr_LU fr_MC
+	}
+}
+
+hunspell-gd_package() {
+	short_desc="Scottish Gaelic dictionary for hunspell"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell gd_GB
+	}
+}
+
+hunspell-gl_package() {
+	short_desc="Galician dictionary for hunspell"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell -d gl gl_ES
+	}
+}
+
+hyphen-gl_package() {
+	short_desc="Galician hyphenation rules"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen gl gl_ES
+	}
+}
+
+mythes-gl_package() {
+	short_desc="Galician thesaurus for LibreOffice"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vmythes gl gl_ES
+	}
+}
+
+hunspell-gu_package() {
+	short_desc="Gujarati dictionary for hunspell"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell gu_IN
+	}
+}
+
+hunspell-gug_package() {
+	short_desc="Guarani dictionary for hunspell"
+	license="GFPL-1.2-or-later"
+	pkg_install() {
+		_vhunspell gug gug_PY
+	}
+}
+
+mythes-gug_package() {
+	short_desc="Guarani thesaurus for LibreOffice"
+	license="GFPL-1.2-or-later"
+	pkg_install() {
+		_vmythes -d gug gug_PY
+	}
+}
+
+hunspell-he_package() {
+	short_desc="Hebrew dictionary for hunspell"
+	license="AGPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell he_IL
+	}
+}
+
+hunspell-hi_package() {
+	short_desc="Hindi dictionary for hunspell"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell hi_IN
+	}
+}
+
+hunspell-hr_package() {
+	short_desc="Croatian dictionary for hunspell"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	provides="hunspell-hr_HR-20240301_1"
+	replaces="hunspell-hr_HR>=0"
+	pkg_install() {
+		_vhunspell hr_HR
+	}
+}
+
+hyphen-hr_package() {
+	short_desc="Croatian hyphenation rules"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhyphen hr_HR
+	}
+}
+
+hunspell-hu_package() {
+	short_desc="Hungarian dictionary for hunspell"
+	license="LGPL-3.0-or-later OR MPL-2.0"
+	pkg_install() {
+		_vhunspell hu_HU
+	}
+}
+
+hyphen-hu_package() {
+	short_desc="Hungarian hyphenation rules"
+	license="GPL-3.0-or-later OR LGPL-3.0-or-later OR MPL-2.0"
+	pkg_install() {
+		_vhyphen hu_HU
+	}
+}
+
+mythes-hu_package() {
+	short_desc="Hungarian thesaurus for LibreOffice"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vmythes -v 2 hu_HU
+	}
+}
+
+hunspell-id_package() {
+	short_desc="Indonesian dictionary for hunspell"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell -d id id_ID
+	}
+}
+
+hyphen-id_package() {
+	short_desc="Indonesian hyphenation rules"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen -d id id_ID
+	}
+}
+
+mythes-id_package() {
+	short_desc="Indonesian dictionary for hunspell"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vmythes -v 2 -d id id_ID
+	}
+}
+
+hunspell-is_package() {
+	short_desc="Icelandic dictionary for hunspell"
+	license="CC-BY-SA-3.0, CC-BY-4.0"
+	pkg_install() {
+		_vhunspell is is_IS
+	}
+}
+
+hyphen-is_package() {
+	short_desc="Icelandic dictionary for hunspell"
+	license="CC-BY-SA-3.0, CC-BY-4.0"
+	pkg_install() {
+		_vhyphen is is_IS
+	}
+}
+
+mythes-is_package() {
+	short_desc="Icelandic dictionary for hunspell"
+	license="CC-BY-SA-3.0, CC-BY-4.0"
+	pkg_install() {
+		_vmythes is is_IS
+	}
+}
+
+hunspell-it_IT_package() {
+	short_desc="Italian dictionary for hunspell"
+	license="GPL-3.0-only, LGPL-3.0-only"
+	pkg_install() {
+		_vhunspell it_IT
+	}
+}
+
+hyphen-it_IT_package() {
+	short_desc="Italian dictionary for hunspell"
+	license="GPL-3.0-only, LGPL-3.0-only"
+	pkg_install() {
+		_vhyphen it_IT
+	}
+}
+
+mythes-it_IT_package() {
+	short_desc="Italian dictionary for hunspell"
+	license="GPL-3.0-only, LGPL-3.0-only"
+	pkg_install() {
+		_vmythes -v 2 it_IT
+	}
+}
+
+hunspell-kmr_package() {
+	short_desc="Kurdish dictionary for hunspell"
+	license="GPL-3.0-or-later OR LGPL-2.1-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell kmr_Latn kmr_Latn-TR kmr_Latn-SY
+	}
+}
+
+hunspell-ko_package() {
+	short_desc="Korean dictionary for hunspell"
+	license="LGPL-3.0-only"
+	pkg_install() {
+		_vhunspell ko_KR
+	}
+}
+
+hunspell-lo_package() {
+	short_desc="Lao dictionary for hunspell"
+	license="LGPL-3.0-only"
+	pkg_install() {
+		_vhunspell lo_LA
+	}
+}
+
+hunspell-lt_package() {
+	short_desc="Lithuanian dictionary for hunspell"
+	license="BSD-3-Clause"
+	pkg_install() {
+		_vhunspell -d lt_LT lt lt_LT
+		vlicense dictionaries/lt_LT/COPYING
+	}
+}
+
+hyphen-lt_package() {
+	short_desc="Lithuanian dictionary for hunspell"
+	license="LPPL-1.3c"
+	pkg_install() {
+		_vhyphen -d lt_LT lt lt_LT
+	}
+}
+
+hunspell-lv_package() {
+	short_desc="Latvian dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhunspell lv_LV
+	}
+}
+
+hyphen-lv_package() {
+	short_desc="Latvian dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen lv_LV
+	}
+}
+
+mythes-lv_package() {
+	short_desc="Latvian dictionary for hunspell"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vmythes -v 2 lv_LV
+	}
+}
+
+hunspell-mn_package() {
+	short_desc="Mongolian dictionary for hunspell"
+	license="LPPL-1.3c"
+	pkg_install() {
+		_vhunspell mn_MN mn mn_Cyrl mn_Cyrl_MN
+	}
+}
+
+hyphen-mn_package() {
+	short_desc="Mongolian dictionary for hunspell"
+	license="LPPL-1.3c"
+	pkg_install() {
+		_vhyphen mn_MN mn mn_Cyrl mn_Cyrl_MN
+	}
+}
+
+hunspell-ne_package() {
+	short_desc="Nepali dictionary for hunspell"
+	license="LGPL-2.1-only"
+	pkg_install() {
+		_vhunspell ne_NP
+	}
+}
+
+mythes-ne_package() {
+	short_desc="Nepali dictionary for hunspell"
+	license="LGPL-2.1-only"
+	pkg_install() {
+		_vmythes -v 2 ne_NP
+	}
+}
+
+hunspell-nl_NL_package() {
+	short_desc="Dutch (Netherland) dictionary for hunspell"
+	license="BSD-3-Clause, CC-BY-SA-3.0"
+	pkg_install() {
+		_vhunspell nl_NL
+		vlicense dictionaries/nl_NL/license_en_EN.txt
+		vlicense dictionaries/nl_NL/licentie_nl_NL.txt
+	}
+}
+
+hyphen-nl_NL_package() {
+	short_desc="Dutch (Netherland) dictionary for hunspell"
+	license="BSD-3-Clause, CC-BY-SA-3.0"
+	pkg_install() {
+		_vhyphen nl_NL
+		vlicense dictionaries/nl_NL/license_en_EN.txt
+		vlicense dictionaries/nl_NL/licentie_nl_NL.txt
+	}
+}
+
+hunspell-no_package() {
+	short_desc="Norwegian spelling dictionary"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell -d no nb_NO
+		_vhunspell -d no nn_NO
+	}
+}
+
+hyphen-no_package() {
+	short_desc="Norwegian hyphenation rules"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhyphen -d no nb_NO
+		_vhyphen -d no nn_NO
+	}
+}
+
+mythes-no_package() {
+	short_desc="Norwegian thesaurus for LibreOffice"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vmythes -v 2 -d no nb_NO
+		_vmythes -v 2 -d no nn_NO
+	}
+}
+
+hunspell-oc_package() {
+	short_desc="Occitan spelling dictionary"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell oc_FR
+	}
+}
+
+hunspell-pl_package() {
+	short_desc="Polish spelling dictionary"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	provides="hunspell-pl_PL-20240301_1"
+	replaces="hunspell-pl_PL>=0"
+	pkg_install() {
+		_vhunspell pl_PL
+	}
+}
+
+hyphen-pl_package() {
+	short_desc="Polish hyphenation rules"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	provides="hunspell-pl_PL-20240301_1"
+	replaces="hunspell-pl_PL>=0"
+	pkg_install() {
+		_vhyphen pl_PL
+	}
+}
+
+mythes-pl_package() {
+	short_desc="Polish thesaurus for LibreOffice"
+	license="LGPL-2.1-or-later OR GPL-2.0-or-later OR MPL-1.1"
+	provides="hunspell-pl_PL-20240301_1"
+	replaces="hunspell-pl_PL>=0"
+	pkg_install() {
+		_vmythes -v 2 pl_PL
+	}
+}
+
+hunspell-pt_BR_package() {
+	short_desc="Brazillian Portuguese spelling dictionary"
+	license="LGPL-3.0-or-later OR MPL-1.1, BSD-3-Clause"
+	pkg_install() {
+		_vhunspell pt_BR
+	}
+}
+
+# TODO
+hunspell-pt_PT_package() {
+	short_desc="Portuguese (Portugal) spelling dictionary"
+	license="GPL-2.0-or-later OR MPL-1.1"
+	pkg_install() {
+		_vhunspell pt_PT
+	}
+}
+
+hyphen-pt_BR_package() {
+	short_desc="Brazillian Portuguese hyphenation rules"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen pt_BR
+	}
+}
+
+hyphen-pt_PT_package() {
+	short_desc="Portuguese (Portugal) hyphenation rules"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhyphen pt_PT
+	}
+}
+
+mythes-pt_BR_package() {
+	short_desc="Brazillian Portuguese thesaurus for LibreOffice"
+	license="BSD-3-Clause"
+	pkg_install() {
+		_vmythes pt_BR
+		vlicense dictionaries/pt_BR/license-thes.readme
+	}
+}
+
+mythes-pt_PT_package() {
+	short_desc="Portuguese Portugal thesaurus for LibreOffice"
+	license="CC-BY-SA-3.0"
+	pkg_install() {
+		_vmythes pt_PT
+	}
+}
+
+hunspell-ro_RO_package() {
+	short_desc="Romanian spelling dictionary"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later or MPL-1.1"
+	pkg_install() {
+		_vhunspell -d ro ro_RO
+	}
+}
+
+hyphen-ro_package() {
+	short_desc="Romanian hyphenation rules"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later or MPL-1.1"
+	pkg_install() {
+		_vhyphen -d ro ro_RO
+	}
+}
+
+mythes-ro_package() {
+	short_desc="Romanian thesaurus for LibreOffice"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vmythes -v 2 -d ro ro_RO
+	}
+}
+
+hunspell-ru_RU_package() {
+	short_desc="Russian spelling dictionary"
+	license="BSD-4-Clause"
+	pkg_install() {
+		_vhunspell ru_RU
+	}
+}
+
+hyphen-ru_package() {
+	short_desc="Russian hyphenation rules"
+	license="BSD-4-Clause"
+	pkg_install() {
+		_vhyphen ru_RU
+	}
+}
+
+mythes-ru_package() {
+	short_desc="Russian thesaurus for LibreOffice"
+	license="LGPL-2.1-or-later"
+	pkg_install() {
+		_vmythes -v 2 ru_RU
+	}
+}
+
+hunspell-si_package() {
+	short_desc="Sinhala spelling dictionary"
+	license="GPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell si_LK
+	}
+}
+
+hunspell-sk_package() {
+	short_desc="Slovak spelling dictionary"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later or MPL-1.1"
+	pkg_install() {
+		_vhunspell sk_SK
+	}
+}
+
+hyphen-sk_package() {
+	short_desc="Slovak hyphenation rules"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later or MPL-1.1"
+	pkg_install() {
+		_vhyphen sk_SK
+	}
+}
+
+mythes-sk_package() {
+	short_desc="Slovak thesaurus for LibreOffice"
+	license="MIT"
+	pkg_install() {
+		_vmythes -v 2 sk_SK
+		vlicense dictionaries/sk_SK/README_th_sk_SK_v2.txt
+	}
+}
+
+hunspell-sl_package() {
+	short_desc="Slovenian spelling dictionary"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later"
+	provides="hunspell-sl_SI-2024_1"
+	replaces="hunspell-sl_SI>=0"
+	pkg_install() {
+		_vhunspell sl_SI
+	}
+}
+
+hyphen-sl_package() {
+	short_desc="Slovenian hyphenation rules"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later"
+	pkg_install() {
+		_vhyphen sl_SI
+	}
+}
+
+mythes-sl_package() {
+	short_desc="Slovenian thesaurus for LibreOffice"
+	license="GPL-2.0-or-later OR LGPL-2.1-or-later"
+	pkg_install() {
+		_vmythes -v 2 sl_SI
+	}
+}
+
+hunspell-sq_package() {
+	short_desc="Albanian spelling dictionary"
+	license="MPL-2.0"
+	pkg_install() {
+		_vhunspell sq_AL
+	}
+}
+
+hyphen-sq_package() {
+	short_desc="Albanian hyphenation rules"
+	license="MPL-2.0"
+	pkg_install() {
+		_vhyphen sq_AL
+	}
+}
+
+hunspell-sr_package() {
+	short_desc="Serbian spelling dictionary"
+	license="MPL-2.0 OR GPL-3.0-or-later OR LGPL-3.0-or-later"
+	# SR is Suriname, Serbia is RS
+	replaces="hunspell-sr_SR>=0"
+	pkg_install() {
+		_vhunspell sr sr_RS sr_CS
+		_vhunspell -d sr sr-Latn sr_Latn_RS sr_Latn_CS
+	}
+}
+
+hyphen-sr_package() {
+	short_desc="Serbian hyphenation rules"
+	license="MPL-2.0 OR GPL-3.0-or-later OR LGPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen sr sr_RS sr_CS
+		_vhyphen -d sr sr-Latn sr_Latn_RS sr_Latn_CS
+	}
+}
+
+hunspell-sv_package() {
+	short_desc="Swedish spelling dictionary"
+	license="LGPL-3.0-or-later"
+	provides="hunspell-sv_SE-${version}_${revision}"
+	replaces="hunspell-sv_SE>=0"
+	pkg_install() {
+		_vhunspell -d sv_SE sv_FI
+		_vhunspell sv_SE
+	}
+}
+
+hyphen-sv_package() {
+	short_desc="Swedish hyphenation rules"
+	license="MPL-2.0 OR LGPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen -d sv_SE sv sv_SE sv_FI
+	}
+}
+
+mythes-sv_package() {
+	short_desc="Swedish thesaurus for LibreOffice"
+	license="MIT"
+	pkg_install() {
+		_vmythes sv_SE
+		vlicense dictionaries/sv_SE/README_th_sv_SE.txt
+	}
+}
+
+hunspell-sw_package() {
+	short_desc="Swahili spelling dictionary"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell sw_TZ
+	}
+}
+
+hunspell-te_package() {
+	short_desc="Telugu spelling dictionary"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell te_IN te
+	}
+}
+
+hyphen-te_package() {
+	short_desc="Telugu hyphenation rules"
+	license="GPL-3.0-or-later OR LGPL-3.0-or-later"
+	pkg_install() {
+		_vhyphen te_IN te
+	}
+}
+
+hunspell-th_package() {
+	short_desc="Thai spelling dictionary"
+	license="LGPL-3.0-or-later"
+	pkg_install() {
+		_vhunspell th_TH
+	}
+}
+
+hyphen-th_package() {
+	short_desc="Thai hyphenation rules"
+	license="LPPL-1.3c"
+	pkg_install() {
+		_vhyphen th_TH
+	}
+}
+
+hunspell-tr_package() {
+	short_desc="Turkish spelling dictionary"
+	license="MPL-2.0"
+	pkg_install() {
+		_vhunspell tr_TR
+	}
+}
+
+hunspell-uk_package() {
+	short_desc="Ukrainian spelling dictionary"
+	license="MPL-1.1"
+	pkg_install() {
+		_vhunspell uk_UA
+	}
+}
+
+hyphen-uk_package() {
+	short_desc="Ukrainian hyphenation rules"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhyphen uk_UA
+	}
+}
+
+mythes-uk_package() {
+	short_desc="Ukrainian thesaurus for LibreOffice"
+	license="MPL-1.1 OR LGPL-2.1-or-later, GPL-2.0-or-later"
+	pkg_install() {
+		_vmythes uk_UA
+	}
+}
+
+hunspell-vi_package() {
+	short_desc="Vietnamese spelling dictionary"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhunspell -d vi vi_VN
+	}
+}
+
+hyphen-zu_package() {
+	short_desc="Zulu hyphenation rules"
+	license="GPL-2.0-or-later"
+	pkg_install() {
+		_vhyphen zu_ZA
+	}
+}
diff --git a/srcpkgs/mythes-ar b/srcpkgs/mythes-ar
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-ar
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-bg b/srcpkgs/mythes-bg
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-bg
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-ca b/srcpkgs/mythes-ca
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-ca
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-cs b/srcpkgs/mythes-cs
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-cs
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-da b/srcpkgs/mythes-da
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-da
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-de b/srcpkgs/mythes-de
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-de
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-en b/srcpkgs/mythes-en
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-en
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-eo b/srcpkgs/mythes-eo
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-eo
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-es b/srcpkgs/mythes-es
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-es
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-fr b/srcpkgs/mythes-fr
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-fr
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-gl b/srcpkgs/mythes-gl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-gl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-gug b/srcpkgs/mythes-gug
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-gug
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-hu b/srcpkgs/mythes-hu
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-hu
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-id b/srcpkgs/mythes-id
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-id
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-is b/srcpkgs/mythes-is
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-is
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-it_IT b/srcpkgs/mythes-it_IT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-it_IT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-lv b/srcpkgs/mythes-lv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-lv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-ne b/srcpkgs/mythes-ne
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-ne
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-no b/srcpkgs/mythes-no
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-no
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-pl b/srcpkgs/mythes-pl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-pl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-pt_BR b/srcpkgs/mythes-pt_BR
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-pt_BR
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-pt_PT b/srcpkgs/mythes-pt_PT
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-pt_PT
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-ro b/srcpkgs/mythes-ro
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-ro
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-ru b/srcpkgs/mythes-ru
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-ru
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-sk b/srcpkgs/mythes-sk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-sk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-sl b/srcpkgs/mythes-sl
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-sl
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-sv b/srcpkgs/mythes-sv
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-sv
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file
diff --git a/srcpkgs/mythes-uk b/srcpkgs/mythes-uk
new file mode 120000
index 00000000000000..1f52cad0bdccd4
--- /dev/null
+++ b/srcpkgs/mythes-uk
@@ -0,0 +1 @@
+libreoffice-dictionaries
\ No newline at end of file

From 02fdadb4149a1bed328cda92e56f689c69d69b68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/34] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From abc75c51d3a609670fb843881e624e281f49fbb9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/34] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..c044c0a60d3b48 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,10 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,11 +13,7 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
-
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
-}
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
 post_install() {
 	vlicense COPYING

From 422b6155f3e572e6bdfad4d29b242699120a70a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/34] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From c42dbc1536daf25599b62ea5dbfb9dce683fb92e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/34] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From 260c54cf6d915c89006f04d5fb4879d14ec2ded6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/34] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From de1413fc4591a07679124507737c2005aefc74d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 07/34] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 9bcf0c5756b8fd..f713049702195d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1771,9 +1771,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From 50830b0ddbc5ba597fde867b8c4cf766b4ffaa28 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/34] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From 7940ad6c8de0c0aefafac0f3869534c3869bea7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/34] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 595 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 604 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..84061ac342d7ff
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,595 @@
+From 97cd9b061ad9b75568af3737f7e4a1dd4bed9c1a Mon Sep 17 00:00:00 2001
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+Date: Mon, 4 Mar 2024 23:47:37 +0700
+Subject: [PATCH] Port to libsoup-3.0
+
+---
+ .build.yml                                   | 10 ++--
+ configure.ac                                 |  6 ++-
+ libmateweather/mateweather-uninstalled.pc.in |  2 +-
+ libmateweather/mateweather.pc.in             |  2 +-
+ libmateweather/weather-bom.c                 | 36 ++++++++-----
+ libmateweather/weather-iwin.c                | 37 ++++++++-----
+ libmateweather/weather-met.c                 | 34 ++++++++----
+ libmateweather/weather-metar.c               | 57 ++++++++++++++------
+ libmateweather/weather-priv.h                |  6 ++-
+ libmateweather/weather-wx.c                  | 53 +++++++++---------
+ libmateweather/weather.c                     |  7 +--
+ 11 files changed, 157 insertions(+), 93 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 133108e..d9fcf9c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,6 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar check-news])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
++AC_USE_SYSTEM_EXTENSIONS
+ # Before making a release, the LT_VERSION string should be modified.
+ # The string is of the form C:R:A.
+ # - If interfaces have been changed or added, but binary compatibility has
+@@ -23,7 +24,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +66,7 @@ dnl -- Check for libxml (required) ------------------------------------------
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+@@ -100,6 +101,7 @@ AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
+                [AC_MSG_ERROR([No regex library found])])])
+ AC_SUBST(REGEX_LIBS)
+ 
++AC_CHECK_FUNC(memmem,[],[AC_MSG_ERROR([memmem is required])])
+ 
+ dnl ***************************************************************************
+ dnl *** Check for presence of tm.tm_gmtoff on the system                    ***
+diff --git a/libmateweather/mateweather-uninstalled.pc.in b/libmateweather/mateweather-uninstalled.pc.in
+index 03e7461..c692842 100644
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+diff --git a/libmateweather/mateweather.pc.in b/libmateweather/mateweather.pc.in
+index a617c33..bea024d 100644
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+diff --git a/libmateweather/weather-bom.c b/libmateweather/weather-bom.c
+index 47b2d0b..f5c7a87 100644
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,34 +27,45 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
+-	return;
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-iwin.c b/libmateweather/weather-iwin.c
+index 9f7ff38..b1dc1ff 100644
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr_name, const char *attr_value)
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,26 +380,36 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
+-    request_done (info, TRUE);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ /* Get forecast into newly alloc'ed string */
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-met.c b/libmateweather/weather-met.c
+index 164e9f2..7022abb 100644
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,21 +144,31 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get Met Office forecast data: %s.\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
+-    request_done (info, TRUE);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
+index 7bc24fc..d85188b 100644
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,43 +486,60 @@ metar_parse (gchar *metar, WeatherInfo *info)
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        /* https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html#status-codes-no-longer-used-for-internal-errors */
++        switch (error->code) {
++        case SOUP_SESSION_ERROR_PARSING:
++        case SOUP_SESSION_ERROR_ENCODING:
++        case SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS:
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
++            break;
++        default:
++            break;
+         }
+-        request_done (info, FALSE);
++        g_warning (_("Failed to get METAR data: %s.\n"),
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -531,7 +548,8 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
+     }
+ 
+     info->valid = success;
+-    request_done (info, TRUE);
++    request_done (info, NULL);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +558,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +568,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +577,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-priv.h b/libmateweather/weather-priv.h
+index 817f13c..03cdcbd 100644
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +98,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+@@ -167,7 +169,7 @@ gboolean	metar_parse		(gchar *metar,
+ 
+ gboolean	requests_init		(WeatherInfo *info);
+ void		request_done		(WeatherInfo *info,
+-					 gboolean     ok);
++					 GError      *error);
+ 
+ void		ecl2equ			(gdouble t,
+ 					 gdouble eclipLon,
+diff --git a/libmateweather/weather-wx.c b/libmateweather/weather-wx.c
+index e29cecc..11f7336 100644
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, error);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather.c b/libmateweather/weather.c
+index 86453fc..1d7533a 100644
+--- a/libmateweather/weather.c
++++ b/libmateweather/weather.c
+@@ -348,12 +348,13 @@ requests_init (WeatherInfo *info)
+     return TRUE;
+ }
+ 
+-void request_done (WeatherInfo *info, gboolean ok)
++void request_done (WeatherInfo *info, GError *error)
+ {
+-    if (ok) {
++    if (error == NULL) {
+ 	(void) calc_sun (info);
+ 	info->moonValid = info->valid && calc_moon (info);
+-    }
++    } else if (error->code == G_IO_ERROR_CANCELLED)
++        return; /* Caused by soup_session_abort */
+     if (!--info->requests_pending)
+         info->finish_cb (info, info->cb_data);
+ }
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From c8753899577c5773e692a5e9fa96443d51b06fc9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/34] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..bc7b8578f23f93 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no # timeout
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From ca4dac68b93bb50a73a77d0ae75189783b6c6bd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/34] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From 7fc9d687b2dda119ed180f83b4520fc0b6ce69ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/34] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From dfb04a24c86b0be98f752f70e004bc4013b6f38f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/34] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From f0820c1afb18b6ab3c0ceb12b29b60c70a947bd8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/34] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From 2c2f3ae183a2da916f9084af44ebb3198874e027 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/34] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 2d7c84200be212885b4aa3c0f2b4c983cff3109b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 16/34] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From f7b5dbd7485aafc03345887ce468be730ff0a635 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/34] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 525cc28061b7e0f854e4fb613bd6cea1ea0da1e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/34] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From 0ba0c9d79ff903a217f693b68a63f6e7c9da89a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/34] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From f84ac48d9bcda2e391265b89b8e8ce0db2002198 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/34] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From 5532c467bec0b45e4aab978f858a5f0e5236cb0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/34] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From 31bfe624bd990140697fb9653718c0db0c1056a3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/34] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 5b71610fbca145e98b010636a4c3ead8eb25d578 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/34] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From 5f0e4d77cb4300f481fdbc974c941a7ac9d60728 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/34] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 5b6fd0087f15224c53b5b3c920c5696effe7aea4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 25/34] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From ba26dcadbb71a91c5f8d0b369baa3aa8afdc5cb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/34] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From 73809c21f4063ff9a2e3d04f51ca6e2f3440f756 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/34] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From 8e02c966b5492dc774a94378e16b4a11cedd86a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/34] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 948eec49e3b8cba2b3638303014c65ae1310d39e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/34] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From f4f9862808ae9e224918387413b232188458b9f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/34] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From fe519c219516ec16107ec096683b616e1017d912 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/34] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From c30afa4297cc3a323e4748ad437edce000bdd800 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/34] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From aead30574a83f0065977181dce0093bb673eb7d8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/34] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..e04cb0a2807d03 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From 4b295262d1e4078cd4e3c1a0d28ca4fcfb09a3de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 34/34] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
                   ` (2 preceding siblings ...)
  2024-03-08 11:52 ` sgn
@ 2024-03-08 12:54 ` sgn
  2024-03-08 14:46 ` sgn
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-08 12:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 106059 bytes --]

From 0130187788f79e22de28e9c6eb8d4cfaa4899249 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/33] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From 5ee245c626a08b8572bc7207631d38d367a0f2d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/33] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..c044c0a60d3b48 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,10 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,11 +13,7 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
-
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
-}
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
 post_install() {
 	vlicense COPYING

From 90e12c2bf0432ce13244a8641bb1ed56754d3e35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/33] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From 9f6772c274f490cb7c230c553eeddc7d1a0df339 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/33] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From b5086efd9cf4ca578f05a81781dbd23fb366eb65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/33] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From e26d49422bc0b81abcac885a07d2ddd9fd68022b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/33] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index b8a530a4fe219e..fc4bc590557ff7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1771,9 +1771,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From d273766d73b315cb994053a7b4e99b73abc94a9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/33] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From c2211e4f21bec3c5c0fd005f2971eb98c2671f4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/33] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 595 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 604 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..84061ac342d7ff
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,595 @@
+From 97cd9b061ad9b75568af3737f7e4a1dd4bed9c1a Mon Sep 17 00:00:00 2001
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+Date: Mon, 4 Mar 2024 23:47:37 +0700
+Subject: [PATCH] Port to libsoup-3.0
+
+---
+ .build.yml                                   | 10 ++--
+ configure.ac                                 |  6 ++-
+ libmateweather/mateweather-uninstalled.pc.in |  2 +-
+ libmateweather/mateweather.pc.in             |  2 +-
+ libmateweather/weather-bom.c                 | 36 ++++++++-----
+ libmateweather/weather-iwin.c                | 37 ++++++++-----
+ libmateweather/weather-met.c                 | 34 ++++++++----
+ libmateweather/weather-metar.c               | 57 ++++++++++++++------
+ libmateweather/weather-priv.h                |  6 ++-
+ libmateweather/weather-wx.c                  | 53 +++++++++---------
+ libmateweather/weather.c                     |  7 +--
+ 11 files changed, 157 insertions(+), 93 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 133108e..d9fcf9c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,6 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar check-news])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
++AC_USE_SYSTEM_EXTENSIONS
+ # Before making a release, the LT_VERSION string should be modified.
+ # The string is of the form C:R:A.
+ # - If interfaces have been changed or added, but binary compatibility has
+@@ -23,7 +24,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +66,7 @@ dnl -- Check for libxml (required) ------------------------------------------
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+@@ -100,6 +101,7 @@ AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
+                [AC_MSG_ERROR([No regex library found])])])
+ AC_SUBST(REGEX_LIBS)
+ 
++AC_CHECK_FUNC(memmem,[],[AC_MSG_ERROR([memmem is required])])
+ 
+ dnl ***************************************************************************
+ dnl *** Check for presence of tm.tm_gmtoff on the system                    ***
+diff --git a/libmateweather/mateweather-uninstalled.pc.in b/libmateweather/mateweather-uninstalled.pc.in
+index 03e7461..c692842 100644
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+diff --git a/libmateweather/mateweather.pc.in b/libmateweather/mateweather.pc.in
+index a617c33..bea024d 100644
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+diff --git a/libmateweather/weather-bom.c b/libmateweather/weather-bom.c
+index 47b2d0b..f5c7a87 100644
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,34 +27,45 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
+-	return;
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-iwin.c b/libmateweather/weather-iwin.c
+index 9f7ff38..b1dc1ff 100644
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr_name, const char *attr_value)
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,26 +380,36 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
+-    request_done (info, TRUE);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ /* Get forecast into newly alloc'ed string */
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-met.c b/libmateweather/weather-met.c
+index 164e9f2..7022abb 100644
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,21 +144,31 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get Met Office forecast data: %s.\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
+-    request_done (info, TRUE);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
+index 7bc24fc..d85188b 100644
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,43 +486,60 @@ metar_parse (gchar *metar, WeatherInfo *info)
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        /* https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html#status-codes-no-longer-used-for-internal-errors */
++        switch (error->code) {
++        case SOUP_SESSION_ERROR_PARSING:
++        case SOUP_SESSION_ERROR_ENCODING:
++        case SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS:
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
++            break;
++        default:
++            break;
+         }
+-        request_done (info, FALSE);
++        g_warning (_("Failed to get METAR data: %s.\n"),
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -531,7 +548,8 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
+     }
+ 
+     info->valid = success;
+-    request_done (info, TRUE);
++    request_done (info, NULL);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +558,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +568,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +577,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-priv.h b/libmateweather/weather-priv.h
+index 817f13c..03cdcbd 100644
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +98,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+@@ -167,7 +169,7 @@ gboolean	metar_parse		(gchar *metar,
+ 
+ gboolean	requests_init		(WeatherInfo *info);
+ void		request_done		(WeatherInfo *info,
+-					 gboolean     ok);
++					 GError      *error);
+ 
+ void		ecl2equ			(gdouble t,
+ 					 gdouble eclipLon,
+diff --git a/libmateweather/weather-wx.c b/libmateweather/weather-wx.c
+index e29cecc..11f7336 100644
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, error);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather.c b/libmateweather/weather.c
+index 86453fc..1d7533a 100644
+--- a/libmateweather/weather.c
++++ b/libmateweather/weather.c
+@@ -348,12 +348,13 @@ requests_init (WeatherInfo *info)
+     return TRUE;
+ }
+ 
+-void request_done (WeatherInfo *info, gboolean ok)
++void request_done (WeatherInfo *info, GError *error)
+ {
+-    if (ok) {
++    if (error == NULL) {
+ 	(void) calc_sun (info);
+ 	info->moonValid = info->valid && calc_moon (info);
+-    }
++    } else if (error->code == G_IO_ERROR_CANCELLED)
++        return; /* Caused by soup_session_abort */
+     if (!--info->requests_pending)
+         info->finish_cb (info, info->cb_data);
+ }
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From 46ffd86d87dc995f1b10d1d922a86107f69ac949 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/33] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..bc7b8578f23f93 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no # timeout
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From ad533934d4ef84ee02c4aa0ad603ac4ddf8a366f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/33] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From f47505db00cdac984d536ef145cf1e1b59814f87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/33] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From 6ce12e157a35299896ca33ddd268a32a4715eccb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/33] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From 02f2854f2a9d38bc37b22b2799c681fb007b7358 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/33] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From bebca588fe4b882856b71341f8693900a6365285 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/33] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 4bee20236a834414836d0c3af0265fb4c7275d4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/33] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From dfab09b7c7e37d97446e1788771e823cfeb2d730 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 16/33] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 052c03c3fe6f19657fda04c4f19244712c4646ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/33] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From 2400b3ab0c773b9c8e2d175d850c796a33849ae0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/33] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From 7ef029d624f0237a49f8a1789fe2561befffd28b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/33] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From af176834692e4d27e4a5ab13dbdc0c645979cfe4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/33] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From ede0b596a6ea14a9cf80c7fc54581386dc62ea4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/33] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 83236de399e35a7042d1cfb2c659dd9532007488 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/33] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From a02d82a945e36846884dc80900762c77952b31c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/33] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 62e04e0ebdc933f1b47849e0b45721db85cd92b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/33] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 2d3aac519893d62eb0914d223933186c8eab0a9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 25/33] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From cd89851e589637b41fbac14930495949725bf68b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/33] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From c55cf0ca378e35ddca8946d1935725cd51e4c165 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/33] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 98a1c471b7c052e4569d85e76ce836f1b6603bae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/33] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From d8b932f523f569d560b486decab61c066780c93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/33] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From e4343064080b44cb49b9a6bf72f774e10c25368e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/33] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From 299f23b5011b8080949d07a4bb238b7e2518dafb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/33] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From 37a70134338b3c99e3a98d888cb868cf30da3c58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/33] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..e04cb0a2807d03 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From d155cb22c11f6b83b6befcb4c3927fdc838dc6e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/33] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
                   ` (3 preceding siblings ...)
  2024-03-08 12:54 ` sgn
@ 2024-03-08 14:46 ` sgn
  2024-03-09  0:44 ` sgn
  2024-03-09  4:04 ` [PR PATCH] [Merged]: " sgn
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-08 14:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 106184 bytes --]

From 59983a94d36dd8a6aaede26b4e35d34e1c154f4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/33] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From aa49df2ea4a8097a68f0a40d27c99f570be1cac0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/33] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..cb01e3bb11888d 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,11 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject
+ gdk-pixbuf"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,10 +14,13 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
+post_patch() {
+	if [ "$CROSS_BUILD" ]; then
+		vsed -i 's/man_MANs =.*/man_MANs =/' \
+			Makefile.am Makefile.in
+	fi
 }
 
 post_install() {

From b4cfa99fc10b2804a989ee2eadca1f9cd9a438d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/33] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From c0eaf20c8f70c8524421251db05ae6277a3050f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/33] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From 51e101c85a9243e633f2efd469cc52fbcf2864ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/33] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From 65d0c4739ae050bc74400b363a7a639e2a44c4e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/33] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index b8a530a4fe219e..fc4bc590557ff7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1771,9 +1771,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From 99feb318c9ff2278296f1cd577b983efaca49263 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/33] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From 58dcfc6de10da5a70b6cea37b9ed0e3153b9a8d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/33] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 595 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 604 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..84061ac342d7ff
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,595 @@
+From 97cd9b061ad9b75568af3737f7e4a1dd4bed9c1a Mon Sep 17 00:00:00 2001
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+Date: Mon, 4 Mar 2024 23:47:37 +0700
+Subject: [PATCH] Port to libsoup-3.0
+
+---
+ .build.yml                                   | 10 ++--
+ configure.ac                                 |  6 ++-
+ libmateweather/mateweather-uninstalled.pc.in |  2 +-
+ libmateweather/mateweather.pc.in             |  2 +-
+ libmateweather/weather-bom.c                 | 36 ++++++++-----
+ libmateweather/weather-iwin.c                | 37 ++++++++-----
+ libmateweather/weather-met.c                 | 34 ++++++++----
+ libmateweather/weather-metar.c               | 57 ++++++++++++++------
+ libmateweather/weather-priv.h                |  6 ++-
+ libmateweather/weather-wx.c                  | 53 +++++++++---------
+ libmateweather/weather.c                     |  7 +--
+ 11 files changed, 157 insertions(+), 93 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 133108e..d9fcf9c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,6 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar check-news])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
++AC_USE_SYSTEM_EXTENSIONS
+ # Before making a release, the LT_VERSION string should be modified.
+ # The string is of the form C:R:A.
+ # - If interfaces have been changed or added, but binary compatibility has
+@@ -23,7 +24,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +66,7 @@ dnl -- Check for libxml (required) ------------------------------------------
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+@@ -100,6 +101,7 @@ AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
+                [AC_MSG_ERROR([No regex library found])])])
+ AC_SUBST(REGEX_LIBS)
+ 
++AC_CHECK_FUNC(memmem,[],[AC_MSG_ERROR([memmem is required])])
+ 
+ dnl ***************************************************************************
+ dnl *** Check for presence of tm.tm_gmtoff on the system                    ***
+diff --git a/libmateweather/mateweather-uninstalled.pc.in b/libmateweather/mateweather-uninstalled.pc.in
+index 03e7461..c692842 100644
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+diff --git a/libmateweather/mateweather.pc.in b/libmateweather/mateweather.pc.in
+index a617c33..bea024d 100644
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+diff --git a/libmateweather/weather-bom.c b/libmateweather/weather-bom.c
+index 47b2d0b..f5c7a87 100644
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,34 +27,45 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
+-	return;
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-iwin.c b/libmateweather/weather-iwin.c
+index 9f7ff38..b1dc1ff 100644
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr_name, const char *attr_value)
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,26 +380,36 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
+-    request_done (info, TRUE);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ /* Get forecast into newly alloc'ed string */
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-met.c b/libmateweather/weather-met.c
+index 164e9f2..7022abb 100644
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,21 +144,31 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get Met Office forecast data: %s.\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
+-    request_done (info, TRUE);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
+index 7bc24fc..d85188b 100644
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,43 +486,60 @@ metar_parse (gchar *metar, WeatherInfo *info)
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        /* https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html#status-codes-no-longer-used-for-internal-errors */
++        switch (error->code) {
++        case SOUP_SESSION_ERROR_PARSING:
++        case SOUP_SESSION_ERROR_ENCODING:
++        case SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS:
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
++            break;
++        default:
++            break;
+         }
+-        request_done (info, FALSE);
++        g_warning (_("Failed to get METAR data: %s.\n"),
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -531,7 +548,8 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
+     }
+ 
+     info->valid = success;
+-    request_done (info, TRUE);
++    request_done (info, NULL);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +558,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +568,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +577,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-priv.h b/libmateweather/weather-priv.h
+index 817f13c..03cdcbd 100644
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +98,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+@@ -167,7 +169,7 @@ gboolean	metar_parse		(gchar *metar,
+ 
+ gboolean	requests_init		(WeatherInfo *info);
+ void		request_done		(WeatherInfo *info,
+-					 gboolean     ok);
++					 GError      *error);
+ 
+ void		ecl2equ			(gdouble t,
+ 					 gdouble eclipLon,
+diff --git a/libmateweather/weather-wx.c b/libmateweather/weather-wx.c
+index e29cecc..11f7336 100644
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, error);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather.c b/libmateweather/weather.c
+index 86453fc..1d7533a 100644
+--- a/libmateweather/weather.c
++++ b/libmateweather/weather.c
+@@ -348,12 +348,13 @@ requests_init (WeatherInfo *info)
+     return TRUE;
+ }
+ 
+-void request_done (WeatherInfo *info, gboolean ok)
++void request_done (WeatherInfo *info, GError *error)
+ {
+-    if (ok) {
++    if (error == NULL) {
+ 	(void) calc_sun (info);
+ 	info->moonValid = info->valid && calc_moon (info);
+-    }
++    } else if (error->code == G_IO_ERROR_CANCELLED)
++        return; /* Caused by soup_session_abort */
+     if (!--info->requests_pending)
+         info->finish_cb (info, info->cb_data);
+ }
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From 4135ea037b3fe0d562e5e7a99c566346d9b4df23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/33] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..bc7b8578f23f93 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no # timeout
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From e9837770d7aaee0702626ca7ada0fbad1b0cdc03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/33] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From 62c06b67dc69c58c1f16a1fe550eee7dab16ad40 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/33] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From 1e5415ec059cd0c82dcb9186d5be555987fe2d5c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/33] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From be6d79bbab3ad26135cec1925b68a62d78a4b939 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/33] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From 60e93be4b082a21a57588b1fa996f22bc96b5450 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/33] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 1ab0897a5a174dd2edeac671591e2a05c1b5786b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/33] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From 2972ae0da89e4516e6c4f42066963e8d760c6348 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 16/33] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 3f6bba5750b7773c13ec169e3913ba96779c4e1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/33] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From 1cfa1f2468ae769f83e1af5423c19060f56fcdec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/33] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From ec78f71b89068dc18225f87df235be2713a7cc31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/33] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From a9ef5454cf643fa42637bb5c9b07bf78225c6e03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/33] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From 0fc59a765dd8707319326c38a0534a86c1935677 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/33] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 0b5b19eb0f6bf2d9bb74fdaeadc5e027a32255e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/33] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From 13797aa591abb87e3db288977ed5e60f431ca2c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/33] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 5a83715433086c5cbb8d07245c1a351102516a93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/33] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 5875b60448c17510b7d746e9cb86d37dd2e275cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 25/33] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From c5026ba86be63b9d4e6d254413ad6353808031ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/33] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From 1244b25cd34bb38144e6534f2c0fdbb6f4bff92b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/33] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 891c3de39487608337dfbe2c134ac801f961205e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/33] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From a20c864a573369ae9f874c047a3cf6ffc164b57a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/33] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From 46e5873cba5c2e79e9fbaf811bb819c9ec739ee6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/33] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From 96e45339618025fc18da717f3890dbb33ad61020 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/33] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From 73299b51c2c19700a511b859d8af5cdb2f89e5f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/33] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..6a3c237fde663e 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext perl"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From 85126e8742ddae11e85f11d4463d4e64cba304dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/33] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
                   ` (4 preceding siblings ...)
  2024-03-08 14:46 ` sgn
@ 2024-03-09  0:44 ` sgn
  2024-03-09  4:04 ` [PR PATCH] [Merged]: " sgn
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-09  0:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

There is an updated pull request by sgn against master on the void-packages repository

https://github.com/sgn/void-packages mate-1.28
https://github.com/void-linux/void-packages/pull/49092

Mate 1.28
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49092.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-mate-1.28-49092.patch --]
[-- Type: text/x-diff, Size: 106184 bytes --]

From 511cd42f380a09ab99c287b4e8bcadbcde7fdf06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 01/33] atril: update to 1.28.0.

---
 srcpkgs/atril-dvi      |  1 +
 srcpkgs/atril/template | 22 +++++++++++++++-------
 2 files changed, 16 insertions(+), 7 deletions(-)
 create mode 120000 srcpkgs/atril-dvi

diff --git a/srcpkgs/atril-dvi b/srcpkgs/atril-dvi
new file mode 120000
index 00000000000000..49b36336be9fc7
--- /dev/null
+++ b/srcpkgs/atril-dvi
@@ -0,0 +1 @@
+atril
\ No newline at end of file
diff --git a/srcpkgs/atril/template b/srcpkgs/atril/template
index 57ed642270b2ae..cc91b77f57ef0e 100644
--- a/srcpkgs/atril/template
+++ b/srcpkgs/atril/template
@@ -1,16 +1,17 @@
 # Template file for 'atril'
 pkgname=atril
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-djvu --enable-synctex=no
+configure_args="--disable-schemas-compile --enable-djvu --enable-synctex
  --enable-dvi --enable-t1lib --enable-pixbuf --enable-comics --enable-xps
  --disable-static $(vopt_enable gir introspection)"
-hostmakedepends="glib-devel intltool itstool pkg-config
+hostmakedepends="glib-devel intltool itstool pkg-config libxml2
  perl-XML-Parser yelp-tools mate-common $(vopt_if gir 'gobject-introspection')"
 makedepends="djvulibre-devel libSM-devel libcaja-devel libgxps-devel
- libnotify-devel libsecret-devel libspectre-devel
+ libnotify-devel libsecret-devel libspectre-devel texlive-devel cairo-devel
+ libglib-devel gtk+3-devel libxml2-devel zlib-devel tiff-devel libarchive-devel
  mate-desktop-devel mate-icon-theme poppler-glib-devel libwebkit2gtk41-devel"
 depends="dbus mate-desktop mate-icon-theme"
 short_desc="Simply a document viewer for MATE"
@@ -19,9 +20,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/atril/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/atril-${version}.tar.xz"
-checksum=c305b9d5f5713f42626aee0382091303422b3d71a56ddd65932ccdb23c7ce926
-make_check=no # needs dogtail
-
+checksum=ced4725f6e9b71c4ea63676bfc3cc3be09d29dba08aa7a7ab97964e0b4355162
+make_check=no # dogtail
 
 build_options="gir"
 build_options_default="gir"
@@ -43,3 +43,11 @@ libatril-devel_package() {
 		vmove usr/share/gtk-doc
 	}
 }
+
+atril-dvi_package() {
+	short_desc+=" - DVI format support"
+	pkg_install() {
+		vmove usr/lib/atril/3/backends/dvidocument.atril-backend
+		vmove usr/lib/atril/3/backends/libdvidocument.so
+	}
+}

From f44a118ad139b9c24d8d91ff78663f3c4aed8f16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 02/33] caja-dropbox: update to 1.28.0.

---
 srcpkgs/caja-dropbox/template | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/caja-dropbox/template b/srcpkgs/caja-dropbox/template
index 0beb6967905f50..fbb926e34aa7ba 100644
--- a/srcpkgs/caja-dropbox/template
+++ b/srcpkgs/caja-dropbox/template
@@ -1,11 +1,11 @@
 # Template file for 'caja-dropbox'
 pkgname=caja-dropbox
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="autoconf-archive gettext-devel libtool pkg-config
- python3-docutils python3-gobject gdk-pixbuf-devel which mate-common"
+hostmakedepends="gettext pkg-config python3-docutils python3-gobject
+ gdk-pixbuf"
 makedepends="libcaja-devel glib-devel gtk+3-devel python3-gobject-devel"
 depends="caja"
 short_desc="Dropbox extension for Caja file manager"
@@ -14,10 +14,13 @@ license="CC-BY-ND-3.0, GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-dropbox/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=9693d0c3426822d5b549e2241cd2b8a0ed552d4eebf2c87fa522e82b3fc8849b
+checksum=b74c38a994254bd3cf7cbc712bc2ec7516a0ca942aa6578526cdbd6aa6201963
 
-pre_configure() {
-	NOCONFIGURE=1 ./autogen.sh
+post_patch() {
+	if [ "$CROSS_BUILD" ]; then
+		vsed -i 's/man_MANS =.*/man_MANS =/' \
+			Makefile.am Makefile.in
+	fi
 }
 
 post_install() {

From 9f1734e6fb2b92312461ad8382f8d7d07abea362 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 03/33] caja-extensions: update to 1.28.0.

---
 srcpkgs/caja-av                               |   1 +
 .../patches/1-gtk-radio-button-id.patch       |  24 ----
 .../patches/2-sendto-gupnp-1.6.patch          | 132 ------------------
 .../caja-extensions/patches/3-xattr-mtp.patch |  58 --------
 srcpkgs/caja-extensions/template              |  31 ++--
 5 files changed, 22 insertions(+), 224 deletions(-)
 create mode 120000 srcpkgs/caja-av
 delete mode 100644 srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
 delete mode 100644 srcpkgs/caja-extensions/patches/3-xattr-mtp.patch

diff --git a/srcpkgs/caja-av b/srcpkgs/caja-av
new file mode 120000
index 00000000000000..9c237ae5529d21
--- /dev/null
+++ b/srcpkgs/caja-av
@@ -0,0 +1 @@
+caja-extensions
\ No newline at end of file
diff --git a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch b/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
deleted file mode 100644
index 0304c76793bc17..00000000000000
--- a/srcpkgs/caja-extensions/patches/1-gtk-radio-button-id.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From dac72f1d7b4ab1f24bdc64bd2b3f96bd0e30e489 Mon Sep 17 00:00:00 2001
-From: David Henry <davi.henry@orange.fr>
-Date: Fri, 18 Nov 2022 22:28:01 +0000
-Subject: [PATCH] Fix missing GtkRadioButton id
-
-Add missing id to custom scale radio button referenced in caja-image-resizer.c
-This fixes issue #104.
----
- image-converter/caja-image-resize.ui | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/image-converter/caja-image-resize.ui b/image-converter/caja-image-resize.ui
-index 5fe0ea35..f3bcbce4 100644
---- a/image-converter/caja-image-resize.ui
-+++ b/image-converter/caja-image-resize.ui
-@@ -183,7 +183,7 @@
-                             <property name="can_focus">False</property>
-                             <property name="spacing">8</property>
-                             <child>
--                              <object class="GtkRadioButton">
-+                              <object class="GtkRadioButton" id="custom_pct_radiobutton">
-                                 <property name="label" translatable="yes">Scale:</property>
-                                 <property name="visible">True</property>
-                                 <property name="can_focus">True</property>
diff --git a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch b/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
deleted file mode 100644
index 9e454bb0dea045..00000000000000
--- a/srcpkgs/caja-extensions/patches/2-sendto-gupnp-1.6.patch
+++ /dev/null
@@ -1,132 +0,0 @@
-From 652e145d2c5e2a9658eed7a665fe5a295503940b Mon Sep 17 00:00:00 2001
-From: Xiaotian Wu <yetist@gmail.com>
-Date: Mon, 16 Oct 2023 10:42:27 +0800
-Subject: [PATCH] sendto: require gupnp-1.6
-
----
- configure.ac               |  6 ++---
- sendto/plugins/upnp/upnp.c | 48 ++++++++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a6c506c..5fedb4b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ if test "x$enable_sendto" = "xyes"; then
-         GTHREAD_REQUIRED=2.6.0
-         DBUS_REQUIRED=1.0
-         DBUS_GLIB_REQUIRED=0.60
--        GUPNP_REQUIRED=0.13
-+        GUPNP_REQUIRED=1.6
-         PKG_CHECK_MODULES(SENDTO,
-                 glib-2.0    >= $GLIB_REQUIRED
-                 gthread-2.0 >= $GTHREAD_REQUIRED
-@@ -214,9 +214,7 @@ if test "x$enable_sendto" = "xyes"; then
-             fi
-             ;;
-             upnp)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.2 >= $GUPNP_REQUIRED,
--                    enable_upnp=yes AC_DEFINE([HAS_GUPNP_VERSION_1_2], 1, ["Version is at least 1.2"]), enable_upnp=no)
--                PKG_CHECK_MODULES(UPNP, gupnp-1.0 >= $GUPNP_REQUIRED,
-+                PKG_CHECK_MODULES(UPNP, gupnp-1.6 >= $GUPNP_REQUIRED,
-                     enable_upnp=yes, enable_upnp=no)
-                 if test "${enable_upnp}" != "yes" ; then
-                     sendto_plugin_error_or_ignore "you need gupnp installed to build the upnp plugin"
-diff --git a/sendto/plugins/upnp/upnp.c b/sendto/plugins/upnp/upnp.c
-index 7b6775b..b770e37 100644
---- a/sendto/plugins/upnp/upnp.c
-+++ b/sendto/plugins/upnp/upnp.c
-@@ -87,25 +87,37 @@ check_required_actions (GUPnPServiceIntrospection *introspection)
- }
- 
- static void
--get_introspection_cb (GUPnPServiceInfo *service_info,
--		      GUPnPServiceIntrospection *introspection, const GError *error,
--		      gpointer user_data)
-+get_introspection_cb (GObject *source_object,
-+                      GAsyncResult *res,
-+                      gpointer user_data)
- {
- 	GUPnPDeviceInfo *device_info;
- 	gchar *name;
- 	const gchar *udn, *interface;
- 	GtkTreeIter iter;
- 	GUPnPContext *context;
-+    GError *error = NULL;
- 
- 	device_info = GUPNP_DEVICE_INFO (user_data);
- 
--	if (introspection != NULL) {
--		/* If introspection is available, make sure required actions
--		 * are implemented.
--		 */
--		if (!check_required_actions (introspection))
--			goto error;
--	}
-+    GUPnPServiceIntrospection *introspection =
-+      gupnp_service_info_introspect_finish (GUPNP_SERVICE_INFO (GUPNP_SERVICE_INFO (source_object)),
-+                                            res,
-+                                            &error);
-+    if (error) {
-+        g_warning ("Failed to create introspection for '%s': %s",
-+                   gupnp_service_info_get_udn (GUPNP_SERVICE_INFO (source_object)),
-+                   error->message);
-+        g_clear_error (&error);
-+        goto error;
-+    }
-+
-+    /* If introspection is available, make sure required actions
-+     * are implemented.
-+     */
-+    if (!check_required_actions (introspection)) {
-+        goto error;
-+    }
- 
- 	udn = gupnp_device_info_get_udn (device_info);
- 	if (G_UNLIKELY (udn == NULL))
-@@ -129,10 +141,8 @@ get_introspection_cb (GUPnPServiceInfo *service_info,
- 					   -1);
- 
- 	g_free (name);
--
-+    g_object_unref (introspection);
- error:
--	/* We don't need the proxy objects anymore */
--	g_object_unref (service_info);
- 	g_object_ref (device_info);
- }
- 
-@@ -148,9 +158,10 @@ device_proxy_available_cb (GUPnPControlPoint *cp,
- 		return;
- 	}
- 
--	gupnp_service_info_get_introspection_async (info,
--						    get_introspection_cb,
--						    g_object_ref (proxy));
-+	gupnp_service_info_introspect_async (info,
-+                                         NULL,
-+                                         get_introspection_cb,
-+                                         g_object_ref (proxy));
- }
- 
- static void
-@@ -211,11 +222,7 @@ init (NstPlugin *plugin)
- 		return FALSE;
- 	g_free (upload_cmd);
- 
--#ifdef HAS_GUPNP_VERSION_1_2
- 	context_manager = gupnp_context_manager_create (0);
--#else
--	context_manager = gupnp_context_manager_new (NULL, 0);
--#endif
- 	g_assert (context_manager != NULL);
- 	g_signal_connect (context_manager, "context-available",
- 			  G_CALLBACK (on_context_available), NULL);
-@@ -275,6 +282,7 @@ send_files (NstPlugin *plugin,
- 	g_ptr_array_add (argv, "15"); /* discovery timeout (seconds) */
- 	g_ptr_array_add (argv, "-e");
- 	g_ptr_array_add (argv, interface);
-+	g_ptr_array_add (argv, "-u");
- 	g_ptr_array_add (argv, udn);
- 	for (l = file_list ; l; l=l->next) {
- 		gchar *file_path;
diff --git a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch b/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
deleted file mode 100644
index d4f2441c26d202..00000000000000
--- a/srcpkgs/caja-extensions/patches/3-xattr-mtp.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 91cc4665e9d707fd1015fb5c952816d13ef37693 Mon Sep 17 00:00:00 2001
-From: Goffredo Baroncelli <kreijack@inwind.it>
-Date: Sun, 6 Nov 2022 16:17:04 +0100
-Subject: [PATCH] xattr-tags-extension: avoid check xattr for mtp:// and
- gphoto2://
-
-Some protocols (like mtp://), doesn't support xattr. In this
-case avoid to check the xattr-tags to not have
-poor performance.
-
-This patch blacklist mtp:// and gphoto2://.
----
- xattr-tags/caja-xattr-tags-extension.c | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
-
-diff --git a/xattr-tags/caja-xattr-tags-extension.c b/xattr-tags/caja-xattr-tags-extension.c
-index a3c8993..ab6450d 100644
---- a/xattr-tags/caja-xattr-tags-extension.c
-+++ b/xattr-tags/caja-xattr-tags-extension.c
-@@ -50,6 +50,16 @@ typedef struct {
-     GClosure *update_complete;
- } CajaXattrTagsHandle;
- 
-+/* List of protocols that don't support xattr retriving,
-+ * so we can skip it safetely
-+ */
-+static gchar *protocols_blacklist[] = {
-+    "mtp://",
-+    "gphoto2://",
-+
-+    NULL
-+};
-+
- /* Stolen code: why they didn't expose it!?
-  * file: glocalfileinfo.c
-  * function: hex_unescape_string
-@@ -107,8 +117,21 @@ static gchar *caja_xattr_tags_get_xdg_tags(CajaFileInfo *file)
-     gchar *tags = NULL, *uri;
-     GFile *location;
-     GFileInfo *info;
-+    int i;
- 
-     uri = caja_file_info_get_activation_uri (file);
-+    for (i = 0 ; protocols_blacklist[i] ; i++) {
-+        int l = strlen(protocols_blacklist[i]);
-+
-+        if (strlen(uri) < l)
-+            continue;
-+        if (strncasecmp(uri, protocols_blacklist[i], l))
-+            continue;
-+
-+        g_free (uri);
-+        return NULL;
-+    }
-+
-     location = g_file_new_for_uri (uri);
-     info = g_file_query_info (location,
-                               G_FILE_ATTRIBUTE_XATTR_XDG_TAGS,
diff --git a/srcpkgs/caja-extensions/template b/srcpkgs/caja-extensions/template
index bdb208810c4ad2..2ce814578f8cd3 100644
--- a/srcpkgs/caja-extensions/template
+++ b/srcpkgs/caja-extensions/template
@@ -1,12 +1,12 @@
 # Template file for 'caja-extensions'
 pkgname=caja-extensions
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-gksu --disable-static"
-hostmakedepends="pkg-config intltool glib-devel libxml2
- automake gettext-devel-tools libtool gtk-doc"
-makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel"
+hostmakedepends="pkg-config intltool glib-devel libxml2 gettext"
+makedepends="libcaja-devel mate-desktop-devel dbus-glib-devel gupnp-devel
+ gst-plugins-base1-devel totem-devel gtk+3-devel dbus-devel"
 depends="caja"
 short_desc="Extensions for the MATE Caja file manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,11 +14,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja-extensions/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=589c19e3fa10242d6239a5ccb9585598436a56ebe94d2eb2a50b5950cce1d520
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=d2986c5e0740835fe271cfbd5823eeeaf03291af1763203f4700abb8109e3175
 
 post_install() {
 	rm -rf ${DESTDIR}/usr/include
@@ -31,6 +27,7 @@ caja-image-converter_package() {
 	depends="caja-extensions ImageMagick"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-image-converter.so
+		vmove usr/share/caja/extensions/libcaja-image-converter.caja-extension
 	}
 }
 
@@ -39,6 +36,7 @@ caja-open-terminal_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-open-terminal.so
+		vmove usr/share/caja/extensions/libcaja-open-terminal.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.caja-open-terminal.gschema.xml
 	}
 }
@@ -50,6 +48,7 @@ caja-sendto_package() {
 		vmove usr/bin/caja-sendto
 		vmove usr/lib/caja-sendto
 		vmove usr/lib/caja/extensions-2.0/libcaja-sendto.so
+		vmove usr/share/caja/extensions/libcaja-sendto.caja-extension
 		vmove usr/share/glib-2.0/schemas/org.mate.Caja.Sendto.gschema.xml
 		vmove usr/share/man/man1/caja-sendto.1
 	}
@@ -60,6 +59,7 @@ caja-share_package() {
 	depends="caja-extensions samba"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-share.so
+		vmove usr/share/caja/extensions/libcaja-share.caja-extension
 		vmove usr/share/caja-extensions/share-dialog.ui
 	}
 }
@@ -69,6 +69,7 @@ caja-wallpaper_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-wallpaper.so
+		vmove usr/share/caja/extensions/libcaja-wallpaper.caja-extension
 	}
 }
 
@@ -77,5 +78,15 @@ caja-xattr-tags_package() {
 	depends="caja-extensions"
 	pkg_install() {
 		vmove usr/lib/caja/extensions-2.0/libcaja-xattr-tags.so
+		vmove usr/share/caja/extensions/libcaja-xattr-tags.caja-extension
+	}
+}
+
+caja-av_package() {
+	short_desc="Caja extension to see audio/video properties"
+	depends="caja-extensions"
+	pkg_install() {
+		vmove usr/lib/caja/extensions-2.0/libcaja-av.so
+		vmove usr/share/caja/extensions/libcaja-av.caja-extension
 	}
 }

From 34e629bafcd05a582dc902abf16504aabfb09132 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 04/33] caja: update to 1.28.0.

---
 srcpkgs/caja/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/caja/template b/srcpkgs/caja/template
index 52598da3c9a6d8..07f25cedad1d53 100644
--- a/srcpkgs/caja/template
+++ b/srcpkgs/caja/template
@@ -1,15 +1,19 @@
 # Template file for 'caja'
 pkgname=caja
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 # self-check only check for eel in make check, requires Xorg server
 configure_args="--disable-static --disable-packagekit --disable-schemas-compile
- --disable-update-mimedb --disable-self-check $(vopt_enable gir introspection)
+ --disable-update-mimedb --disable-self-check --enable-wayland
+ $(vopt_enable gir introspection)
  ac_cv_lib_selinux_is_selinux_enabled=no ac_cv_strftime_extensions=yes"
-hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config"
+hostmakedepends="glib-devel gobject-introspection intltool itstool pkg-config
+ wayland-devel"
 makedepends="exempi-devel gvfs-devel libXt-devel libexif-devel libnotify-devel
+ gdk-pixbuf-devel libglib-devel pango-devel gtk+3-devel libxml2-devel
+ libexif-devel gtk-layer-shell-devel wayland-devel libX11-devel
  mate-desktop-devel"
 depends="dbus gvfs mate-desktop mate-icon-theme"
 short_desc="MATE shell and file manager"
@@ -18,7 +22,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/caja/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/caja-${version}.tar.xz"
-checksum=813edf08a36f995ec3c1504131ff8afbbd021f6e1586643fe5dced5e73e5790d
+checksum=1e3014ce1455817ec2ef74d09efdfb6835d8a372ed9a16efb5919ef7b821957a
 
 build_options="gir"
 build_options_default="gir"

From 93641a81f1b15796c0091b7fd3124369a87d5d52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 05/33] eom: update to 1.28.0.

---
 srcpkgs/eom/template | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/eom/template b/srcpkgs/eom/template
index 9e7184b988710e..d74606b4a1dd4e 100644
--- a/srcpkgs/eom/template
+++ b/srcpkgs/eom/template
@@ -1,21 +1,25 @@
 # Template file for 'eom'
 pkgname=eom
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-schemas-compile --enable-introspection"
-hostmakedepends="dbus-glib-devel mate-common"
+configure_args="--disable-schemas-compile --enable-introspection
+ --enable-thumbnailer"
+hostmakedepends="glib-devel gettext gdk-pixbuf itstool pkg-config
+ gobject-introspection"
 makedepends="dbus-glib-devel exempi-devel libexif-devel libpeas-devel
- librsvg-devel mate-desktop-devel mate-icon-theme"
-depends="dbus mate-icon-theme"
+ lcms2-devel libjpeg-turbo-devel libxml2-devel libmagick-devel libX11-devel
+ gtk+3-devel libglib-devel gdk-pixbuf-devel shared-mime-info zlib-devel
+ libgirepository-devel librsvg-devel mate-desktop-devel mate-icon-theme"
+depends="dbus mate-icon-theme gdk-pixbuf"
 short_desc="MATE image viewer"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/eom/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/eom-${version}.tar.xz"
-checksum=b5251229494f7e6c62e09fb211e43308df4f074c551ba0a233dc2cd6864b9960
+checksum=9a01cab2995a1a8c7258c865eae5f182ed4730c44672afdc3a07e423edd53abc
 
 eom-devel_package() {
 	short_desc+=" - development files"

From a22fecd4acbd079a71d5b660e89d132a2c9d3aa0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:26 +0700
Subject: [PATCH 06/33] libmatekbd: update to 1.28.0.

---
 common/shlibs               | 4 ++--
 srcpkgs/libmatekbd/template | 9 +++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index b8a530a4fe219e..fc4bc590557ff7 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -1771,9 +1771,9 @@ libmate-desktop-2.so.17 mate-desktop-1.8.0_1
 libmarco-private.so.2 libmarco-1.22.2_1
 libmate-menu.so.2 mate-menus-1.8.0_1
 libcaja-extension.so.1 libcaja-1.8.1_1
-libmatekbd.so.4 libmatekbd-1.8.0_1
+libmatekbd.so.6 libmatekbd-1.28.0_1
+libmatekbdui.so.6 libmatekbd-1.28.0_1
 libmatemixer.so.0 libmatemixer-1.10.0_1
-libmatekbdui.so.4 libmatekbd-1.8.0_1
 libmate-window-settings.so.1 libmate-control-center-1.8.1_1
 libmateweather.so.1 libmateweather-1.8.0_1
 libmate-panel-applet-4.so.1 libmate-panel-1.8.0_1
diff --git a/srcpkgs/libmatekbd/template b/srcpkgs/libmatekbd/template
index fa3915c27e983b..4af16c818d9a2f 100644
--- a/srcpkgs/libmatekbd/template
+++ b/srcpkgs/libmatekbd/template
@@ -1,12 +1,13 @@
 # Template file for 'libmatekbd'
 pkgname=libmatekbd
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
 configure_args="--disable-static $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel gobject-introspection"
-makedepends="libICE-devel gtk+3-devel libxklavier-devel iso-codes"
+hostmakedepends="pkg-config intltool itstool glib-devel libxml2
+ gobject-introspection iso-codes"
+makedepends="libICE-devel libglib-devel gtk+3-devel libxklavier-devel iso-codes"
 depends="dconf iso-codes"
 short_desc="MATE keyboard library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,7 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatekbd/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmatekbd-${version}.tar.xz"
-checksum=63938d91252945eeea88fd8374d1231bd83d02cd965c6bba17c185edb397bced
+checksum=5d2e58483c2b23d33503d24c88f8b90a28cc0189d7e4001b3e273a604f6fe80e
 
 build_options="gir"
 build_options_default="gir"

From b64bac12dc411b4c192b3610d37385053239a82a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 07/33] libmatemixer: update to 1.28.0.

---
 srcpkgs/libmatemixer/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/libmatemixer/template b/srcpkgs/libmatemixer/template
index aa5b765440624c..28c514d52ea125 100644
--- a/srcpkgs/libmatemixer/template
+++ b/srcpkgs/libmatemixer/template
@@ -1,18 +1,19 @@
 # Template file for 'libmatemixer'
 pkgname=libmatemixer
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="mate-common pkg-config intltool itstool"
-makedepends="libglib-devel alsa-lib-devel pulseaudio-devel"
+configure_args="--disable-static --enable-pulseaudio --enable-alsa
+ --enable-udev"
+hostmakedepends="pkg-config gettext"
+makedepends="libglib-devel alsa-lib-devel pulseaudio-devel eudev-libudev-devel"
 short_desc="MATE mixer library"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmatemixer/master/NEWS"
 distfiles="http://pub.mate-desktop.org/releases/${version%.*}/libmatemixer-${version}.tar.xz"
-checksum=4960f59a6b9faf82a01d4a4b8cc260b4868dd991efd4a9b17b5d0a15a1d3a1ae
+checksum=5d73b922397f60688e3c9530eb532bce46c30e262db1b5352fa32c40d870a0c7
 
 libmatemixer-devel_package() {
 	short_desc+=" - development files"

From d9217e73f1dc683f6de0429b5bd61d4263676ad7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 08/33] libmateweather: update to 1.28.0.

---
 .../libmateweather/patches/libsoup-3.0.patch  | 595 ++++++++++++++++++
 srcpkgs/libmateweather/template               |  13 +-
 2 files changed, 604 insertions(+), 4 deletions(-)
 create mode 100644 srcpkgs/libmateweather/patches/libsoup-3.0.patch

diff --git a/srcpkgs/libmateweather/patches/libsoup-3.0.patch b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
new file mode 100644
index 00000000000000..84061ac342d7ff
--- /dev/null
+++ b/srcpkgs/libmateweather/patches/libsoup-3.0.patch
@@ -0,0 +1,595 @@
+From 97cd9b061ad9b75568af3737f7e4a1dd4bed9c1a Mon Sep 17 00:00:00 2001
+From: Đoàn Trần Công Danh <congdanhqx@gmail.com>
+Date: Mon, 4 Mar 2024 23:47:37 +0700
+Subject: [PATCH] Port to libsoup-3.0
+
+---
+ .build.yml                                   | 10 ++--
+ configure.ac                                 |  6 ++-
+ libmateweather/mateweather-uninstalled.pc.in |  2 +-
+ libmateweather/mateweather.pc.in             |  2 +-
+ libmateweather/weather-bom.c                 | 36 ++++++++-----
+ libmateweather/weather-iwin.c                | 37 ++++++++-----
+ libmateweather/weather-met.c                 | 34 ++++++++----
+ libmateweather/weather-metar.c               | 57 ++++++++++++++------
+ libmateweather/weather-priv.h                |  6 ++-
+ libmateweather/weather-wx.c                  | 53 +++++++++---------
+ libmateweather/weather.c                     |  7 +--
+ 11 files changed, 157 insertions(+), 93 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 133108e..d9fcf9c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,6 +8,7 @@ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-xz tar-ustar check-news])
+ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+ 
++AC_USE_SYSTEM_EXTENSIONS
+ # Before making a release, the LT_VERSION string should be modified.
+ # The string is of the form C:R:A.
+ # - If interfaces have been changed or added, but binary compatibility has
+@@ -23,7 +24,7 @@ AC_CANONICAL_HOST
+ 
+ GLIB_REQUIRED=2.56.0
+ GTK_REQUIRED=3.22.0
+-LIBSOUP_REQUIRED=2.34.0
++LIBSOUP_REQUIRED=3.0.0
+ GIO_REQUIRED=2.25.0
+ LIBXML_REQUIRED=2.6.0
+ 
+@@ -65,7 +66,7 @@ dnl -- Check for libxml (required) ------------------------------------------
+ PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
+ 
+ dnl -- check for libsoup (required) -----------------------------------------
+-PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= $LIBSOUP_REQUIRED])
++PKG_CHECK_MODULES(LIBSOUP, [libsoup-3.0 >= $LIBSOUP_REQUIRED])
+ 
+ dnl -- check for gio (required) -----------------------------------------
+ PKG_CHECK_MODULES(GIO,
+@@ -100,6 +101,7 @@ AC_CHECK_FUNCS(regexec,,[AC_CHECK_LIB(regex,regexec,
+                [AC_MSG_ERROR([No regex library found])])])
+ AC_SUBST(REGEX_LIBS)
+ 
++AC_CHECK_FUNC(memmem,[],[AC_MSG_ERROR([memmem is required])])
+ 
+ dnl ***************************************************************************
+ dnl *** Check for presence of tm.tm_gmtoff on the system                    ***
+diff --git a/libmateweather/mateweather-uninstalled.pc.in b/libmateweather/mateweather-uninstalled.pc.in
+index 03e7461..c692842 100644
+--- a/libmateweather/mateweather-uninstalled.pc.in
++++ b/libmateweather/mateweather-uninstalled.pc.in
+@@ -8,6 +8,6 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: ${pc_top_builddir}/${pcfiledir}/libmateweather.la
+ Cflags: -I${pc_top_builddir}/${pcfiledir}/..
+diff --git a/libmateweather/mateweather.pc.in b/libmateweather/mateweather.pc.in
+index a617c33..bea024d 100644
+--- a/libmateweather/mateweather.pc.in
++++ b/libmateweather/mateweather.pc.in
+@@ -8,7 +8,7 @@ Name: MateWeather
+ Description: MateWeather shared library
+ Version: @VERSION@
+ Requires: glib-2.0 gobject-2.0 gdk-pixbuf-2.0 gtk+-3.0 gio-2.0
+-Requires.private: libxml-2.0 libsoup-2.4
++Requires.private: libxml-2.0 libsoup-3.0
+ Libs: -L${libdir} -lmateweather
+ Libs.private: -lm
+ Cflags: -I${includedir}
+diff --git a/libmateweather/weather-bom.c b/libmateweather/weather-bom.c
+index 47b2d0b..f5c7a87 100644
+--- a/libmateweather/weather-bom.c
++++ b/libmateweather/weather-bom.c
+@@ -27,34 +27,45 @@
+ #include "weather-priv.h"
+ 
+ static void
+-bom_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++bom_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     char *p, *rp;
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        g_warning ("Failed to get BOM forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
+-	return;
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get BOM forecast data: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
+     }
+ 
+-    p = strstr (msg->response_body->data, "Forecast for the rest");
++    response_body = g_bytes_get_data (bytes, &len);
++
++    p = xstrnstr (response_body, len, "Forecast for the rest");
+     if (p != NULL) {
+-        rp = strstr (p, "The next routine forecast will be issued");
++        rp = xstrnstr (p, len - (p - response_body),
++                     "The next routine forecast will be issued");
+         if (rp == NULL)
+-            info->forecast = g_strdup (p);
++            info->forecast = g_strndup (p, len - (p - response_body));
+         else
+             info->forecast = g_strndup (p, rp - p);
+     }
+ 
+     if (info->forecast == NULL)
+-        info->forecast = g_strdup (msg->response_body->data);
++        info->forecast = g_strndup (response_body, len);
+ 
++    g_bytes_unref (bytes);
+     g_print ("%s\n",  info->forecast);
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -70,7 +81,8 @@ bom_start_open (WeatherInfo *info)
+ 			   loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, bom_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, bom_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-iwin.c b/libmateweather/weather-iwin.c
+index 9f7ff38..b1dc1ff 100644
+--- a/libmateweather/weather-iwin.c
++++ b/libmateweather/weather-iwin.c
+@@ -93,7 +93,7 @@ hasAttr (xmlNode *node, const char *attr_name, const char *attr_value)
+ }
+ 
+ static GSList *
+-parseForecastXml (const char *buff, WeatherInfo *master_info)
++parseForecastXml (const char *buff, gsize len, WeatherInfo *master_info)
+ {
+     GSList *res = NULL;
+     xmlDocPtr doc;
+@@ -107,7 +107,7 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+     #define XC (const xmlChar *)
+     #define isElem(_node,_name) g_str_equal ((const char *)_node->name, _name)
+ 
+-    doc = xmlParseMemory (buff, strlen (buff));
++    doc = xmlParseMemory (buff, len);
+     if (!doc)
+         return NULL;
+ 
+@@ -380,26 +380,36 @@ parseForecastXml (const char *buff, WeatherInfo *master_info)
+ }
+ 
+ static void
+-iwin_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++iwin_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
+         /* forecast data is not really interesting anyway ;) */
+-        g_warning ("Failed to get IWIN forecast data: %d %s\n",
+-                   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++        g_warning ("Failed to get IWIN forecast data: %s\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
++    response_body = g_bytes_get_data (bytes, &len);
+     if (info->forecast_type == FORECAST_LIST)
+-        info->forecast_list = parseForecastXml (msg->response_body->data, info);
++        info->forecast_list = parseForecastXml (response_body, len, info);
+     else
+-        info->forecast = formatWeatherMsg (g_strdup (msg->response_body->data));
++        info->forecast = formatWeatherMsg (g_strndup (response_body, len));
+ 
+-    request_done (info, TRUE);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ /* Get forecast into newly alloc'ed string */
+@@ -439,7 +449,9 @@ iwin_start_open (WeatherInfo *info)
+ 
+             msg = soup_message_new ("GET", url);
+             g_free (url);
+-            soup_session_queue_message (info->session, msg, iwin_finish, info);
++            soup_session_send_and_read_async (info->session, msg,
++                                              G_PRIORITY_DEFAULT,
++                                              NULL, iwin_finish, info);
+ 
+             info->requests_pending++;
+         }
+@@ -470,7 +482,8 @@ iwin_start_open (WeatherInfo *info)
+ 
+     msg = soup_message_new ("GET", url);
+     g_free (url);
+-    soup_session_queue_message (info->session, msg, iwin_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, iwin_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-met.c b/libmateweather/weather-met.c
+index 164e9f2..7022abb 100644
+--- a/libmateweather/weather-met.c
++++ b/libmateweather/weather-met.c
+@@ -119,19 +119,20 @@ met_reprocess (char *x, int len)
+  */
+ 
+ static gchar *
+-met_parse (const gchar *meto)
++met_parse (const gchar *meto, gsize len)
+ {
+     gchar *p;
+     gchar *rp;
+     gchar *r = g_strdup ("Met Office Forecast\n");
+     gchar *t;
++    const gchar *end = meto + len;
+ 
+     g_return_val_if_fail (meto != NULL, r);
+ 
+-    p = strstr (meto, "Summary: </b>");
++    p = xstrnstr (meto, len, "Summary: </b>");
+     g_return_val_if_fail (p != NULL, r);
+ 
+-    rp = strstr (p, "Text issued at:");
++    rp = xstrnstr (p, end - p, "Text issued at:");
+     g_return_val_if_fail (rp != NULL, r);
+ 
+     p += 13;
+@@ -143,21 +144,31 @@ met_parse (const gchar *meto)
+ }
+ 
+ static void
+-met_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++met_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get Met Office forecast data: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-        request_done (info, FALSE);
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get Met Office forecast data: %s.\n",
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+-    info->forecast = met_parse (msg->response_body->data);
+-    request_done (info, TRUE);
++    response_body = g_bytes_get_data (bytes, &len);
++    info->forecast = met_parse (response_body, len);
++    g_bytes_unref (bytes);
++    request_done (info, NULL);
+ }
+ 
+ void
+@@ -171,7 +182,8 @@ metoffice_start_open (WeatherInfo *info)
+     url = g_strdup_printf ("http://www.metoffice.gov.uk/weather/europe/uk/%s.html", loc->zone + 1);
+ 
+     msg = soup_message_new ("GET", url);
+-    soup_session_queue_message (info->session, msg, met_finish, info);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, met_finish, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
+index 7bc24fc..d85188b 100644
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -486,43 +486,60 @@ metar_parse (gchar *metar, WeatherInfo *info)
+ }
+ 
+ static void
+-metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++metar_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     WeatherLocation *loc;
+-    const gchar *p, *endtag;
++    const gchar *p, *end, *endtag;
+     gchar *searchkey, *metar;
+     gboolean success = FALSE;
++    GError *error = NULL;
++    GBytes *bytes;
++    const char *response_body = NULL;
++    gsize len = 0;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-        if (SOUP_STATUS_IS_TRANSPORT_ERROR (msg->status_code))
++    bytes = soup_session_send_and_read_finish (SOUP_SESSION(source),
++                                               result, &error);
++
++    if (error != NULL) {
++        /* https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html#status-codes-no-longer-used-for-internal-errors */
++        switch (error->code) {
++        case SOUP_SESSION_ERROR_PARSING:
++        case SOUP_SESSION_ERROR_ENCODING:
++        case SOUP_SESSION_ERROR_TOO_MANY_REDIRECTS:
+             info->network_error = TRUE;
+-        else {
+-            /* Translators: %d is an error code, and %s the error string */
+-            g_warning (_("Failed to get METAR data: %d %s.\n"),
+-                       msg->status_code, msg->reason_phrase);
++            break;
++        default:
++            break;
+         }
+-        request_done (info, FALSE);
++        g_warning (_("Failed to get METAR data: %s.\n"),
++                   error->message);
++        request_done (info, error);
++        g_error_free (error);
+         return;
+     }
+ 
+     loc = info->location;
+ 
+     searchkey = g_strdup_printf ("<raw_text>%s", loc->code);
+-    p = strstr (msg->response_body->data, searchkey);
+-    g_free (searchkey);
++
++    response_body = g_bytes_get_data (bytes, &len);
++    end = response_body + len;
++
++    p = xstrnstr (response_body, len, searchkey);
+     if (p) {
+         p += WEATHER_LOCATION_CODE_LEN + 11;
+         endtag = strstr (p, "</raw_text>");
++        endtag = xstrnstr (p, end - p, "</raw_text>");
+         if (endtag)
+             metar = g_strndup (p, endtag - p);
+         else
+-            metar = g_strdup (p);
++            metar = g_strndup (p, end - p);
+         success = metar_parse (metar, info);
+         g_free (metar);
+-    } else if (!strstr (msg->response_body->data, "aviationweather.gov")) {
++    } else if (!xstrnstr (response_body, len, "aviationweather.gov")) {
+         /* The response doesn't even seem to have come from NOAA...
+          * most likely it is a wifi hotspot login page. Call that a
+          * network error.
+@@ -531,7 +548,8 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
+     }
+ 
+     info->valid = success;
+-    request_done (info, TRUE);
++    request_done (info, NULL);
++    g_bytes_unref(bytes);
+ }
+ 
+ /* Read current conditions and fill in info structure */
+@@ -540,6 +558,7 @@ metar_start_open (WeatherInfo *info)
+ {
+     WeatherLocation *loc;
+     SoupMessage *msg;
++    char *query;
+ 
+     g_return_if_fail (info != NULL);
+     info->valid = info->network_error = FALSE;
+@@ -549,8 +568,7 @@ metar_start_open (WeatherInfo *info)
+         return;
+     }
+ 
+-    msg = soup_form_request_new (
+-        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++    query = soup_form_encode (
+         "dataSource", "metars",
+         "requestType", "retrieve",
+         "format", "xml",
+@@ -559,7 +577,12 @@ metar_start_open (WeatherInfo *info)
+         "fields", "raw_text",
+         "stationString", loc->code,
+         NULL);
+-    soup_session_queue_message (info->session, msg, metar_finish, info);
++    msg = soup_message_new_from_encoded_form (
++        "GET", "https://aviationweather.gov/cgi-bin/data/dataserver.php",
++        query);
++    g_free(query);
++    soup_session_send_and_read_async (info->session, msg, G_PRIORITY_DEFAULT,
++                                      NULL, metar_finish, info);
+ 
+     info->requests_pending++;
+ }
+diff --git a/libmateweather/weather-priv.h b/libmateweather/weather-priv.h
+index 817f13c..03cdcbd 100644
+--- a/libmateweather/weather-priv.h
++++ b/libmateweather/weather-priv.h
+@@ -21,6 +21,7 @@
+ 
+ #include "config.h"
+ 
++#include <string.h>
+ #include <time.h>
+ #include <libintl.h>
+ #include <math.h>
+@@ -34,6 +35,8 @@ const char *mateweather_dpgettext (const char *context, const char *str) G_GNUC_
+ #define _(str) (mateweather_gettext (str))
+ #define C_(context, str) (mateweather_dpgettext (context, str))
+ #define N_(str) (str)
++#define xstrnstr(haystack, hlen, needle) \
++	memmem(haystack, hlen, needle, strlen(needle))
+ 
+ #define WEATHER_LOCATION_CODE_LEN 4
+ 
+@@ -95,7 +98,6 @@ struct _WeatherInfo {
+     GSList *forecast_list; /* list of WeatherInfo* for the forecast, NULL if not available */
+     gchar *radar_buffer;
+     gchar *radar_url;
+-    GdkPixbufLoader *radar_loader;
+     GdkPixbufAnimation *radar;
+     SoupSession *session;
+     gint requests_pending;
+@@ -167,7 +169,7 @@ gboolean	metar_parse		(gchar *metar,
+ 
+ gboolean	requests_init		(WeatherInfo *info);
+ void		request_done		(WeatherInfo *info,
+-					 gboolean     ok);
++					 GError      *error);
+ 
+ void		ecl2equ			(gdouble t,
+ 					 gdouble eclipLon,
+diff --git a/libmateweather/weather-wx.c b/libmateweather/weather-wx.c
+index e29cecc..11f7336 100644
+--- a/libmateweather/weather-wx.c
++++ b/libmateweather/weather-wx.c
+@@ -25,48 +25,51 @@
+ #include "weather-priv.h"
+ 
+ static void
+-wx_finish (SoupSession *session, SoupMessage *msg, gpointer data)
++wx_finish (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GdkPixbufAnimation *animation;
++    GError *error = NULL;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    if (!SOUP_STATUS_IS_SUCCESSFUL (msg->status_code)) {
+-	g_warning ("Failed to get radar map image: %d %s.\n",
+-		   msg->status_code, msg->reason_phrase);
+-	g_object_unref (info->radar_loader);
+-	request_done (info, FALSE);
+-	return;
+-    }
++    animation = gdk_pixbuf_animation_new_from_stream_finish (result, &error);
+ 
+-    gdk_pixbuf_loader_close (info->radar_loader, NULL);
+-    animation = gdk_pixbuf_loader_get_animation (info->radar_loader);
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        request_done (info, error);
++        g_error_free (error);
++        return;
++    }
+     if (animation != NULL) {
+-	if (info->radar)
+-	    g_object_unref (info->radar);
+-	info->radar = animation;
+-	g_object_ref (info->radar);
++        if (info->radar)
++            g_object_unref (info->radar);
++        info->radar = animation;
++        g_object_ref (info->radar);
+     }
+-    g_object_unref (info->radar_loader);
+ 
+-    request_done (info, TRUE);
++    request_done (info, NULL);
+ }
+ 
+ static void
+-wx_got_chunk (SoupMessage *msg, SoupBuffer *chunk, gpointer data)
++wx_got_chunk (GObject *source, GAsyncResult *result, gpointer data)
+ {
+     WeatherInfo *info = (WeatherInfo *)data;
+     GError *error = NULL;
++    GInputStream *istream;
+ 
+     g_return_if_fail (info != NULL);
+ 
+-    gdk_pixbuf_loader_write (info->radar_loader, (guchar *)chunk->data,
+-			     chunk->length, &error);
+-    if (error) {
+-	g_print ("%s \n", error->message);
+-	g_error_free (error);
++    istream = soup_session_send_finish (SOUP_SESSION (source), result, &error);
++
++    if (error != NULL) {
++        g_warning ("Failed to get radar map image: %s.\n", error->message);
++        g_error_free (error);
++        request_done (info, error);
++        return;
+     }
++
++    gdk_pixbuf_animation_new_from_stream_async (istream, NULL, wx_finish, data);
+ }
+ 
+ /* Get radar map and into newly allocated pixmap */
+@@ -79,7 +82,6 @@ wx_start_open (WeatherInfo *info)
+ 
+     g_return_if_fail (info != NULL);
+     info->radar = NULL;
+-    info->radar_loader = gdk_pixbuf_loader_new ();
+     loc = info->location;
+     g_return_if_fail (loc != NULL);
+ 
+@@ -98,9 +100,8 @@ wx_start_open (WeatherInfo *info)
+ 	return;
+     }
+ 
+-    g_signal_connect (msg, "got-chunk", G_CALLBACK (wx_got_chunk), info);
+-    soup_message_body_set_accumulate (msg->response_body, FALSE);
+-    soup_session_queue_message (info->session, msg, wx_finish, info);
++    soup_session_send_async (info->session, msg, G_PRIORITY_DEFAULT, NULL,
++                             wx_got_chunk, info);
+     g_free (url);
+ 
+     info->requests_pending++;
+diff --git a/libmateweather/weather.c b/libmateweather/weather.c
+index 86453fc..1d7533a 100644
+--- a/libmateweather/weather.c
++++ b/libmateweather/weather.c
+@@ -348,12 +348,13 @@ requests_init (WeatherInfo *info)
+     return TRUE;
+ }
+ 
+-void request_done (WeatherInfo *info, gboolean ok)
++void request_done (WeatherInfo *info, GError *error)
+ {
+-    if (ok) {
++    if (error == NULL) {
+ 	(void) calc_sun (info);
+ 	info->moonValid = info->valid && calc_moon (info);
+-    }
++    } else if (error->code == G_IO_ERROR_CANCELLED)
++        return; /* Caused by soup_session_abort */
+     if (!--info->requests_pending)
+         info->finish_cb (info, info->cb_data);
+ }
diff --git a/srcpkgs/libmateweather/template b/srcpkgs/libmateweather/template
index 657882dea3994c..f1f8d1de6e0f63 100644
--- a/srcpkgs/libmateweather/template
+++ b/srcpkgs/libmateweather/template
@@ -1,12 +1,13 @@
 # Template file for 'libmateweather'
 pkgname=libmateweather
-version=1.26.3
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --enable-locations-compression
  --with-zoneinfo-dir=/usr/share/zoneinfo"
-hostmakedepends="pkg-config intltool itstool glib-devel"
-makedepends="gtk+3-devel libsoup-devel"
+hostmakedepends="pkg-config intltool itstool glib-devel gettext automake
+ mate-common autoconf-archive"
+makedepends="gtk+3-devel libxml2-devel libglib-devel libsoup3-devel"
 depends="dconf"
 short_desc="Provides access to weather information from the Internet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,11 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/libmateweather/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/libmateweather-${version}.tar.xz"
-checksum=5e6cd24418847cb45acf17da5b435a7131cb4ec2acff68e828f342a1bf13ef4a
+checksum=554373deb5b393b9d84b275dd2ca66c9a4a2d0e6ec92044fab8aa53e3032d2b5
+
+pre_configure() {
+	autoreconf -fi
+}
 
 libmateweather-devel_package() {
 	short_desc+=" - development files"

From a7cc85dc9be8a560191dcbffb3da403d3946fc37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 09/33] marco: update to 1.28.1.

---
 srcpkgs/marco/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/marco/template b/srcpkgs/marco/template
index 8323c01f9dcbee..bc7b8578f23f93 100644
--- a/srcpkgs/marco/template
+++ b/srcpkgs/marco/template
@@ -1,12 +1,13 @@
 # Template file for 'marco'
 pkgname=marco
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --enable-startup-notification --disable-schemas-compile"
-hostmakedepends="gdk-pixbuf-devel zenity pkg-config itstool intltool"
-makedepends="libXt-devel libcanberra-devel libgtop-devel
- libnotify-devel mate-desktop-devel libXpresent-devel libXres-devel"
+build_style=meson
+hostmakedepends="gdk-pixbuf-devel zenity pkg-config gettext glib-devel"
+makedepends="libcanberra-devel libgtop-devel libSM-devel libXcursor-devel
+ startup-notification-devel libX11-devel pango-devel gtk+3-devel libglib-devel
+ libXcomposite-devel libXrender-devel libXrandr-devel libXinerama-devel
+ mate-desktop-devel libXpresent-devel libXres-devel"
 depends="zenity"
 short_desc="Window manager for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/marco/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/marco-${version}.tar.xz"
-checksum=12f1a254fe1072f0304884711e089a5682780a011593402ed38de6b9480e07a3
+checksum=2496e5e40ee980cd6849493ac3e0f8fd0dec8b81c674da8d9ba19a577f0ac2e1
+make_check=no # timeout
 
 libmarco_package() {
 	short_desc+=" - runtime library"

From 40d42f18cc6be951b292e82c9af5f7fd3ded66fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 10/33] mate-applets: update to 1.28.0.

---
 srcpkgs/mate-applets/template | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-applets/template b/srcpkgs/mate-applets/template
index bd7eb085bfafda..8997ce928ac9c6 100644
--- a/srcpkgs/mate-applets/template
+++ b/srcpkgs/mate-applets/template
@@ -1,14 +1,15 @@
 # Template file for 'mate-applets'
 pkgname=mate-applets
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --enable-ipv6"
-hostmakedepends="glib-devel intltool itstool libxslt pkg-config polkit"
-makedepends="NetworkManager-devel gtksourceview-devel libSM-devel libgtop-devel
+configure_args="--disable-static --enable-ipv6 --libexecdir=/usr/libexec/mate"
+hostmakedepends="glib-devel itstool intltool pkg-config polkit libxml2"
+makedepends="gtksourceview4-devel libgtop-devel xorgproto
+ libglib-devel gtk+3-devel dbus-glib-devel gucharmap-devel libxml2-devel
  libmate-panel-devel libmateweather-devel libnotify-devel libwnck-devel
  mate-desktop-devel mate-icon-theme mate-settings-daemon-devel polkit-devel
- upower-devel wireless_tools-devel libnl3-devel"
+ upower-devel libnl3-devel"
 depends="mate-icon-theme"
 short_desc="Applets for MATE panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +17,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-applets/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=3ab8f61db376dc333ce4c18722c63a07fab3e8e1272b7e0e097ad4597b17c2c2
+checksum=1b6bef6bd5d326fb9dc828ff910e4b1b9294b4660c311dc1c90310fd9c356686
 replaces="mate-applets-data>=0"
 
 case "$XBPS_TARGET_MACHINE" in

From 4af58d39277f21b03cd36059bbc6f0f8f68f7f69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 11/33] mate-backgrounds: update to 1.28.0.

---
 srcpkgs/mate-backgrounds/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-backgrounds/template b/srcpkgs/mate-backgrounds/template
index c33b9cb4db5c4b..7a3ac235ed6ca3 100644
--- a/srcpkgs/mate-backgrounds/template
+++ b/srcpkgs/mate-backgrounds/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-backgrounds'
 pkgname=mate-backgrounds
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool"
+hostmakedepends="pkg-config gettext"
 short_desc="Background images and data for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-backgrounds/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=0dc9127224ae1573301cfa0aaa6c6262827072d2bf6e5c67c9e1aae19f85e90c
+checksum=50d1afd02486bd07ac22a5a6b6efa3031148f0d48a82e488d909ad57003a6943

From bcda2b10efc450f5bd8cc028f8b3b3854d2a99c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 12/33] mate-calc: update to 1.28.0.

---
 srcpkgs/mate-calc/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-calc/template b/srcpkgs/mate-calc/template
index e45ee7e9c3383f..188a8b06138809 100644
--- a/srcpkgs/mate-calc/template
+++ b/srcpkgs/mate-calc/template
@@ -1,14 +1,14 @@
 # Template file for 'mate-calc'
 pkgname=mate-calc
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="gtk+3-devel mpfr-devel libmpc-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="gtk+3-devel libglib-devel mpfr-devel libmpc-devel libxml2-devel"
 short_desc="MATE Calculator"
 maintainer="Álvaro Castillo <midgoon@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org/"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-calc/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=7eb826801dda5d7b070e41d9e831df2ad24459be6c96fe9c0506c21e1374ad55
+checksum=804b125d1e2864b1e74af816da9b2ab8b19472b9af974437ee7355ada5e628f5

From 47cee3dbf21d5ab8b2aaa44968538280e3b18c87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 13/33] mate-control-center: update to 1.28.0.

---
 srcpkgs/libmate-control-center       |  1 -
 srcpkgs/libmate-control-center-devel |  1 -
 srcpkgs/mate-control-center/template | 37 +++++++++++-----------------
 3 files changed, 14 insertions(+), 25 deletions(-)
 delete mode 120000 srcpkgs/libmate-control-center
 delete mode 120000 srcpkgs/libmate-control-center-devel

diff --git a/srcpkgs/libmate-control-center b/srcpkgs/libmate-control-center
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/libmate-control-center-devel b/srcpkgs/libmate-control-center-devel
deleted file mode 120000
index 45e42050de6bfc..00000000000000
--- a/srcpkgs/libmate-control-center-devel
+++ /dev/null
@@ -1 +0,0 @@
-mate-control-center
\ No newline at end of file
diff --git a/srcpkgs/mate-control-center/template b/srcpkgs/mate-control-center/template
index bcd986ab0c8fa5..deacca44348409 100644
--- a/srcpkgs/mate-control-center/template
+++ b/srcpkgs/mate-control-center/template
@@ -1,13 +1,16 @@
 # Template file for 'mate-control-center'
 pkgname=mate-control-center
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --disable-update-mimedb"
-hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel intltool itstool pkg-config"
+configure_args="--disable-static --disable-schemas-compile
+ --disable-update-mimedb"
+hostmakedepends="dbus-glib-devel desktop-file-utils glib-devel itstool
+ pkg-config gettext"
 makedepends="dbus-glib-devel desktop-file-utils libXScrnSaver-devel libXt-devel
- libcanberra-devel libgtop-devel libmarco-devel
+ libcanberra-devel libgtop-devel libmarco-devel udisks2-devel elogind-devel
  libmatekbd-devel librsvg-devel mate-desktop-devel mate-menus-devel
+ libayatana-appindicator-devel libxml2-devel dconf-devel accountsservice-devel
  mate-settings-daemon-devel polkit-devel"
 depends="marco mate-icon-theme mate-settings-daemon"
 short_desc="Control Center for MATE"
@@ -16,25 +19,13 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-control-center/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-control-center-${version}.tar.xz"
-checksum=e05f492a3b657aa56fc58f7cf71bc8c80df8e25351fde4db4f523ab8db5b5608
+checksum=ebf2c704fd5248dc2f9836ff29028869ef29d5054907cc615734b6383a7914bc
+replaces="libmate-control-center<=1.27.0_1 libmate-control-center-devel<=1.27.0_1"
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
-}
-
-libmate-control-center_package() {
-	short_desc+=" - runtime library"
-	pkg_install() {
-		vmove usr/lib/*.so.*
-	}
+pre_configure() {
+	sed -i 's/"systemd/"libsystemd/' configure
 }
 
-libmate-control-center-devel_package() {
-	short_desc+=" - development files"
-	depends="librsvg-devel mate-desktop-devel mate-menus-devel ${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/include
-		vmove usr/lib/*.so
-		vmove usr/lib/pkgconfig
-	}
+post_install() {
+	rm -f ${DESTDIR}/usr/share/applications/mimeinfo.cache
 }

From f52bde99da1e3349657207b739247564f7a9fd43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 14/33] mate-desktop: update to 1.28.1.

---
 srcpkgs/mate-desktop/template | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-desktop/template b/srcpkgs/mate-desktop/template
index 5a032d00e3cfc8..56462474a9fae1 100644
--- a/srcpkgs/mate-desktop/template
+++ b/srcpkgs/mate-desktop/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-desktop'
 pkgname=mate-desktop
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
+build_style=meson
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile $(vopt_enable gir introspection)"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils"
-makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel"
+configure_args="$(vopt_bool gir introspection) -Dstartup-notification=enabled"
+hostmakedepends="pkg-config gettext glib-devel librsvg-utils iso-codes"
+makedepends="gtk+3-devel dconf-devel libXrandr-devel startup-notification-devel
+ iso-codes gdk-pixbuf-devel libglib-devel"
 depends="dconf hicolor-icon-theme dejavu-fonts-ttf"
 short_desc="Library with common API for various MATE modules"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +15,8 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-desktop/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-desktop-${version}.tar.xz"
-checksum=5ed03f7c52d7b7ece49ca1e736aa766aefeb5c639eab3e68c7090c530d02376a
+checksum=71ed1bcf775e2cbba4d80a73c33c795d3864e6ce429a37eed875885ac86b206e
+make_check=no # only abi check, failure
 
 # Package build options
 build_options="gir"
@@ -27,7 +29,6 @@ mate-desktop-devel_package() {
 		vmove usr/include
 		vmove usr/lib/*.so
 		vmove usr/lib/pkgconfig
-		vmove usr/share/gtk-doc
 		if [ "$build_option_gir" ]; then
 			vmove usr/share/gir-1.0
 		fi

From 3056f15f0d2a5b7539985144ad03c0b3cd570d0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:27 +0700
Subject: [PATCH 15/33] mate-icon-theme: update to 1.28.0.

---
 srcpkgs/mate-icon-theme/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-icon-theme/template b/srcpkgs/mate-icon-theme/template
index 42973b71275c24..b5735d5c8f981e 100644
--- a/srcpkgs/mate-icon-theme/template
+++ b/srcpkgs/mate-icon-theme/template
@@ -1,10 +1,9 @@
 # Template file for 'mate-icon-theme'
 pkgname=mate-icon-theme
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
-hostmakedepends="pkg-config intltool itstool icon-naming-utils"
-makedepends="icon-naming-utils"
+hostmakedepends="pkg-config gettext icon-naming-utils"
 depends="gtk-update-icon-cache hicolor-icon-theme"
 short_desc="MATE icon theme"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,8 +11,8 @@ license="CC-BY-SA-3.0"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-icon-theme/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=41f50436d57f425e54fd9557541be77fb291e03aacd55f7991c042e84a290a5a
+checksum=94d6079060ca5df74542921de4eea38b7d02d07561c919356d95de876f9a6d3a
 
-post_install() {
-	rm -f ${DESTDIR}/usr/share/icons/mate/icon-theme.cache
+pre_configure() {
+	PKG_CONFIG=/usr/bin/pkg-config
 }

From 130bda1e7de0ae937ed67dc2e645cfb4132e9deb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 16/33] mate-indicator-applet: update to 1.28.0.

---
 srcpkgs/mate-indicator-applet/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-indicator-applet/template b/srcpkgs/mate-indicator-applet/template
index e3331d8afdebac..9b9904a76e7c24 100644
--- a/srcpkgs/mate-indicator-applet/template
+++ b/srcpkgs/mate-indicator-applet/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-indicator-applet'
 pkgname=mate-indicator-applet
-version=1.26.0
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 configure_args="--disable-static"
-hostmakedepends="pkg-config gettext intltool"
+hostmakedepends="pkg-config gettext"
 makedepends="gtk+3-devel libX11-devel libmate-panel-devel
  libayatana-indicator-devel"
 short_desc="MATE applet to display information from various applications"
@@ -13,4 +13,4 @@ license="GPL-3.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-indicator-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=e4fbfbede0e58ff7503ead66a3e044ca0f3411a4fd9b552d66e2293a5c828e90
+checksum=ceb3d703970a3e558d7cd7df0b1c2171e3af752a25495aced2e222c1e9ad49cd

From 9a38ea3e5f17a064f5e96bad58ab5a6d7508bb1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 17/33] mate-media: update to 1.28.1.

---
 srcpkgs/mate-media/template | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-media/template b/srcpkgs/mate-media/template
index e6bbb7edbca73d..63c3e58488e16d 100644
--- a/srcpkgs/mate-media/template
+++ b/srcpkgs/mate-media/template
@@ -1,11 +1,13 @@
 # Template file for 'mate-media'
 pkgname=mate-media
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool glib-devel"
-makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel"
+build_style=meson
+configure_args="-Dwayland=$(vopt_if wayland yes no) $(vopt_bool wayland in-process)"
+hostmakedepends="pkg-config gettext glib-devel $(vopt_if wayland wayland-devel)"
+makedepends="libcanberra-devel mate-desktop-devel libmatemixer-devel libmate-panel-devel
+ gtk+3-devel libglib-devel libxml2-devel
+ $(vopt_if wayland 'gtk-layer-shell-devel wayland-devel')"
 depends="sound-theme-freedesktop"
 short_desc="MATE Media Tools"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +15,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-media/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-media-${version}.tar.xz"
-checksum=af46639574cc388513089ca10bb141ffc3e6d1ac33e730e4208db5759642850f
+checksum=bcdc102e22f63f55e63166d5c708e91c113570e6a30a874345a88609e83a9912
+
+build_options="wayland"
+build_options_default="wayland"

From a10d6f2432fbfd05b5158a8283d6164c03277d63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 18/33] mate-menus: update to 1.28.0.

---
 srcpkgs/mate-menus/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-menus/template b/srcpkgs/mate-menus/template
index 8f06681ccafcae..29b5e1f5f08c0b 100644
--- a/srcpkgs/mate-menus/template
+++ b/srcpkgs/mate-menus/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-menus'
 pkgname=mate-menus
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
@@ -13,7 +13,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-menus/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-menus-${version}.tar.xz"
-checksum=458d599ae5b650c7d21740f9fe954c4a838be45ed62ab40e20e306faf5dd1d8c
+checksum=cf40c75c7d6f0aad1d4969828fc62025c6222bc6a84f0bb9d6ead7e45970508d
 
 build_options="gir"
 build_options_default="gir"

From 77deb9f3abfc812eac285afd7b7a60b06cf4b71b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 19/33] mate-notification-daemon: update to 1.28.0.

---
 srcpkgs/mate-notification-daemon/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/mate-notification-daemon/template b/srcpkgs/mate-notification-daemon/template
index 1268553d9f2b8e..179484c6ae6a67 100644
--- a/srcpkgs/mate-notification-daemon/template
+++ b/srcpkgs/mate-notification-daemon/template
@@ -1,10 +1,10 @@
 # Template file for 'mate-notification-daemon'
 pkgname=mate-notification-daemon
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --disable-schemas-compile --enable-wayland"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel libxml2"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel libxml2"
 makedepends="libnotify-devel dbus-glib-devel libwnck-devel libcanberra-devel
  mate-desktop-devel libmate-panel-devel gtk-layer-shell-devel"
 depends="dconf hicolor-icon-theme desktop-file-utils"
@@ -14,4 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-notification-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-notification-daemon-${version}.tar.xz"
-checksum=0eae9296c48a3c71fd56f1931961f92d29e45a045fe5f1a05f83c7400c319924
+checksum=a4310348ead866cbcb9b4c463f4d265cc6a96a1a782a9411a08b23bd65dbb2e0

From 0bdc85e8b362f9cd787277148c075a688592c27d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 20/33] mate-panel: update to 1.28.0.

---
 srcpkgs/mate-panel/template | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/mate-panel/template b/srcpkgs/mate-panel/template
index 872c9d41b54256..a378708267464d 100644
--- a/srcpkgs/mate-panel/template
+++ b/srcpkgs/mate-panel/template
@@ -1,27 +1,30 @@
 # Template file for 'mate-panel'
 pkgname=mate-panel
-version=1.26.4
+version=1.28.0
 revision=1
 build_style=gnu-configure
 build_helper="gir"
-configure_args="--disable-static --disable-schemas-compile --enable-wayland
+configure_args="--disable-static --disable-schemas-compile
+ --libexecdir=/usr/libexec/mate
+ $(vopt_enable wayland)
  $(vopt_enable gir introspection)"
 hostmakedepends="glib-devel intltool itstool pkg-config
- $(vopt_if gir 'gobject-introspection')"
+ $(vopt_if wayland wayland-devel) $(vopt_if gir 'gobject-introspection')"
 makedepends="dbus-glib-devel libSM-devel libcaja-devel libcanberra-devel
  libmarco-devel libmateweather-devel librsvg-devel libwnck-devel
- mate-desktop-devel mate-menus-devel wayland-devel gtk-layer-shell-devel"
-depends="caja marco mate-session-manager"
+ mate-desktop-devel mate-menus-devel
+ $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
+depends="caja marco mate-session-manager dconf-editor"
 short_desc="MATE Panel"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-panel/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-panel-${version}.tar.xz"
-checksum=2070f9d515657e5ddcda0d87ef729713dba9cb7b2ad06223bd674a21cc6b3daf
+checksum=b3bd04a094d0eb5bd7dc3380ef6f0c49d9a9d5209733d7ccd7b46d066a208cba
 
-build_options="gir"
-build_options_default="gir"
+build_options="gir wayland"
+build_options_default="gir wayland"
 
 libmate-panel_package() {
 	short_desc+=" - runtime library"

From 31d33c5c45840f4675f0b4fc83227839e929c225 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 21/33] mate-polkit: update to 1.28.1.

---
 srcpkgs/mate-polkit/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-polkit/template b/srcpkgs/mate-polkit/template
index 2b280357154190..706b2d03f17e88 100644
--- a/srcpkgs/mate-polkit/template
+++ b/srcpkgs/mate-polkit/template
@@ -1,15 +1,14 @@
 # Template file for 'mate-polkit'
 pkgname=mate-polkit
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static"
-hostmakedepends="pkg-config intltool"
-makedepends="gtk+3-devel polkit-devel"
+build_style=meson
+hostmakedepends="pkg-config gettext"
+makedepends="gtk+3-devel libglib-devel polkit-devel"
 short_desc="PolicyKit integration for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-polkit/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-polkit-${version}.tar.xz"
-checksum=f5b7b0b5dfc53302c40403245998eb9121af3f50e71666a09ab73bb254520357
+checksum=350a1dd0a8ed6a2c9c183cff2a21f394299e968fcc6ae2e8c93c565dae604ae8

From 19bf385fa098136da6398662b137cc599cedd9f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 22/33] mate-power-manager: update to 1.28.1.

---
 srcpkgs/mate-power-manager/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-power-manager/template b/srcpkgs/mate-power-manager/template
index d405fbd4861f53..1955a2f495ba93 100644
--- a/srcpkgs/mate-power-manager/template
+++ b/srcpkgs/mate-power-manager/template
@@ -1,17 +1,19 @@
 # Template file for 'mate-power-manager'
 pkgname=mate-power-manager
-version=1.26.1
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool libtool glib-devel dbus-glib-devel polkit"
-makedepends="libcanberra-devel libgnome-keyring-devel libmate-panel-devel
- libnotify-devel upower-devel libsecret-devel"
+build_style=meson
+hostmakedepends="pkg-config itstool gettext glib-devel dbus-glib-devel polkit"
+makedepends="libcanberra-devel libmate-panel-devel gtk+3-devel libglib-devel
+ libXrandr-devel xorgproto libX11-devel libXext-devel dbus-devel dbus-glib-devel
+ cairo-devel libnotify-devel upower-devel libsecret-devel mate-desktop-devel"
 depends="dconf upower"
+checkdepends="xvfb-run"
 short_desc="Power management tool for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-power-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-power-manager-${version}.tar.xz"
-checksum=20cd9d22ed04babf98bb50e71a0ec5d78a8a476287723278f87da76cabfb1042
+checksum=8ebdcb74b607e868336ba9a8146cdef8f97bce535c2b0cb3bf650c58f71eee21
+make_check_pre="xvfb-run"

From f519dfea9a5b12a5643d0a3e2404e5e55d0249c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 23/33] mate-screensaver: update to 1.28.0.

---
 srcpkgs/mate-screensaver/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-screensaver/template b/srcpkgs/mate-screensaver/template
index 794904b229ab88..961b0f47283364 100644
--- a/srcpkgs/mate-screensaver/template
+++ b/srcpkgs/mate-screensaver/template
@@ -1,13 +1,13 @@
 # Template file for 'mate-screensaver'
 pkgname=mate-screensaver
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--without-console-kit --without-systemd --with-elogind"
-hostmakedepends="pkg-config intltool itstool glib-devel"
+hostmakedepends="pkg-config gettext itstool glib-devel"
 makedepends="dbus-glib-devel libnotify-devel libXScrnSaver-devel
  libmatekbd-devel mate-menus-devel mate-desktop-devel pam-devel
-elogind-devel"
+ elogind-devel"
 depends="mate-desktop mate-session-manager"
 short_desc="Screensaver for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -15,7 +15,7 @@ license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-screensaver/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-screensaver-${version}.tar.xz"
-checksum=da9700ce24145bd55d24927eecfe6d31d0a52eae86e563b2c65054b356a5ff7e
+checksum=6a0f24a8f84a2f95e10114ab53e63fd4aca688a55fdc503ed650e0a410e3ea70
 
 post_install() {
 	vinstall ${FILESDIR}/${pkgname}.pam 644 etc/pam.d ${pkgname}

From 1f252841e9f4a4c270a5cfde74cd0657e8e8a395 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:28 +0700
Subject: [PATCH 24/33] mate-sensors-applet: update to 1.28.0.

---
 srcpkgs/mate-sensors-applet/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mate-sensors-applet/template b/srcpkgs/mate-sensors-applet/template
index 3ddf97ba9b230c..7025a370f252da 100644
--- a/srcpkgs/mate-sensors-applet/template
+++ b/srcpkgs/mate-sensors-applet/template
@@ -1,12 +1,13 @@
 # Template file for 'mate-sensors-applet'
 pkgname=mate-sensors-applet
-version=1.26.0
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-schemas-compile --disable-static"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool libxslt pkg-config"
-makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel
- libnotify-devel libsensors-devel"
+hostmakedepends="dbus-glib-devel glib-devel itstool gettext libxml2 libxslt
+ pkg-config"
+makedepends="dbus-glib-devel libatasmart-devel libmate-panel-devel cairo-devel
+ libnotify-devel libsensors-devel libglib-devel"
 depends="dconf"
 short_desc="Sensors applet for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,4 +15,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-sensors-applet/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/${pkgname}-${version}.tar.xz"
-checksum=4c437c3ff04488543e2cf0c4627fe265c48b4ad8f4946fd9de9845edc0c82968
+checksum=d465366682af8feb8618283c9789e8b70db6fd17ca8fa950ac6f710102315a81

From 4dc62f031f6cfa06b806971db5b5677f0fabc653 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 25/33] mate-session-manager: update to 1.28.0.

---
 srcpkgs/mate-session-manager/template | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-session-manager/template b/srcpkgs/mate-session-manager/template
index 31c4ab6a7264c4..8bef2d0d53bea6 100644
--- a/srcpkgs/mate-session-manager/template
+++ b/srcpkgs/mate-session-manager/template
@@ -1,15 +1,17 @@
 # Template file for 'mate-session-manager'
 pkgname=mate-session-manager
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
 configure_args="--disable-static --with-elogind --without-systemd"
-hostmakedepends="pkg-config intltool glib-devel dbus-glib-devel elogind-devel"
-makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel"
+hostmakedepends="pkg-config gettext glib-devel dbus-glib-devel elogind-devel"
+makedepends="gtk+3-devel dbus-glib-devel libSM-devel libXtst-devel
+ libX11-devel libSM-devel libICE-devel libXext-devel libXau-devel
+ libXcomposite-devel libglvnd-devel libglib-devel libepoxy-devel xtrans"
 short_desc="MATE Session Manager"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-session-manager/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-session-manager-${version}.tar.xz"
-checksum=5b8c7d6441fd9c293c863882ab67a7493c53cdf64eab27c094575f423ebd4278
+checksum=d32ce4595ba1da65290777203f2bc82bd973b214a3a04080a1ef5c68990a2d7b

From 31d1b4037f9a035cbf8441a8c964301bc30b6e53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 26/33] mate-settings-daemon: update to 1.28.0.

---
 srcpkgs/mate-settings-daemon/template | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/mate-settings-daemon/template b/srcpkgs/mate-settings-daemon/template
index 5fe930198a59c8..b983e69f21d575 100644
--- a/srcpkgs/mate-settings-daemon/template
+++ b/srcpkgs/mate-settings-daemon/template
@@ -1,20 +1,22 @@
 # Template file for 'mate-settings-daemon'
 pkgname=mate-settings-daemon
-version=1.26.1
-revision=3
+version=1.28.0
+revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile --enable-polkit --enable-pulse"
-hostmakedepends="dbus-glib-devel glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel libXt-devel libcanberra-devel
+configure_args="--disable-static --disable-schemas-compile --enable-polkit
+ --enable-pulse"
+hostmakedepends="dbus-glib-devel glib-devel gettext pkg-config polkit"
+makedepends="dbus-glib-devel libXt-devel libcanberra-devel dconf-devel
  libmatekbd-devel libmatemixer-devel libnotify-devel mate-desktop-devel nss-devel
- polkit-devel"
+ at-spi2-core-devel libXext-devel libX11-devel libXi-devel fontconfig-devel
+ xorgproto pulseaudio-devel polkit-devel"
 short_desc="MATE Settings daemon (pulseaudio)"
 maintainer="skmpz <dem.procopiou@gmail.com>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-settings-daemon/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-settings-daemon-${version}.tar.xz"
-checksum=697ea65b542921c2b766145292d268d3009cc2da8316d2a7869869055e4b1859
+checksum=4ed7cdadaaa4c99efffc0282b8411703bb76e072c41c4b57989f8c5b40611a3a
 
 mate-settings-daemon-devel_package() {
 	depends="${sourcepkg}-${version}_${revision} dbus-glib-devel"

From c499e4f6e0e6e4f8015a61abe821f1b3440fba4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 27/33] mate-system-monitor: update to 1.28.1.

---
 srcpkgs/mate-system-monitor/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-system-monitor/template b/srcpkgs/mate-system-monitor/template
index a699f4afceeba2..4118400ecb7809 100644
--- a/srcpkgs/mate-system-monitor/template
+++ b/srcpkgs/mate-system-monitor/template
@@ -1,11 +1,11 @@
 # Template file for 'mate-system-monitor'
 pkgname=mate-system-monitor
-version=1.26.2
+version=1.28.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="glib-devel intltool itstool pkg-config polkit"
-makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel libwnck-devel"
+build_style=meson
+hostmakedepends="glib-devel gettext itstool pkg-config polkit"
+makedepends="dbus-glib-devel gtkmm-devel libgtop-devel librsvg-devel
+ elogind-devel gtk+3-devel libglib-devel libxml2-devel"
 depends="dbus mate-icon-theme"
 short_desc="MATE system monitor"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -13,4 +13,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-system-monitor/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-system-monitor-${version}.tar.xz"
-checksum=be6d97dec68f5f36bde12f8acaf1ac5642d239a5d24161a82fff5064f4502544
+checksum=42d663d6b90fb5361ebc13f6547983d6f1e2ac75dc2ae4f1cac6ea6329965a25

From 00fa79ff26d32341d59719628028f21695802bbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 28/33] mate-terminal: update to 1.28.1.

---
 srcpkgs/mate-terminal/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/mate-terminal/template b/srcpkgs/mate-terminal/template
index f6a2aea7c3531d..0ab31df53d1ca8 100644
--- a/srcpkgs/mate-terminal/template
+++ b/srcpkgs/mate-terminal/template
@@ -1,10 +1,11 @@
 # Template file for 'mate-terminal'
 pkgname=mate-terminal
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-hostmakedepends="glib-devel intltool itstool pkg-config"
-makedepends="libSM-devel vte3-devel dconf-devel"
+hostmakedepends="glib-devel itstool gettext pkg-config libxml2"
+makedepends="libSM-devel vte3-devel dconf-devel libglib-devel gtk+3-devel
+ libICE-devel"
 depends="dbus mate-desktop"
 short_desc="MATE Terminal Emulator"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -12,4 +13,4 @@ license="GPL-3.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-terminal/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-terminal-${version}.tar.xz"
-checksum=7c130206f0b47887e8c9274e73f8c19fae511134572869a7c23111b789e1e1d0
+checksum=f135eb1a9e2ae22798ecb2dc1914fdb4cfd774e6bb65c0152be37cc6c9469e92

From 5766d716ded51f7c5eac6285e25a2294ab8f1e18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 29/33] mate-user-guide: update to 1.28.0.

---
 srcpkgs/mate-user-guide/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/mate-user-guide/template b/srcpkgs/mate-user-guide/template
index 65b0f400d6819d..02500cfbe62ba9 100644
--- a/srcpkgs/mate-user-guide/template
+++ b/srcpkgs/mate-user-guide/template
@@ -1,6 +1,6 @@
 # Template file for 'mate-user-guide'
 pkgname=mate-user-guide
-version=1.26.2
+version=1.28.0
 revision=1
 build_style=gnu-configure
 hostmakedepends="pkg-config intltool itstool"
@@ -10,4 +10,4 @@ license="GFDL-1.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-user-guide/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-user-guide-${version}.tar.xz"
-checksum=4d32b6e3564ac8f4eaab2b15482df7f9769750df8811abed837d0a2e7ee3808b
+checksum=53ef0814f506544614ed61ab7be5221cc8d3a9f14f7ef9698c90fe7e46014b9e

From 9f5424c98a8e9fd619c0fe648951bd6361d98dde Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 30/33] mate-utils: update to 1.28.0.

---
 srcpkgs/mate-utils/template | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/mate-utils/template b/srcpkgs/mate-utils/template
index d49e93747baccc..5932d97f3501f1 100644
--- a/srcpkgs/mate-utils/template
+++ b/srcpkgs/mate-utils/template
@@ -1,12 +1,16 @@
 # Template file for 'mate-utils'
 pkgname=mate-utils
-version=1.26.1
+version=1.28.0
 revision=1
 build_style=gnu-configure
-configure_args="--disable-static --disable-schemas-compile"
-hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils inkscape"
-makedepends="gtk+3-devel libSM-devel zlib-devel libcanberra-devel
- libgtop-devel libmate-panel-devel udisks2-devel"
+configure_args="--disable-static --disable-schemas-compile --enable-ipv6
+ GTK_LAYER_SHELL_REQUIRED_VERSION=0 GDK_WAYLAND_REQUIRED_VERSION=0
+ $(vopt_enable wayland) $(vopt_enable wayland in-process)"
+hostmakedepends="pkg-config intltool itstool glib-devel librsvg-utils
+ inkscape libxml2 $(vopt_if wayland wayland-devel)"
+makedepends="gtk+3-devel libSM-devel libICE-devel zlib-devel libcanberra-devel
+ libXext-devel libX11-devel libgtop-devel libmate-panel-devel udisks2-devel
+ mate-desktop-devel $(vopt_if wayland 'wayland-devel gtk-layer-shell-devel')"
 depends="desktop-file-utils"
 short_desc="Common utilities for the MATE desktop"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -14,7 +18,10 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mate-utils/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mate-utils-${version}.tar.xz"
-checksum=2f53475b1a0991dd5a93d9dda58fca4e416f259253586d94a5b1108f12370620
+checksum=58449d7a0d1d900ff03b78ca9f7e98c21e97f47fc26bee7ff1c61834f22f88d3
+
+build_options="wayland"
+build_options_default="wayland"
 
 post_install() {
 	rm -r ${DESTDIR}/usr/include

From 25f16a894fa00ab3688885209d3715460baa897e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 31/33] mozo: update to 1.28.0.

---
 srcpkgs/mozo/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/mozo/template b/srcpkgs/mozo/template
index a01ea928f66881..09e2ff28abbdd2 100644
--- a/srcpkgs/mozo/template
+++ b/srcpkgs/mozo/template
@@ -1,9 +1,9 @@
 # Template file for 'mozo'
 pkgname=mozo
-version=1.26.2
-revision=2
-build_style=gnu-configure
-hostmakedepends="intltool itstool pkg-config"
+version=1.28.0
+revision=1
+build_style=meson
+hostmakedepends="pkg-config gettext"
 makedepends="glib-devel mate-menus-devel python3-gobject-devel"
 depends="desktop-file-utils gtk+3 mate-menus python3-gobject"
 short_desc="MATE menu editing tool"
@@ -12,4 +12,4 @@ license="LGPL-2.1-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/mozo/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/mozo-${version}.tar.xz"
-checksum=472c482e0ef2fb1629e61e17daaa1a487f64392b029849dc9a4082afb38bc9ee
+checksum=fe98984ffd6aa8c36d0594bcefdba03de39b42d41e007251680384f3cef44924

From f2a76503466cee42775568dc356ffe00909e4de5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 32/33] pluma: update to 1.28.0.

---
 srcpkgs/pluma/patches/python-3.12.patch | 41 +++++++++++++++++++++++++
 srcpkgs/pluma/template                  | 12 ++++----
 2 files changed, 47 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/pluma/patches/python-3.12.patch

diff --git a/srcpkgs/pluma/patches/python-3.12.patch b/srcpkgs/pluma/patches/python-3.12.patch
new file mode 100644
index 00000000000000..2f16bb14c45e96
--- /dev/null
+++ b/srcpkgs/pluma/patches/python-3.12.patch
@@ -0,0 +1,41 @@
+diff --git a/plugins/externaltools/tools/library.py b/plugins/externaltools/tools/library.py
+index ed66e26..0eb4e12 100755
+--- a/plugins/externaltools/tools/library.py
++++ b/plugins/externaltools/tools/library.py
+@@ -197,7 +197,7 @@ class ToolDirectory(object):
+ 
+ 
+ class Tool(object):
+-    RE_KEY = re.compile('^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
++    RE_KEY = re.compile(r'^([a-zA-Z_][a-zA-Z0-9_.\-]*)(\[([a-zA-Z_@]+)\])?$')
+ 
+     def __init__(self, parent, filename=None):
+         super(Tool, self).__init__()
+diff --git a/plugins/snippets/snippets/Document.py b/plugins/snippets/snippets/Document.py
+index 1c2960b..65c4b43 100644
+--- a/plugins/snippets/snippets/Document.py
++++ b/plugins/snippets/snippets/Document.py
+@@ -827,8 +827,8 @@ class Document:
+             return components
+ 
+     def relative_path(self, first, second, mime):
+-        prot1 = re.match('(^[a-z]+:\/\/|\/)(.*)', first)
+-        prot2 = re.match('(^[a-z]+:\/\/|\/)(.*)', second)
++        prot1 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', first)
++        prot2 = re.match(r'(^[a-z]+:\/\/|\/)(.*)', second)
+ 
+         if not prot1 or not prot2:
+             return second
+diff --git a/plugins/snippets/snippets/SubstitutionParser.py b/plugins/snippets/snippets/SubstitutionParser.py
+index e6b4647..a03382b 100644
+--- a/plugins/snippets/snippets/SubstitutionParser.py
++++ b/plugins/snippets/snippets/SubstitutionParser.py
+@@ -159,7 +159,7 @@ class SubstitutionParser:
+         return match.group(1), tokens[match.end():]
+ 
+     def _condition_value(self, tokens):
+-        match = re.match('\\\\?%s\s*' % self.REG_GROUP, tokens)
++        match = re.match('\\\\?%s\\s*' % self.REG_GROUP, tokens)
+ 
+         if not match:
+             return None, tokens
diff --git a/srcpkgs/pluma/template b/srcpkgs/pluma/template
index 3c8905b0b43ee0..6a3c237fde663e 100644
--- a/srcpkgs/pluma/template
+++ b/srcpkgs/pluma/template
@@ -1,14 +1,14 @@
 # Template file for 'pluma'
 pkgname=pluma
-version=1.26.1
-revision=2
+version=1.28.0
+revision=1
 build_style=gnu-configure
 build_helper=gir
 pycompile_dirs="usr/lib/pluma/plugins"
-hostmakedepends="python3 python3-setuptools gobject-introspection mate-common
- automake libtool"
+hostmakedepends="python3 python3-setuptools gobject-introspection iso-codes
+ pkg-config itstool glib-devel gettext perl"
 makedepends="enchant2-devel gtksourceview4-devel iso-codes libSM-devel
- libpeas-devel mate-desktop-devel"
+ libpeas-devel mate-desktop-devel gtk+3-devel libglib-devel libICE-devel"
 depends="desktop-file-utils iso-codes zenity mate-desktop"
 short_desc="Powerful text editor for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,7 +16,7 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/pluma/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/pluma-${version}.tar.xz"
-checksum=5959ece3d7118e106659f64d202d0ed1763ad10bbbba5d2acd8cbfba2e3994f1
+checksum=aa8adf9589345093a50e30b27ede4a78a2421d1727c27f465fc87c435965a1d4
 python_version=3
 make_check=no # needs gsettings-schemas and gvfs-mount
 

From b0b40ccb97dc8131273dc0fe32312e11eb8a7437 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
 <congdanhqx@gmail.com>
Date: Mon, 4 Mar 2024 23:44:29 +0700
Subject: [PATCH 33/33] engrampa: update to 1.28.1.

---
 srcpkgs/engrampa/patches/zstd-mime-type.patch | 184 ------------------
 srcpkgs/engrampa/template                     |  16 +-
 2 files changed, 5 insertions(+), 195 deletions(-)
 delete mode 100644 srcpkgs/engrampa/patches/zstd-mime-type.patch

diff --git a/srcpkgs/engrampa/patches/zstd-mime-type.patch b/srcpkgs/engrampa/patches/zstd-mime-type.patch
deleted file mode 100644
index 75e2f5a1629d7f..00000000000000
--- a/srcpkgs/engrampa/patches/zstd-mime-type.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/caja/caja-engrampa.c b/caja/caja-engrampa.c
-index ad89608..d4019ec 100644
---- a/caja/caja-engrampa.c
-+++ b/caja/caja-engrampa.c
-@@ -195,7 +195,8 @@ static struct {
- 		{ "application/x-zip", TRUE },
- 		{ "application/x-zip-compressed", TRUE },
- 		{ "application/x-zoo", TRUE },
--		{ ZSTD_MIME_TYPE, TRUE },
-+		{ "application/zstd", TRUE },
-+		{ "application/x-zstd", TRUE },
- 		{ "application/x-zstd-compressed-tar", TRUE },
- 		{ "application/zip", TRUE },
- 		{ "multipart/x-zip", TRUE },
-diff --git a/configure.ac b/configure.ac
-index 5d03e6b..6305854 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -148,7 +148,6 @@ AC_ARG_ENABLE([magic],
-               AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),,
-               [enable_magic=no])
- 
--zstd_mime_type="application/zstd"
- if test x"$enable_magic" = x"yes" ; then
- 	save_LIBS="$LIBS"
- 	LIBS="$LIBS -lmagic"
-@@ -161,47 +160,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- 		       [AC_MSG_RESULT([no])
- 		        AC_MSG_ERROR([libmagic is needed for magic])])
- 
--	dnl *******************************************
--	dnl This check can be removed with file >= 5.38
--	dnl *******************************************
--	AC_MSG_CHECKING([for zstd mime type])
--	AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
--#include <string.h>
--#include <magic.h>]],
--		[[
--    FILE *fptr;
--    char *test_file = "test.zst";
--    char *default_mime_type = "application/zstd";
--    int status = 0;
--    if ((fptr = fopen (test_file,"wb")) == NULL) {
--        status = 1;
--    } else {
--	const unsigned char data[5] = "\x28\xb5\x2f\xfd\0";
--        int i;
--	for (i = 0; i < strlen (data); i++)
--            fwrite (&data[i], 1, 1, fptr);
--        fclose (fptr);
--        magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE);
--        if (magic_cookie == NULL) {
--            status = 1;
--        } else {
--            if (magic_load (magic_cookie, NULL) != 0) {
--                status = 1;
--            } else {
--                const char *mime = magic_file (magic_cookie, test_file);
--                status = (strcmp (default_mime_type, mime) == 0);
--            }
--            magic_close(magic_cookie);
--        }
--	remove (test_file);
--    }
--    return status;]])],
--		[zstd_mime_type="application/x-zstd"],
--		[zstd_mime_type="application/zstd"]
--	)
--	AC_MSG_RESULT($zstd_mime_type)
--	dnl *******************************************
--
- 	LIBS="$save_LIBS"
- 
- 	MAGIC_CFLAGS=
-@@ -214,9 +172,6 @@ int main () { magic_t m = magic_open(MAGIC_NONE); }
- fi
- 
- AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no")
--ZSTD_MIME_TYPE="$zstd_mime_type"
--AC_SUBST(ZSTD_MIME_TYPE)
--AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type])
- 
- AC_ARG_VAR([CPIO], [Path to the `cpio` command])
- AC_PATH_PROGS(CPIO, gcpio cpio, cpio)
-diff --git a/data/engrampa.desktop.in.in b/data/engrampa.desktop.in.in
-index c23c8ab..6d8c511 100644
---- a/data/engrampa.desktop.in.in
-+++ b/data/engrampa.desktop.in.in
-@@ -11,7 +11,7 @@ Type=Application
- Icon=engrampa
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Categories=GTK;Utility;Archiving;Compression;
--MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;@ZSTD_MIME_TYPE@;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
-+MimeType=application/epub+zip;application/x-7z-compressed;application/x-7z-compressed-tar;application/x-ace;application/x-alz;application/x-arc;application/x-arj;application/x-brotli;application/x-brotli-compressed-tar;application/x-bzip;application/x-bzip-compressed-tar;application/x-bzip1;application/x-bzip1-compressed-tar;application/x-cabinet;application/x-cbr;application/x-cbz;application/x-cd-image;application/x-compress;application/x-compressed-tar;application/x-cpio;application/vnd.debian.binary-package;application/x-ear;application/x-ms-dos-executable;application/x-gtar;application/x-gzip;application/x-gzpostscript;application/x-java-archive;application/x-lha;application/x-lzh-compressed;application/x-lrzip;application/x-lrzip-compressed-tar;application/x-lzip;application/x-lzip-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-ms-wim;application/x-rar;application/x-rar-compressed;application/x-rpm;application/x-source-rpm;application/x-rzip;application/x-tar;application/x-tarz;application/x-stuffit;application/x-war;application/x-xz;application/x-xz-compressed-tar;application/x-zip;application/x-zip-compressed;application/x-zoo;application/zstd;application/x-zstd;application/x-zstd-compressed-tar;application/zip;application/x-archive;application/vnd.ms-cab-compressed;
- # Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
- Keywords=MATE;archive;manager;compression;
- X-MATE-DocPath=engrampa/engrampa.xml
-diff --git a/src/fr-command-cfile.c b/src/fr-command-cfile.c
-index a914abe..93f641f 100644
---- a/src/fr-command-cfile.c
-+++ b/src/fr-command-cfile.c
-@@ -301,7 +301,8 @@ fr_command_cfile_add (FrCommand     *comm,
- 		compressed_filename = g_strconcat (filename, ".rz", NULL);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_set_working_dir (comm->process, temp_dir);
- 		fr_process_add_arg (comm->process, filename);
-@@ -446,7 +447,8 @@ fr_command_cfile_extract (FrCommand  *comm,
- 		fr_process_end_command (comm->process);
- 	}
- 
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		fr_process_begin_command (comm->process, "zstd");
- 		fr_process_add_arg (comm->process, "-f");
- 		fr_process_add_arg (comm->process, "-d");
-@@ -515,7 +517,8 @@ fr_command_cfile_test (FrCommand   *comm)
- 	else if (is_mime_type (comm->mime_type, "application/x-lzop")) {
- 		compress_cmd = "lzop";
- 	}
--	else if (is_mime_type (comm->mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (comm->mime_type, "application/zstd")
-+		 || is_mime_type (comm->mime_type, "application/x-zstd")) {
- 		compress_cmd = "zstd";
- 		fr_process_begin_command (comm->process, compress_cmd);
- 		fr_process_add_arg (comm->process, "-v");
-@@ -542,7 +545,8 @@ const char *cfile_mime_type[] = { "application/x-gzip",
- 				  "application/x-lzop",
- 				  "application/x-rzip",
- 				  "application/x-xz",
--				  ZSTD_MIME_TYPE,
-+				  "application/zstd",
-+				  "application/x-zstd",
- 				  NULL };
- 
- 
-@@ -599,7 +603,8 @@ fr_command_cfile_get_capabilities (FrCommand  *comm,
- 		if (is_program_available ("rzip", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE)) {
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd")) {
- 		if (is_program_available ("zstd", check_command))
- 			capabilities |= FR_COMMAND_CAN_READ_WRITE;
- 	}
-@@ -642,7 +647,8 @@ fr_command_cfile_get_packages (FrCommand  *comm,
- 		return PACKAGES ("lzop");
- 	else if (is_mime_type (mime_type, "application/x-rzip"))
- 		return PACKAGES ("rzip");
--	else if (is_mime_type (mime_type, ZSTD_MIME_TYPE))
-+	else if (is_mime_type (mime_type, "application/zstd")
-+		 || is_mime_type (mime_type, "application/x-zstd"))
- 		return PACKAGES ("zstd");
- 
- 	return NULL;
-diff --git a/src/fr-init.c b/src/fr-init.c
-index 7d7b313..57dfc40 100644
---- a/src/fr-init.c
-+++ b/src/fr-init.c
-@@ -110,7 +110,8 @@ FrMimeTypeDescription mime_type_desc[] = {
- 	{ "application/x-xz",                                         ".xz",       N_("Xz compressed file"), 0 },
- 	{ "application/x-xz-compressed-tar",                          ".tar.xz",   N_("Tar compressed with xz"), 0 },
- 	{ "application/x-zoo",                                        ".zoo",      N_("Zoo"), 0 },
--	{ ZSTD_MIME_TYPE,                                             ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/zstd",                                         ".zst",      N_("Zstandard compressed file"), 0 },
-+	{ "application/x-zstd",                                       ".zst",      N_("Zstandard compressed file"), 0 },
- 	{ "application/x-zstd-compressed-tar",                        ".tar.zst",  N_("Tar compressed with zstd"), 0 },
- 	{ "application/zip",                                          ".zip",      N_("Zip"), 0 },
- 	{ NULL, NULL, NULL, 0 }
-@@ -185,7 +186,7 @@ FrExtensionType file_ext_type[] = {
- 	{ ".Z", "application/x-compress" },
- 	{ ".zip", "application/zip" },
- 	{ ".zoo", "application/x-zoo" },
--	{ ".zst", ZSTD_MIME_TYPE },
-+	{ ".zst", "application/zstd" },
- 	{ NULL, NULL }
- };
- 
diff --git a/srcpkgs/engrampa/template b/srcpkgs/engrampa/template
index b99fb16a0032cb..38a4e2a1c00c3c 100644
--- a/srcpkgs/engrampa/template
+++ b/srcpkgs/engrampa/template
@@ -1,14 +1,12 @@
 # Template file for 'engrampa'
 pkgname=engrampa
-version=1.26.1
+version=1.28.1
 revision=1
 build_style=gnu-configure
-configure_args="--enable-magic --disable-schemas-compile --disable-packagekit
- --disable-static"
-hostmakedepends="glib-devel intltool itstool pkg-config cpio automake
- gettext-devel tar libtool mate-common autoconf-archive"
+configure_args="--enable-magic --disable-packagekit CPIO=/usr/bin/cpio"
+hostmakedepends="glib-devel intltool itstool pkg-config gettext"
 makedepends="file-devel gtk+3-devel json-glib-devel libSM-devel libarchive-devel
- libcaja-devel"
+ libcaja-devel libglib-devel libICE-devel"
 depends="desktop-file-utils cpio"
 short_desc="Archive manipulator for MATE"
 maintainer="skmpz <dem.procopiou@gmail.com>"
@@ -16,8 +14,4 @@ license="GPL-2.0-or-later"
 homepage="https://mate-desktop.org"
 changelog="https://raw.githubusercontent.com/mate-desktop/engrampa/master/NEWS"
 distfiles="https://pub.mate-desktop.org/releases/${version%.*}/engrampa-${version}.tar.xz"
-checksum=f0224107a7a4e9ea6309c9e78aa5faac802c4cf72a49ac283aa9e7ae1e8a6c4a
-
-pre_configure() {
-	autoreconf -fi
-}
+checksum=9c5c4c9bcf8b08eeaa8f275538d24b4c955089d58aec0331e89c02b84d85386a

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Merged]: Mate 1.28
  2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
                   ` (5 preceding siblings ...)
  2024-03-09  0:44 ` sgn
@ 2024-03-09  4:04 ` sgn
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2024-03-09  4:04 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

There's a merged pull request on the void-packages repository

Mate 1.28
https://github.com/void-linux/void-packages/pull/49092

Description:
I will merge this myself!

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-03-09  4:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-04 16:45 [PR PATCH] Mate 1.28 sgn
2024-03-05 15:22 ` [PR PATCH] [Updated] " sgn
2024-03-05 15:27 ` sgn
2024-03-08 11:52 ` sgn
2024-03-08 12:54 ` sgn
2024-03-08 14:46 ` sgn
2024-03-09  0:44 ` sgn
2024-03-09  4:04 ` [PR PATCH] [Merged]: " sgn

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).