git: f6ca366c3d23 - main - devel/xdg-utils: Update to 1.2.1

From: Jason E. Hale <jhale_at_FreeBSD.org>
Date: Fri, 24 Jan 2025 05:05:25 UTC
The branch main has been updated by jhale:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f6ca366c3d230ca1bb6ac6167593e8f12d7d71f3

commit f6ca366c3d230ca1bb6ac6167593e8f12d7d71f3
Author:     Jason E. Hale <jhale@FreeBSD.org>
AuthorDate: 2025-01-23 22:11:52 +0000
Commit:     Jason E. Hale <jhale@FreeBSD.org>
CommitDate: 2025-01-24 05:05:18 +0000

    devel/xdg-utils: Update to 1.2.1
    
    Use textproc/xmlto instead of textproc/minixmlto as the latter produces
    errors with <uri> tags.
    
    Adopt/adapt patches for xdg-su from OpenMandriva. [1]
    
    Don't apply subsitutions to .orig files in the post-patch target.
    
    Pet portclippy(1).
    
    Obtained from:  https://github.com/OpenMandrivaAssociation/xdg-utils/blob/rolling/xdg-utils-find-kdesu6.patch [1]
                    https://github.com/OpenMandrivaAssociation/xdg-utils/blob/rolling/xdg-utils-1.2.1-lxqt-unquote.patch [1]
---
 devel/xdg-utils/Makefile                           |  18 +--
 devel/xdg-utils/distinfo                           |   6 +-
 .../xdg-utils/files/patch-add-support-for-plasma6  | 139 ---------------------
 .../files/patch-scripts_xdg-desktop-menu.in        |  17 +--
 devel/xdg-utils/files/patch-scripts_xdg-email.in   |  29 ++---
 devel/xdg-utils/files/patch-scripts_xdg-mime.in    |  18 +--
 devel/xdg-utils/files/patch-scripts_xdg-open.in    |  21 ++--
 .../files/patch-scripts_xdg-screensaver.in         |   4 +-
 devel/xdg-utils/files/patch-scripts_xdg-su.in      |  24 ++++
 .../files/patch-scripts_xdg-utils-common.in        |  34 ++---
 10 files changed, 90 insertions(+), 220 deletions(-)

diff --git a/devel/xdg-utils/Makefile b/devel/xdg-utils/Makefile
index 3cbebe89abac..5e05b9c12111 100644
--- a/devel/xdg-utils/Makefile
+++ b/devel/xdg-utils/Makefile
@@ -1,8 +1,7 @@
 PORTNAME=	xdg-utils
-PORTVERSION=	1.1.3
-PORTREVISION=	4
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.2.1
 CATEGORIES=	devel
-MASTER_SITES=	https://portland.freedesktop.org/download/
 
 MAINTAINER=	desktop@FreeBSD.org
 COMMENT=	Tools to allow all applications to integrate with the free desktop
@@ -11,26 +10,27 @@ WWW=		https://www.freedesktop.org/wiki/Software/xdg-utils/
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	minixmlto:textproc/minixmlto
+BUILD_DEPENDS=	xmlto:textproc/xmlto
 RUN_DEPENDS=	${LOCALBASE}/share/icons/hicolor/index.theme:misc/hicolor-icon-theme
 
 USES=		cpe gmake
-
 CPE_VENDOR=	freedesktop
+USE_GITLAB=	yes
+GL_SITE=	https://gitlab.freedesktop.org
+GL_ACCOUNT=	xdg
 
-CONFIGURE_ENV=	XMLTO=${LOCALBASE}/bin/minixmlto
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+
 NO_ARCH=	yes
-MAKE_ENV=	PREFER_DOCBOOK2MDOC=1
 
 OPTIONS_DEFINE=	X11
 OPTIONS_DEFAULT=X11
+
 X11_RUN_DEPENDS=xprop:x11/xprop \
 		xset:x11/xset
 
 post-patch:
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \
-		${WRKSRC}/scripts/xdg-*
+		${WRKSRC}/scripts/xdg-*.in
 
 .include <bsd.port.mk>
