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,36 +1,36 @@ 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 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 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 -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 -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 -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 -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,47 +1,38 @@ ---- 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() for MIME in $mimetypes ; do xdg_default_dirs="$XDG_DATA_DIRS" - [ -n "$xdg_default_dirs" ] || xdg_default_dirs=/usr/local/share/:/usr/share/ + [ -n "$xdg_default_dirs" ] || xdg_default_dirs=%%LOCALBASE%%/share/:/usr/share/ 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" - [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/etc/xdg + [ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/etc/xdg 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" -[ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/ +[ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/ 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" -[ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/ +[ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/ 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,38 +1,29 @@ ---- 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= -utf8="iconv -t utf8" +utf8="iconv -t UTF-8" 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,38 +1,38 @@ ---- 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" - [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/ + [ -n "$xdg_system_dirs" ] || xdg_system_dirs=%%LOCALBASE%%/share/:/usr/share/ 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" -gnome_global_dir=/usr/share/gnome/apps +gnome_global_dir=%%LOCALBASE%%/share/gnome/apps [ -w $gnome_global_dir ] || gnome_global_dir= DEBUG 3 "gnome_user_dir: $gnome_user_dir" DEBUG 3 "gnome_global_dir: $gnome_global_dir" 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,72 +1,71 @@ ---- 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 @@ # #--------------------------------------------- +# If we are started from a Linux app with LD_PRELOAD set unset that +# so native apps (like browers) won't fail to start. +if [ "x$(uname)" = "xLinux" ]; then + unset LD_PRELOAD +fi + 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 - file=$($printf "$(echo "$file" | sed -e 's@%\([a-f0-9A-F]\{2\}\)@\\x\1@g')") + file=$(echo "$file" | unvis -h) fi echo "$file" } -@@ -193,6 +199,17 @@ open_gnome() +@@ -220,6 +226,17 @@ open_gnome() fi } +open_lumina() +{ + lumina-open "$1" + + if [ $? -eq 0 ]; then + exit_success + else + exit_failure_operation_failed + fi +} + 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 - BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chromium:chromium-browser:google-chrome:$BROWSER + BROWSER=x-www-browser:firefox:iceweasel:seamonkey:mozilla:epiphany:konqueror:chrome:chromium-browser:google-chrome:$BROWSER fi fi -@@ -534,6 +550,10 @@ case "$DE" in +@@ -623,6 +640,10 @@ case "$DE" in gnome) open_gnome "$url" + ;; + + lumina) + open_lumina "$url" ;; mate) 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,23 +1,23 @@ ---- 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@ # Check if we can use "mv -T" -if mv -T ... ... 2>&1 | grep '\.\.\.' > /dev/null ; then +# FreeBSD mv doesn't support this, so supress scary messages in the terminal +#if mv -T ... ... 2>&1 | grep '\.\.\.' > /dev/null ; then +if false; then # 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() { - xset q | sed '/^Screen Saver:/,/^[^ ]/ { s/.*timeout: *\([0-9]*\).*/\1/; t }; d' + xset q | sed '/^Screen Saver:/,/^[^ ]/ { s/.*timeout: *\([0-9]*\).*/\1/; t + }; d' } screensaver_xserver() 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,62 +1,66 @@ ---- 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 +# xxx PCDM_SESSION check here? + if [ -n "${PCDM_SESSION}" ]; then + case "${PCDM_SESSION}" in + # only recently added to menu-spec, pre-spec X- still in use + CINNAMON) + DE=cinnamon; + ;; + ENLIGHTENMENT) + DE=enlightenment; + ;; + # GNOME, GNOME-Classic:GNOME, or GNOME-Flashback:GNOME + GNOME*) + DE=gnome; + ;; + 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