# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= xdg-utils VERSION= 1.2.1 EPOCH= 1 KEYWORDS= devel VARIANTS= standard SDESC[standard]= Basic desktop integration functions HOMEPAGE= https://www.freedesktop.org/wiki/Software/xdg-utils/ CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= https://gitlab.freedesktop.org/xdg/xdg-utils/-/archive/v1.2.1/ DISTFILE[1]= xdg-utils-v1.2.1.tar.bz2:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= xmlto:single:standard xorg-xprop:primary:standard xorg-xset:primary:standard BUILDRUN_DEPENDS= hicolor-icon-theme:single:standard USES= cpe gmake DISTNAME= xdg-utils-v1.2.1 LICENSE= MIT:single LICENSE_FILE= MIT:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo CPE_VENDOR= freedesktop FPC_EQUIVALENT= devel/xdg-utils MUST_CONFIGURE= gnu pre-configure: ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/scripts/xdg-* ${REINPLACE_CMD} \ -e "s|http://docbook.sourceforge.net/release/xsl/current/|file://${LOCALBASE}/share/xsl/docbook/|" \ -e "s|http://www.oasis-open.org/docbook/xml/|file://${LOCALBASE}/share/xml/docbook/|" \ ${WRKSRC}/scripts/desc/*.xml [FILE:394:descriptions/desc.single] xdg-utils is a set of tools that allows applications to easily integrate with the desktop environment of the user, regardless of the specific desktop environment that the user runs. About half of the tools focus on tasks commonly required during the installation of a desktop application and the other half focuses on integration with the desktop environment while the application is running. [FILE:103:distinfo] 93d510dccf328378f012fe195b4574c2fac1cd65a74d0852d6eaa72e5a2065a7 293386 xdg-utils-v1.2.1.tar.bz2 [FILE:295:manifests/plist.single] bin/ xdg-desktop-icon xdg-desktop-menu xdg-email xdg-icon-resource xdg-mime xdg-open xdg-screensaver xdg-settings share/man/man1/ xdg-desktop-icon.1.gz xdg-desktop-menu.1.gz xdg-email.1.gz xdg-icon-resource.1.gz xdg-mime.1.gz xdg-open.1.gz xdg-screensaver.1.gz xdg-settings.1.gz [FILE:1715:patches/patch-scripts_xdg-desktop-menu.in] --- scripts/xdg-desktop-menu.in.orig 2024-01-30 03:18:58 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" @@ -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 @@ -464,7 +464,7 @@ xdg_user_dir="$XDG_DATA_HOME" 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 @@ -527,7 +527,7 @@ xdg_user_dir="$XDG_DATA_HOME" 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 [FILE:1203:patches/patch-scripts_xdg-email.in] --- scripts/xdg-email.in.orig 2024-01-30 03:18:58 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')" echo "$MAILTO" | grep -qs "^?" if [ "$?" = "0" ] ; then 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%,} if [ -z "$TO" ] ; then NEWMAILTO= @@ -317,7 +317,7 @@ LC_ALL="$ORIG_LC_ALL" options= mailto= -utf8="iconv -t utf8" +utf8="iconv -t UTF-8" while [ $# -gt 0 ] ; do parm="$1" shift [FILE:518:patches/patch-scripts_xdg-icon-resource.in] --- scripts/xdg-icon-resource.in.orig 2024-01-30 03:18:58 UTC +++ scripts/xdg-icon-resource.in @@ -222,7 +222,7 @@ xdg_user_dir="$xdg_user_dir/$xdg_dir_nam xdg_global_dir= xdg_global_prefix= 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 xdg_global_prefix="$x/icons" [FILE:1512:patches/patch-scripts_xdg-mime.in] --- scripts/xdg-mime.in.orig 2024-01-30 03:18:58 UTC +++ scripts/xdg-mime.in @@ -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="" @@ -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 dir @@ -810,7 +810,7 @@ xdg_user_dir="$XDG_DATA_HOME" 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/ old_ifs="$IFS" IFS=: @@ -849,7 +849,7 @@ DEBUG 3 "kde_global_dir: $kde_global_dir # 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" [FILE:1969:patches/patch-scripts_xdg-open.in] --- scripts/xdg-open.in.orig 2024-01-30 03:18:58 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 @@ -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" } @@ -305,6 +311,17 @@ open_flatpak() fi } +open_lumina() +{ + lumina-open "$1" + + if [ $? -eq 0 ]; then + exit_success + else + exit_failure_operation_failed + fi +} + #----------------------------------------- # Recursively search .desktop file @@ -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/ 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:chromium-browser:google-chrome:$BROWSER fi fi @@ -629,6 +646,10 @@ case "$DE" in open_mate "$url" ;; + lumina) + open_lumina "$url" + ;; + xfce) open_xfce "$url" ;; [FILE:478:patches/patch-scripts_xdg-screensaver.in] --- scripts/xdg-screensaver.in.orig 2024-01-30 03:18:58 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" [FILE:569:patches/patch-scripts_xdg-settings.in] --- scripts/xdg-settings.in.orig 2024-01-30 03:18:58 UTC +++ scripts/xdg-settings.in @@ -505,7 +505,7 @@ check_xfce_desktop_file() # "Type" must be "X-XFCE-Helper" # "X-XFCE-Category" must be "WebBrowser" (for web browsers, anyway) # "X-XFCE-Commands" and "X-XFCE-CommandsWithParameter" must be set - search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" + search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-%%LOCALBASE%%/share:/usr/share}" IFS=: for dir in $search; do unset IFS [FILE:2312:patches/patch-scripts_xdg-utils-common.in] --- scripts/xdg-utils-common.in.orig 2024-01-30 03:18:58 UTC +++ scripts/xdg-utils-common.in @@ -25,7 +25,7 @@ first_word() # map a binary to a .desktop file binary_to_desktop_file() { - search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" + search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-%%LOCALBASE%%/share:/usr/share}" binary="$(command -v "$1")" binary="$(xdg_realpath "$binary")" base="$(basename "$binary")" @@ -55,7 +55,7 @@ binary_to_desktop_file() # map a .desktop file to a binary desktop_file_to_binary() { - search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" + search="${XDG_DATA_HOME:-$HOME/.local/share}:${XDG_DATA_DIRS:-%%LOCALBASE%%/share:/usr/share}" desktop="$(basename "$1")" IFS=: for dir in $search; do @@ -312,6 +312,44 @@ detectDE() XFCE) DE=xfce ;; + Lumina) + DE=lumina + ;; + X-Generic) + DE=generic + ;; + 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; + ;; + LXDE) + DE=lxde; + ;; + MATE) + DE=mate; + ;; + XFCE) + DE=xfce + ;; + LUMINA) + DE=lumina + ;; X-Generic) DE=generic ;; @@ -329,6 +367,8 @@ detectDE() 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 [ -n "$LXQT_SESSION_CONFIG" ]; then DE=lxqt; + #Simple fallback for non-XDG window managers if Lumina is installed in the normal place (no heavy runtime dependencies) + elif [ -x "%%LOCALBASE%%/bin/lumina-open" ]; then DE=lumina; fi fi