diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch b/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch deleted file mode 100644 index d970f5636ae4..000000000000 --- a/nixpkgs/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/src/portal-impl.c b/src/portal-impl.c -index 4fd48ff..346da7c 100644 ---- a/src/portal-impl.c -+++ b/src/portal-impl.c -@@ -116,38 +116,50 @@ sort_impl_by_name (gconstpointer a, - void - load_installed_portals (gboolean opt_verbose) - { -- const char *portal_dir = DATADIR "/xdg-desktop-portal/portals"; -- g_autoptr(GFile) dir = g_file_new_for_path (portal_dir); -- g_autoptr(GFileEnumerator) enumerator = NULL; - -- enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL); -+ g_auto(GStrv) portal_dir_list; -+ int i; -+ const char *portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_PATH"); -+ -+ if (portal_dir == NULL) -+ portal_dir = DATADIR "/portals"; - -- if (enumerator == NULL) -- return; -+ portal_dir_list = g_strsplit (portal_dir, G_SEARCHPATH_SEPARATOR_S, 0); - -- while (TRUE) -+ for (i = 0; portal_dir_list[i] != NULL; i++) - { -- g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL); -- g_autoptr(GFile) child = NULL; -- g_autofree char *path = NULL; -- const char *name; -- g_autoptr(GError) error = NULL; -+ portal_dir = portal_dir_list[i]; -+ g_autoptr(GFile) dir = g_file_new_for_path (portal_dir); -+ g_autoptr(GFileEnumerator) enumerator = NULL; -+ enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL); - -- if (info == NULL) -- break; -+ if (enumerator == NULL) -+ continue; - -- name = g_file_info_get_name (info); -+ while (TRUE) -+ { -+ g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL); -+ g_autoptr(GFile) child = NULL; -+ g_autofree char *path = NULL; -+ const char *name; -+ g_autoptr(GError) error = NULL; - -- if (!g_str_has_suffix (name, ".portal")) -- continue; -+ if (info == NULL) -+ break; - -- child = g_file_enumerator_get_child (enumerator, info); -- path = g_file_get_path (child); -+ name = g_file_info_get_name (info); - -- if (!register_portal (path, opt_verbose, &error)) -- { -- g_warning ("Error loading %s: %s", path, error->message); -- continue; -+ if (!g_str_has_suffix (name, ".portal")) -+ continue; -+ -+ child = g_file_enumerator_get_child (enumerator, info); -+ path = g_file_get_path (child); -+ -+ if (!register_portal (path, opt_verbose, &error)) -+ { -+ g_warning ("Error loading %s: %s", path, error->message); -+ continue; -+ } - } - } - |