From 4bbea86ec6b7b475dc06bf2e27f78be7ca2bd0dd Mon Sep 17 00:00:00 2001 From: "Tobias C. Berner" Date: Thu, 22 Jul 2021 16:36:41 +0200 Subject: [PATCH] deskutils/xdg-desktop-portal: disable (broken) support for flatpak and snaps Make it possible to run firefox with KDE filedialogs. The call for parse_app_info_from_flatpak_info uses the /proc/$PID/root file to access the flatpak information file. We neither have support for /proc/$PID/root nor flatpaks or snaps. With this fix and deskutils/plasma5-xdg-desktop-portal-kde it is now possible to run firefox using the KDE file dialogs. > GTK_USE_PORTAL=1 firefox --- deskutils/xdg-desktop-portal/Makefile | 1 + .../files/patch-zzz-disable_flatpak_and_snap | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 deskutils/xdg-desktop-portal/files/patch-zzz-disable_flatpak_and_snap diff --git a/deskutils/xdg-desktop-portal/Makefile b/deskutils/xdg-desktop-portal/Makefile index 8619ed9cf75a..31eaac2be18c 100644 --- a/deskutils/xdg-desktop-portal/Makefile +++ b/deskutils/xdg-desktop-portal/Makefile @@ -1,5 +1,6 @@ PORTNAME= xdg-desktop-portal PORTVERSION= 1.8.1 +PORTREVISION= 1 CATEGORIES= deskutils PATCH_SITES= https://patch-diff.githubusercontent.com/raw/flatpak/xdg-desktop-portal/pull/:freebsd_compat diff --git a/deskutils/xdg-desktop-portal/files/patch-zzz-disable_flatpak_and_snap b/deskutils/xdg-desktop-portal/files/patch-zzz-disable_flatpak_and_snap new file mode 100644 index 000000000000..c8289ab96b5b --- /dev/null +++ b/deskutils/xdg-desktop-portal/files/patch-zzz-disable_flatpak_and_snap @@ -0,0 +1,34 @@ +Make it possible to run firefox with KDE filedialogs. + +The call for parse_app_info_from_flatpak_info uses the /proc/$PID/root +file to access the flatpak information file. + +We neither have support for /proc/$PID/root nor flatpaks or snaps. + +With this fix and deskutils/plasma5-xdg-desktop-portal-kde it is now possible +to run firefox using the KDE file dialogs. + +> GTK_USE_PORTAL=1 firefox + +--- src/xdp-utils.c.patched 2021-07-22 16:25:27.756116000 +0200 ++++ src/xdp-utils.c 2021-07-22 16:30:51.814245000 +0200 +@@ -630,6 +630,11 @@ + g_autoptr(XdpAppInfo) app_info = NULL; + g_autoptr(GError) local_error = NULL; + ++// On FreeBSD the main use of the xdg-portal is to be able to use ++// "native" file dialogs, say the KDE file dialogs in firefox. ++// There is no support for the application package mechanisms like ++// flatpak and snap yet. ++#ifndef __FreeBSD__ + app_info = parse_app_info_from_flatpak_info (pid, &local_error); + if (app_info == NULL && local_error) + { +@@ -646,6 +651,7 @@ + return NULL; + } + } ++#endif + + if (app_info == NULL) + app_info = xdp_app_info_new_host (); -- 2.32.0