git: f6ca366c3d23 - main - devel/xdg-utils: Update to 1.2.1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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