diff --git a/devel/xdg-utils/distinfo b/devel/xdg-utils/distinfo
index a01eb2f30a59..86d23b07bd9b 100644
--- a/devel/xdg-utils/distinfo
+++ b/devel/xdg-utils/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1546903676
-SHA256 (xdg-utils-1.1.3.tar.gz) = d798b08af8a8e2063ddde6c9fa3398ca81484f27dec642c5627ffcaa0d4051d9
-SIZE (xdg-utils-1.1.3.tar.gz) = 297170
+TIMESTAMP = 1737661873
+SHA256 (xdg-utils-v1.2.1.tar.bz2) = 93d510dccf328378f012fe195b4574c2fac1cd65a74d0852d6eaa72e5a2065a7
+SIZE (xdg-utils-v1.2.1.tar.bz2) = 293386
diff --git a/devel/xdg-utils/files/patch-add-support-for-plasma6 b/devel/xdg-utils/files/patch-add-support-for-plasma6
deleted file mode 100644
index 764621e7290f..000000000000
--- a/devel/xdg-utils/files/patch-add-support-for-plasma6
+++ /dev/null
@@ -1,139 +0,0 @@
-From 08d0894e5dc1cfb20ffd1dc2a765fd9b04138bd9 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Wed, 5 Jul 2023 09:29:52 +0200
-Subject: [PATCH 1/4] xdg-mime: Use defapp_generic on Plasma 6
-
-defapp_kde uses the no longer existing kmimetypetrader
-
-It doesn't do anything particularly special anyway so we might as well use defapp_generic
----
- scripts/xdg-mime.in | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git scripts/xdg-mime.in b/scripts/xdg-mime.in
-index d194b0e..19712b5 100644
---- scripts/xdg-mime.in.orig
-+++ scripts/xdg-mime.in
-@@ -610,15 +610,12 @@ fi
- if [ "$action" = "defapp" ]; then
-     detectDE
- 
--    case "$DE" in
--        kde)
-+    if [ "$DE" == "kde" ] && [ "$KDE_SESSION_VERSION" -lt "6" ]; then
-         defapp_kde "$mimetype"
--        ;;
-+    fi
-+
-+    defapp_generic "$mimetype"
- 
--        *)
--        defapp_generic "$mimetype"
--        ;;
--    esac
-     exit_failure_operation_impossible "no method available for quering default application for '$mimetype'"
- fi
- 
--- 
-GitLab
-
-
-From 4fd41276c9e5dae0a087ed5726f1dca263edd394 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Wed, 5 Jul 2023 09:48:17 +0200
-Subject: [PATCH 2/4] xdg-mime: Use kmimetypefinder (without suffix) on Plasma
- 6
-
----
- scripts/xdg-mime.in | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git scripts/xdg-mime.in b/scripts/xdg-mime.in
-index 19712b5..f78079e 100644
---- scripts/xdg-mime.in.orig
-+++ scripts/xdg-mime.in
-@@ -60,6 +60,10 @@ info_kde()
-           DEBUG 1 "Running kmimetypefinder${KDE_SESSION_VERSION} \"$1\""
-           kmimetypefinder${KDE_SESSION_VERSION} "$1" 2>/dev/null | head -n 1
-         ;;
-+        6)
-+          DEBUG 1 "Running kmimetypefinder \"$1\""
-+          kmimetypefinder "$1" 2>/dev/null | head -n 1
-+        ;;
-       esac
-     else
-         DEBUG 1 "Running kfile \"$1\""
--- 
-GitLab
-
-
-From c10cdaf8a03997cc18e51ee6299f0dcc02c34870 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Wed, 5 Jul 2023 09:55:21 +0200
-Subject: [PATCH 3/4] xdg-open: Use correct kde-open on Plasma 6
-
----
- scripts/xdg-open.in | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git scripts/xdg-open.in b/scripts/xdg-open.in
-index 50e31e6..2456aa7 100644
---- scripts/xdg-open.in.orig
-+++ scripts/xdg-open.in
-@@ -130,6 +130,9 @@ open_kde()
-         5)
-           kde-open${KDE_SESSION_VERSION} "$1"
-         ;;
-+        6)
-+          kde-open "$1"
-+        ;;
-       esac
-     else
-         kfmclient exec "$1"
--- 
-GitLab
-
-
-From eb8a24bb0923bfcb74c29a3147d920ee7a5ff83d Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Wed, 5 Jul 2023 11:02:20 +0200
-Subject: [PATCH 4/4] xdg-settings: Use right config tools on Plasma 6
-
----
- scripts/xdg-settings.in | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git scripts/xdg-settings.in b/scripts/xdg-settings.in
-index ab18d3a..fed5932 100755
---- scripts/xdg-settings.in.orig
-+++ scripts/xdg-settings.in
-@@ -148,6 +148,8 @@ read_kde_config()
-     configkey="$3"
-     if [ x"${KDE_SESSION_VERSION}" = x"5" ]; then
-         application="`kreadconfig5 --file $configfile --group $configsection --key $configkey`"
-+    elif [ x"${KDE_SESSION_VERSION}" = x"6" ]; then
-+        application="`kreadconfig6 --file $configfile --group $configsection --key $configkey`"
-     else
-         application="`kreadconfig --file $configfile --group $configsection --key $configkey`"
-     fi
-@@ -267,6 +269,8 @@ set_browser_kde()
-     set_browser_mime "$1" "text/html" || return
-     if [ x"${KDE_SESSION_VERSION}" = x"5" ]; then
-         kwriteconfig5 --file kdeglobals --group General --key BrowserApplication "$1"
-+    elif [ x"${KDE_SESSION_VERSION}" = x"6" ]; then
-+        kwriteconfig6 --file kdeglobals --group General --key BrowserApplication "$1"
-     else
-         kwriteconfig --file kdeglobals --group General --key BrowserApplication "$1"
-     fi
-@@ -624,6 +628,8 @@ set_url_scheme_handler_kde()
-         binary="`desktop_file_to_binary "$2"`"
-         if [ x"${KDE_SESSION_VERSION}" = x"5" ]; then
-             kwriteconfig5 --file emaildefaults --group PROFILE_Default --key EmailClient "$binary"
-+        elif [ x"${KDE_SESSION_VERSION}" = x"6" ]; then
-+            kwriteconfig6 --file emaildefaults --group PROFILE_Default --key EmailClient "$binary"
-         else
-             kwriteconfig --file emaildefaults --group PROFILE_Default --key EmailClient "$binary"
-         fi
--- 
-GitLab
-
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-desktop-menu.in b/devel/xdg-utils/files/patch-scripts_xdg-desktop-menu.in
index e07b36f0cc18..a7ca4ba8a2ad 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-desktop-menu.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-desktop-menu.in
@@ -1,4 +1,4 @@
---- scripts/xdg-desktop-menu.in.orig	2019-01-08 19:02:17 UTC
+--- scripts/xdg-desktop-menu.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-desktop-menu.in
 @@ -67,7 +67,7 @@ make_lazy_default()
  
