summary refs log tree commit diff
path: root/pkgs/development/libraries/xdg-desktop-portal
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-02-08 06:57:47 +0100
committerworldofpeace <worldofpeace@protonmail.ch>2020-02-10 12:55:25 -0500
commitf1aa8416d72ba509b2e1b2d30c8aa470a34bc34f (patch)
tree941797c65a2091fb2a26ef35c46b61a05ce22089 /pkgs/development/libraries/xdg-desktop-portal
parentfefc7d8c9c9014e4667d0b6b695068cce65e8bd4 (diff)
downloadnixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar.gz
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar.bz2
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar.lz
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar.xz
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.tar.zst
nixpkgs-f1aa8416d72ba509b2e1b2d30c8aa470a34bc34f.zip
xdg-desktop-portal: 1.4.2 → 1.6.0
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.6.0
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.5.4
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.5.3
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.5.2
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.5.1
* https://github.com/flatpak/xdg-desktop-portal/releases/tag/1.5.0
Diffstat (limited to 'pkgs/development/libraries/xdg-desktop-portal')
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix14
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch6
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch78
3 files changed, 10 insertions, 88 deletions
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 22bbfb5358a..1049ce3201a 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -13,6 +13,7 @@
 , acl
 , dbus
 , fuse
+, libportal
 , geoclue2
 , json-glib
 , wrapGAppsHook
@@ -20,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.4.2";
+  version = "1.6.0";
 
   outputs = [ "out" "installedTests" ];
 
@@ -28,14 +29,10 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "1rs3kmpczkr6nm08kb9njnl7n3rmhh0ral0xav6f0y70pyh8whx6";
+    sha256 = "0fbsfpilwbv7j6cimsmmz6g0r96bw0ziwyk9z4zg2rd1mfkmmp9a";
   };
 
   patches = [
-    # Allow loading portals from different path than prefix (since that is immutable).
-    # We pass XDG_DESKTOP_PORTAL_PATH environment variable to the systemd service to achieve that.
-    ./respect-path-env-var.patch
-
     # Hardcode paths used by x-d-p itself.
     (substituteAll {
       src = ./fix-paths.patch;
@@ -59,11 +56,14 @@ stdenv.mkDerivation rec {
     dbus
     geoclue2
     fuse
+    libportal
     gsettings-desktop-schemas
     json-glib
   ];
 
-  doCheck = true; # XXX: investigate!
+  # Seems to get stuck after "PASS: test-portals 39 /portal/inhibit/monitor"
+  # TODO: investigate!
+  doCheck = false;
 
   configureFlags = [
     "--enable-installed-tests"
diff --git a/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch b/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch
index f4b103eb38b..98e26e88b5c 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch
+++ b/pkgs/development/libraries/xdg-desktop-portal/fix-paths.patch
@@ -1,13 +1,13 @@
 diff --git a/src/notification.c b/src/notification.c
-index 1367114..72ba033 100644
+index 5412609..4243e98 100644
 --- a/src/notification.c
 +++ b/src/notification.c
-@@ -401,7 +401,7 @@ validate_icon_more (GVariant *v)
+@@ -366,7 +366,7 @@
    int status;
    g_autofree char *err = NULL;
    g_autoptr(GError) error = NULL;
 -  const char *icon_validator = LIBEXECDIR "/flatpak-validate-icon";
 +  const char *icon_validator = "@flatpak@/libexec/flatpak-validate-icon";
    const char *args[6];
-
+ 
    if (G_IS_THEMED_ICON (icon))
diff --git a/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch b/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch
deleted file mode 100644
index d970f5636ae..00000000000
--- a/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;
-+            }
-         }
-     }
-