@@ -9,7 +9,7 @@
          if [ x"$mode" = x"user" ] ; then
              xdg_user_dir="$XDG_DATA_HOME"
              [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
-@@ -110,7 +110,7 @@ update_submenu()
+@@ -112,7 +112,7 @@ update_submenu()
      xdg_user_dir="$xdg_user_dir/$xdg_dir_name"
  
      xdg_system_dirs="$XDG_CONFIG_DIRS"
@@ -18,7 +18,7 @@
      xdg_global_dir=
      for x in `echo $xdg_system_dirs | sed 's/:/ /g'` ; do
          if [ -w $x/$xdg_dir_name ] ; then
-@@ -475,7 +475,7 @@ xdg_user_dir="$XDG_DATA_HOME"
+@@ -464,7 +464,7 @@ xdg_system_dirs="$XDG_DATA_DIRS"
  xdg_user_dir="$xdg_user_dir/$xdg_dir_name"
  
  xdg_system_dirs="$XDG_DATA_DIRS"
@@ -27,7 +27,7 @@
  xdg_global_dir=
  for x in `echo $xdg_system_dirs | sed 's/:/ /g'` ; do
      if [ -w $x/$xdg_dir_name ] ; then
-@@ -542,7 +542,7 @@ xdg_user_dir="$XDG_DATA_HOME"
+@@ -527,7 +527,7 @@ xdg_system_dirs="$XDG_DATA_DIRS"
  xdg_user_dir="$xdg_user_dir/$xdg_dir_name"
  
  xdg_system_dirs="$XDG_DATA_DIRS"
@@ -36,12 +36,3 @@
  xdg_global_dir=
  for x in `echo $xdg_system_dirs | sed 's/:/ /g'` ; do
      if [ -w $x/$xdg_dir_name ] ; then
-@@ -556,7 +556,7 @@ kde_global_dir=`kde${KDE_SESSION_VERSION}-config --pat
- [ -w $kde_global_dir ] || kde_global_dir=
- 
- gnome_user_dir="$HOME/.gnome/apps"
--gnome_global_dir="/usr/share/gnome/apps"
-+gnome_global_dir="%%LOCALBASE%%/share/gnome/apps"
- [ -w $gnome_global_dir ] || gnome_global_dir=
- 
- DEBUG 3 "Install locations for *.desktop files:"
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-email.in b/devel/xdg-utils/files/patch-scripts_xdg-email.in
index 6ae44d035bf3..17d37cf254a1 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-email.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-email.in
@@ -1,24 +1,24 @@
---- scripts/xdg-email.in.orig	2019-01-08 19:02:17 UTC
+--- scripts/xdg-email.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-email.in
 @@ -34,7 +34,7 @@ run_thunderbird()
  {
      local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
      THUNDERBIRD="$1"
--    MAILTO=$(echo "$2" | sed 's/^mailto://')
-+    MAILTO=$(echo "$2" | tr '&' '\n')
+-    MAILTO="$(echo "$2" | sed 's/^mailto://')"
++    MAILTO="$(echo "$2" | tr '&' '\n')"
      echo "$MAILTO" | grep -qs "^?"
      if [ "$?" = "0" ] ; then
-         MAILTO=$(echo "$MAILTO" | sed 's/^?//')
+         MAILTO="$(echo "$MAILTO" | sed 's/^?//')"
 @@ -48,7 +48,7 @@ run_thunderbird()
-     BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
-     SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
-     BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
--    ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
-+    ATTACH=$(for attachment in $(echo "$MAILTO" | sed -ne 's,^attach=,file://,gp') ; do printf "%s," "$attachment" ; done); ATTACH=${ATTACH%,}
+     BCC="$(/bin/echo -e "$(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }')")"
+     SUBJECT="$(echo "$MAILTO" | grep '^subject=' | tail -n 1)"
+     BODY="$(echo "$MAILTO" | grep '^body=' | tail -n 1)"
+-    ATTACH="$(/bin/echo -e "$(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//')")"
++    ATTACH="$(for attachment in $(echo "$MAILTO" | sed -ne 's,^attach=,file://,gp') ; do printf "%s," "$attachment" ; done); ATTACH=${ATTACH%,}"
  
      if [ -z "$TO" ] ; then
          NEWMAILTO=
-@@ -314,7 +314,7 @@ LC_ALL="$ORIG_LC_ALL"
+@@ -317,7 +317,7 @@ mailto=
  
  options=
  mailto=
@@ -27,12 +27,3 @@
  while [ $# -gt 0 ] ; do
      parm="$1"
      shift
-@@ -455,7 +455,7 @@ fi
- if [ x"$BROWSER" = x"" ]; then
-     BROWSER=www-browser:links2:elinks:links:lynx:w3m
-     if has_display; then
--        BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chromium-browser:google-chrome:$BROWSER
-+        BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chrome:chromium-browser:google-chrome:$BROWSER
-     fi
- fi
- 
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-mime.in b/devel/xdg-utils/files/patch-scripts_xdg-mime.in
index 5ed15f4f5aaa..24c0ef6a447a 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-mime.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-mime.in
@@ -1,6 +1,6 @@
---- scripts/xdg-mime.in.orig	2019-01-08 19:02:17 UTC
+--- scripts/xdg-mime.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-mime.in
-@@ -318,7 +318,7 @@ defapp_fallback()
+@@ -377,7 +377,7 @@ defapp_fallback()
      [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
  
      xdg_system_dirs="$XDG_DATA_DIRS"
@@ -9,25 +9,25 @@
  
      preference=-1
      desktop_file=""
-@@ -401,7 +401,7 @@ defapp_generic()
+@@ -467,7 +467,7 @@ defapp_generic()
      xdg_user_dir="$XDG_DATA_HOME"
      [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
      xdg_system_dirs="$XDG_DATA_DIRS"
 -    [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
 +    [ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/
  
-     local oldifs="$IFS" dir
+     local oldifs dir
  
-@@ -702,7 +702,7 @@ xdg_user_dir="$XDG_DATA_HOME"
+@@ -810,7 +810,7 @@ xdg_system_dirs="$XDG_DATA_DIRS"
  xdg_user_dir="$xdg_user_dir/$xdg_dir_name"
  
  xdg_system_dirs="$XDG_DATA_DIRS"
 -[ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
 +[ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/
- for x in `echo $xdg_system_dirs | sed 's/:/ /g'`; do
-     if [ -w $x/$xdg_dir_name ] ; then
-         [ x"$mode" = x"system" ] && xdg_base_dir="$x/mime"
-@@ -734,7 +734,7 @@ DEBUG 3 "kde_global_dir: $kde_global_dir"
+ 
+ old_ifs="$IFS"
+ IFS=:
+@@ -849,7 +849,7 @@ gnome_user_dir="$HOME/.gnome/apps"
  # TODO: Gnome legacy support
  # See http://forums.fedoraforum.org/showthread.php?t=26875
  gnome_user_dir="$HOME/.gnome/apps"
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-open.in b/devel/xdg-utils/files/patch-scripts_xdg-open.in
index 78e14416b77a..3111da881a32 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-open.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-open.in
@@ -1,4 +1,4 @@
---- scripts/xdg-open.in.orig	2019-01-08 19:02:17 UTC
+--- scripts/xdg-open.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-open.in
 @@ -15,6 +15,12 @@
  #
@@ -12,8 +12,8 @@
 +
  manualpage()
  {
- cat << _MANUALPAGE
-@@ -92,7 +98,7 @@ file_url_to_path()
+ cat << '_MANUALPAGE'
+@@ -116,7 +122,7 @@ file_url_to_path()
          if [ -x /usr/bin/printf ]; then
              printf=/usr/bin/printf
          fi
@@ -22,7 +22,7 @@
      fi
      echo "$file"
  }
-@@ -193,6 +199,17 @@ open_gnome()
+@@ -220,6 +226,17 @@ open_gnome()
      fi
  }
  
@@ -40,17 +40,16 @@
  open_mate()
  {
      if gio help open 2>/dev/null 1>&2; then
-@@ -342,8 +359,7 @@ open_generic_xdg_mime()
+@@ -398,7 +415,7 @@ open_generic_xdg_mime()
          [ -n "$xdg_user_dir" ] || xdg_user_dir="$HOME/.local/share"
  
          xdg_system_dirs="$XDG_DATA_DIRS"
 -        [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/
--
 +        [ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/
- DEBUG 3 "$xdg_user_dir:$xdg_system_dirs"
-         for x in `echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'`; do
-             search_desktop_file "$default" "$x/applications/" "$1"
-@@ -438,7 +454,7 @@ open_generic()
+ 
+         search_dirs="$xdg_user_dir:$xdg_system_dirs"
+         DEBUG 3 "$search_dirs"
+@@ -516,7 +533,7 @@ open_generic()
      if [ x"$BROWSER" = x"" ]; then
          BROWSER=www-browser:links2:elinks:links:lynx:w3m
          if has_display; then
@@ -59,7 +58,7 @@
          fi
      fi
  
-@@ -534,6 +550,10 @@ case "$DE" in
+@@ -623,6 +640,10 @@ case "$DE" in
  
      gnome)
      open_gnome "$url"
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-screensaver.in b/devel/xdg-utils/files/patch-scripts_xdg-screensaver.in
index feb17cc88355..96479a8c6a05 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-screensaver.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-screensaver.in
@@ -1,4 +1,4 @@
---- scripts/xdg-screensaver.in.orig	2018-05-10 15:02:31 UTC
+--- scripts/xdg-screensaver.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-screensaver.in
 @@ -27,7 +27,9 @@ _USAGE
  #@xdg-utils-common@
@@ -11,7 +11,7 @@
     # We can securely move files in /tmp with mv -T
     DEBUG 1 "mv -T available"
     MV="mv -T"
-@@ -378,7 +380,8 @@ screensaver_kde3()
+@@ -363,7 +365,8 @@ xset_screensaver_timeout()
  
  xset_screensaver_timeout()
  {
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-su.in b/devel/xdg-utils/files/patch-scripts_xdg-su.in
new file mode 100644
index 000000000000..b3035a0e6510
--- /dev/null
+++ b/devel/xdg-utils/files/patch-scripts_xdg-su.in
@@ -0,0 +1,24 @@
+--- scripts/xdg-su.in.orig	2024-02-06 01:55:07 UTC
++++ scripts/xdg-su.in
+@@ -36,6 +36,7 @@ su_kde()
+     if [ x"$KDE_SESSION_VERSION" = x"4" ]; then
+         KDESU=`kde4-config --locate kdesu --path exe 2>/dev/null`
+     else
++        export PATH=%%LOCALBASE%%/lib/libexec/kf$KDE_SESSION_VERSION:$PATH
+         KDESU=`command -v kdesu`
+     fi
+     if [ $? -eq 0 ] ; then
+@@ -84,7 +85,12 @@ su_lxqt()
+     if [ $? -eq 0 ] ; then
+         if [ -z "$user" ] ; then
+              # -s option runs as su rather then sudo
+-             $LXQTSU -s $cmd
++             # the "echo $cmd | xargs echo" construct is for
++             # unquoting -- lxqt-sudo expects to be called
++             # as lxqt-sudo command argument argument ...
++             # rather than (like the other related tools)
++             # kdesu -c 'command argument argument'
++             $LXQTSU -s $(echo $cmd | xargs echo)
+         else
+              # lxqt-sudo does not support specifying a user
+              su_generic
diff --git a/devel/xdg-utils/files/patch-scripts_xdg-utils-common.in b/devel/xdg-utils/files/patch-scripts_xdg-utils-common.in
index 6f0ebcad1790..a7ec4fb88ba9 100644
--- a/devel/xdg-utils/files/patch-scripts_xdg-utils-common.in
+++ b/devel/xdg-utils/files/patch-scripts_xdg-utils-common.in
@@ -1,15 +1,16 @@
---- scripts/xdg-utils-common.in.orig	2019-01-08 19:02:17 UTC
+--- scripts/xdg-utils-common.in.orig	2024-02-06 01:55:07 UTC
 +++ scripts/xdg-utils-common.in
-@@ -304,12 +304,50 @@ detectDE()
-          XFCE)
-            DE=xfce
+@@ -305,6 +305,9 @@ detectDE()
+          LXQt)
+            DE=lxqt;
             ;;
 +         Lumina)
 +           DE=lumina
 +           ;;
-          X-Generic)
-            DE=generic
+          MATE)
+            DE=mate;
             ;;
+@@ -317,6 +320,44 @@ detectDE()
        esac
      fi
  
@@ -30,33 +31,36 @@
 +         KDE)
 +           DE=kde;
 +           ;;
++         LUMINA)
++           DE=lumina
++           ;;
 +         LXDE)
 +           DE=lxde;
 +           ;;
++         LXQT)
++           DE=lxqt;
++           ;;
 +         MATE)
 +           DE=mate;
 +           ;;
 +         XFCE)
 +           DE=xfce
 +           ;;
-+         LUMINA)
-+           DE=lumina
-+           ;;
 +         X-Generic)
 +           DE=generic
 +           ;;
 +      esac
 +    fi
 +
-     if [ x"$DE" = x"" ]; then
+     # shellcheck disable=SC2153
+     if [ -z "$DE" ]; then
        # classic fallbacks
-       if [ x"$KDE_FULL_SESSION" != x"" ]; then DE=kde;
-@@ -319,6 +357,8 @@ detectDE()
+@@ -327,6 +368,8 @@ detectDE()
        elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
        elif xprop -root 2> /dev/null | grep -i '^xfce_desktop_window' >/dev/null 2>&1; then DE=xfce
-       elif echo $DESKTOP | grep -q '^Enlightenment'; then DE=enlightenment;
+       elif echo "$DESKTOP" | grep -q '^Enlightenment'; then DE=enlightenment;
 +      #Simple fallback for non-XDG window managers if Lumina is installed in the normal place (no heavy runtime dependencies)
-+      elif [ -x "/usr/local/bin/lumina-open" ]; then DE=lumina;
-       elif [ x"$LXQT_SESSION_CONFIG" != x"" ]; then DE=lxqt;
++      elif [ -x "%%LOCALBASE%%/bin/lumina-open" ]; then DE=lumina;
+       elif [ -n "$LXQT_SESSION_CONFIG" ]; then DE=lxqt;
        fi
      fi