GNU bug report logs - #42348
[PATCH 0/4] Add xdg-desktop-portal

Previous Next

Package: guix-patches;

Reported by: Anders Thuné <asse.97 <at> gmail.com>

Date: Tue, 14 Jul 2020 01:19:02 UTC

Severity: normal

Tags: patch

Merged with 42349

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 42348 in the body.
You can then email your comments to 42348 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 01:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Anders Thuné <asse.97 <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 14 Jul 2020 01:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: [PATCH 0/4] Add xdg-desktop-portal
Date: Tue, 14 Jul 2020 01:20:24 +0200
This patch series adds xdg-desktop-portal and the xdg-desktop-portal-gtk backend.
It also adds pipewire 0.3 (which xdg-desktop-portal depends on) - I did not
update the existing pipewire package since there were packages depending on it.

xdg-desktop-portal greatly improves the usability of Flatpak-installed apps,
allowing them to open file chooser dialogs, open links, et.c. This was
requested in issue 37289.

Anders Thuné (4):
  gnu: Add pipewire-0.3.
  gnu: Add libportal.
  gnu: Add xdg-desktop-portal.
  gnu: Add xdg-desktop-portal-gtk.

 gnu/packages/freedesktop.scm | 144 +++++++++++++++++++++++++++++++++++
 gnu/packages/linux.scm       |  30 ++++++++
 2 files changed, 174 insertions(+)

-- 
2.27.0





Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 07:59:01 GMT) Full text and rfc822 format available.

Message #8 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Giovanni Biscuolo <g <at> xelera.eu>
To: Anders Thuné <asse.97 <at> gmail.com>, 42348 <at> debbugs.gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: Re: [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
Date: Tue, 14 Jul 2020 09:58:00 +0200
[Message part 1 (text/plain, inline)]
Hello Anders,

thank you for working on this

Anders Thuné <asse.97 <at> gmail.com> writes:

[...]

> Anders Thuné (4):
>   gnu: Add pipewire-0.3.
>   gnu: Add libportal.
>   gnu: Add xdg-desktop-portal.
>   gnu: Add xdg-desktop-portal-gtk.
>
>  gnu/packages/freedesktop.scm | 144 +++++++++++++++++++++++++++++++++++
>  gnu/packages/linux.scm       |  30 ++++++++
>  2 files changed, 174 insertions(+)

it seems your massage missed to attach the actial patch series: please
can you check and try again.

[...]

Thanks, Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 08:17:01 GMT) Full text and rfc822 format available.

Message #11 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: 42348 <at> debbugs.gnu.org
Subject: Re: [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
Date: Tue, 14 Jul 2020 10:16:32 +0200
Hi,

Sorry about that. The system seems to have been a bit clogged yesterday
so I had to go to sleep before I got the issue number. Because I wasn't
sure if my mail had been received properly, I also accidentally opened a
duplicate at 42349. Can I delete that somehow?

I'm sending the rest of the patch series.

Regards,
Anders Thuné

Giovanni Biscuolo <g <at> xelera.eu> writes:

> Hello Anders,
>
> thank you for working on this
>
> Anders Thuné <asse.97 <at> gmail.com> writes:
>
> [...]
>
>> Anders Thuné (4):
>>   gnu: Add pipewire-0.3.
>>   gnu: Add libportal.
>>   gnu: Add xdg-desktop-portal.
>>   gnu: Add xdg-desktop-portal-gtk.
>>
>>  gnu/packages/freedesktop.scm | 144 +++++++++++++++++++++++++++++++++++
>>  gnu/packages/linux.scm       |  30 ++++++++
>>  2 files changed, 174 insertions(+)
>
> it seems your massage missed to attach the actial patch series: please
> can you check and try again.
>
> [...]
>
> Thanks, Gio'





Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 08:20:02 GMT) Full text and rfc822 format available.

Message #14 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: 42348 <at> debbugs.gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: [PATCH 1/4] gnu: Add pipewire-0.3.
Date: Tue, 14 Jul 2020 10:18:51 +0200
* gnu/packages/linux.scm (pipewire-0.3): New variable.
---
 gnu/packages/linux.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 9fa7d0cd54..16ac59a006 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith <at> outlook.com>
 ;;; Copyright © 2020 John Soo <jsoo1 <at> asu.edu>
 ;;; Copyright © 2020 Michael Rohleder <mike <at> rohleder.de>
+;;; Copyright © 2020 Anders Thuné <asse.97 <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -125,6 +126,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages valgrind)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vulkan)
   #:use-module (gnu packages web)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xml)
@@ -7104,6 +7106,34 @@ and Flatpak we expect PipeWire to provide a core building block for the future
 of Linux application development.")
     (license license:lgpl2.0+)))
 
+(define-public pipewire-0.3
+  (package
+    (inherit pipewire)
+    (name "pipewire")
+    (version "0.3.6")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/PipeWire/pipewire")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0g149vyaigf4gzm764fcgxxci9niw19z0af9afs4diwq5xzr1qd3"))))
+    (arguments
+     '(#:configure-flags '("-Dsystemd=false")
+       #:phases
+       (modify-phases %standard-phases
+         ;; Skip shrink-runpath, otherwise validate-runpath fails
+         (delete 'shrink-runpath))))
+    (inputs
+     (append (package-inputs pipewire)
+             `(("bluez" ,bluez)
+               ("jack" ,jack-2)
+               ("pulseaudio" ,pulseaudio)
+               ("vulkan-loader" ,vulkan-loader)
+               ("vulkan-headers" ,vulkan-headers))))))
+
 (define-public ell
   (package
     (name "ell")
-- 
2.27.0





Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 08:20:02 GMT) Full text and rfc822 format available.

Message #17 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: 42348 <at> debbugs.gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: [PATCH 2/4] gnu: Add libportal.
Date: Tue, 14 Jul 2020 10:18:52 +0200
* gnu/packages/freedesktop.scm (libportal): New variable.
---
 gnu/packages/freedesktop.scm | 45 ++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 23cd1aabf9..1c5226182b 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
 ;;; Copyright © 2020 Rene Saavedra <pacoon <at> protonmail.com>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz>
+;;; Copyright © 2020 Anders Thuné <asse.97 <at> gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1881,3 +1882,47 @@ useful with system integration.")
 into the Unity menu bar.  Based on KSNI, it also works in KDE and will
 fallback to generic Systray support if none of those are available.")
     (license license:lgpl2.1+)))
+
+(define-public libportal
+  (let ((commit "bff3289")
+        (revision "1"))
+    (package
+      (name "libportal")
+      (version (git-version "0.3" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/flatpak/libportal")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "104b91qircr1i9jkmm6f725awywky52aimrki303kiaadn2v8b5i"))))
+      (build-system meson-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'install 'move-doc
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((out (assoc-ref outputs "out"))
+                     (doc (assoc-ref outputs "doc"))
+                     (html "/share/gtk-doc"))
+                 (copy-recursively (string-append out html)
+                                   (string-append doc html))
+                 (delete-file-recursively (string-append out html))
+                 #t))))))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("gtk-doc" ,gtk-doc)
+         ("docbook-xsl" ,docbook-xsl)
+         ("docbook-xml" ,docbook-xml)
+         ("libxml2" ,libxml2)
+         ("glib:bin" ,glib "bin")))
+      (propagated-inputs
+       `(("glib" ,glib)))
+      (outputs '("out" "doc"))
+      (home-page "https://github.com/flatpak/libportal")
+      (synopsis "Flatpak portal library")
+      (description
+       "A library providing GIO-style async APIs for most Flatpak portals.")
+      (license license:lgpl2.1+))))
-- 
2.27.0





Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 08:20:03 GMT) Full text and rfc822 format available.

Message #20 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: 42348 <at> debbugs.gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: [PATCH 3/4] gnu: Add xdg-desktop-portal.
Date: Tue, 14 Jul 2020 10:18:53 +0200
* gnu/packages/freedesktop.scm (xdg-desktop-portal): New variable.
---
 gnu/packages/freedesktop.scm | 48 ++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 1c5226182b..5572ef4da5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -61,6 +61,7 @@
   #:use-module (gnu packages disk)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gawk)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages ghostscript)
@@ -78,6 +79,7 @@
   #:use-module (gnu packages man)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages nss)
+  #:use-module (gnu packages package-management)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages pkg-config)
@@ -1926,3 +1928,49 @@ fallback to generic Systray support if none of those are available.")
       (description
        "A library providing GIO-style async APIs for most Flatpak portals.")
       (license license:lgpl2.1+))))
+
+(define-public xdg-desktop-portal
+  (package
+    (name "xdg-desktop-portal")
+    (version "1.7.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/flatpak/xdg-desktop-portal")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0rkwpsmbn3d3spkzc2zsd50l2r8pp4la390zcpsawaav8w7ql7xm"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("glib:bin" ,glib "bin")
+       ("which" ,which)
+       ("gettext" ,gettext-minimal)))
+    (inputs
+     `(("glib" ,glib)
+       ("flatpak" ,flatpak)
+       ("fontconfig" ,fontconfig)
+       ("json-glib" ,json-glib)
+       ("libportal" ,libportal)
+       ("dbus" ,dbus)
+       ("geoclue" ,geoclue)
+       ("pipewire" ,pipewire-0.3)
+       ("fuse" ,fuse)))
+    (home-page "https://github.com/flatpak/xdg-desktop-portal")
+    (synopsis "Desktop integration portal for sandboxed apps")
+    (description
+     "A portal frontend service for Flatpak and possibly other desktop
+containment frameworks.
+
+xdg-desktop-portal works by exposing a series of D-Bus interfaces known as
+portals under a well-known name (org.freedesktop.portal.Desktop) and object
+path (/org/freedesktop/portal/desktop).
+
+The portal interfaces include APIs for file access, opening URIs, printing
+and others.")
+    (license license:lgpl2.1+)))
-- 
2.27.0





Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 08:20:03 GMT) Full text and rfc822 format available.

Message #23 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: 42348 <at> debbugs.gnu.org
Cc: Anders Thuné <asse.97 <at> gmail.com>
Subject: [PATCH 4/4] gnu: Add xdg-desktop-portal-gtk.
Date: Tue, 14 Jul 2020 10:18:54 +0200
* gnu/packages/freedesktop.scm (xdg-desktop-portal-gtk): New variable.
---
 gnu/packages/freedesktop.scm | 51 ++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 5572ef4da5..a8e097d760 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -48,6 +48,7 @@
   #:use-module (guix build-system meson)
   #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system glib-or-gtk)
   #:use-module (gnu packages)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
@@ -1974,3 +1975,53 @@ path (/org/freedesktop/portal/desktop).
 The portal interfaces include APIs for file access, opening URIs, printing
 and others.")
     (license license:lgpl2.1+)))
+
+(define-public xdg-desktop-portal-gtk
+  (package
+    (name "xdg-desktop-portal-gtk")
+    (version "1.7.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/flatpak/xdg-desktop-portal-gtk")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "183iha9dxmvprn99ymgz17jx1lyn1fj5jyj6ghxl716zn9mxmird"))))
+    (build-system glib-or-gtk-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'po-chmod
+           (lambda _
+             ;; Make sure 'msgmerge' can modify the PO files.
+             (for-each (lambda (po)
+                         (chmod po #o666))
+                       (find-files "po" "\\.po$")))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("xdg-desktop-portal" ,xdg-desktop-portal)
+       ("glib:bin" ,glib "bin")
+       ("which" ,which)
+       ("gettext" ,gettext-minimal)))
+    (inputs
+     `(("glib" ,glib)
+       ("gtk" ,gtk+)
+       ("fontconfig" ,fontconfig)
+       ("gnome-desktop" ,gnome-desktop)
+       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "XDG_DESKTOP_PORTAL_DIR")
+            (files '("share/xdg-desktop-portal/portals")))))
+    (home-page "https://github.com/flatpak/xdg-desktop-portal-gtk")
+    (synopsis "Gtk implementation of xdg-desktop-portal")
+    (description
+     "A backend implementation for xdg-desktop-portal which uses GTK+ and
+various pieces of GNOME infrastructure, such as the org.gnome.Shell.Screenshot
+or org.gnome.SessionManager D-Bus interfaces.")
+    (license license:lgpl2.1+)))
-- 
2.27.0





Merged 42348 42349. Request was from Giovanni Biscuolo <g <at> xelera.eu> to control <at> debbugs.gnu.org. (Tue, 14 Jul 2020 12:56:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Tue, 14 Jul 2020 13:03:01 GMT) Full text and rfc822 format available.

Message #28 received at 42348 <at> debbugs.gnu.org (full text, mbox):

From: Giovanni Biscuolo <g <at> xelera.eu>
To: Anders Thuné <asse.97 <at> gmail.com>, 42348 <at> debbugs.gnu.org
Subject: Re: [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
Date: Tue, 14 Jul 2020 15:02:25 +0200
[Message part 1 (text/plain, inline)]
Hi Anders,

Anders Thuné <asse.97 <at> gmail.com> writes:

> Sorry about that.

Non need to be sorry, we have the patches now: thanks!

[...]

> I also accidentally opened a duplicate at 42349. Can I delete that
> somehow?

I merged the two bugs a couple of minutes ago.

[...]

Happy hacking! Gio'.

-- 
Giovanni Biscuolo

Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]

Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 27 Jul 2020 09:56:01 GMT) Full text and rfc822 format available.

Notification sent to Anders Thuné <asse.97 <at> gmail.com>:
bug acknowledged by developer. (Mon, 27 Jul 2020 09:56:01 GMT) Full text and rfc822 format available.

Message #33 received at 42348-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Anders Thuné <asse.97 <at> gmail.com>
Cc: 42348-done <at> debbugs.gnu.org
Subject: Re: [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
Date: Mon, 27 Jul 2020 11:55:24 +0200
Hi Anders,

Anders Thuné <asse.97 <at> gmail.com> skribis:

> This patch series adds xdg-desktop-portal and the xdg-desktop-portal-gtk backend.
> It also adds pipewire 0.3 (which xdg-desktop-portal depends on) - I did not
> update the existing pipewire package since there were packages depending on it.

It would be nice if you could check as a followup whether we can just
upgrade ‘pipewire’ to 0.3.  See ‘guix refresh -l pipewire <at> 0.2’ for the
list of dependents to rebuild.

> xdg-desktop-portal greatly improves the usability of Flatpak-installed apps,
> allowing them to open file chooser dialogs, open links, et.c. This was
> requested in issue 37289.

You would still need to make it a dependency of Flatpak though, no?

> Anders Thuné (4):
>   gnu: Add pipewire-0.3.
>   gnu: Add libportal.
>   gnu: Add xdg-desktop-portal.
>   gnu: Add xdg-desktop-portal-gtk.

I took the liberty to tweak descriptions according to our guidelines:

  https://guix.gnu.org/manual/en/html_node/Synopses-and-Descriptions.html

Applied, thanks!

Ludo’.




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 27 Jul 2020 09:56:02 GMT) Full text and rfc822 format available.

Notification sent to Anders Thuné <asse.97 <at> gmail.com>:
bug acknowledged by developer. (Mon, 27 Jul 2020 09:56:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#42348; Package guix-patches. (Sat, 01 Aug 2020 20:03:02 GMT) Full text and rfc822 format available.

Message #41 received at 42348-done <at> debbugs.gnu.org (full text, mbox):

From: Anders Thuné <asse.97 <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 42348-done <at> debbugs.gnu.org
Subject: Re: [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
Date: Sat, 01 Aug 2020 22:02:10 +0200
Hi Ludo,

> It would be nice if you could check as a followup whether we can just
> upgrade ‘pipewire’ to 0.3.  See ‘guix refresh -l pipewire <at> 0.2’ for the
> list of dependents to rebuild.

I checked, `mutter` currently depends on pipewire 0.2 and does
not build with 0.3.

>> xdg-desktop-portal greatly improves the usability of Flatpak-installed apps,
>> allowing them to open file chooser dialogs, open links, et.c. This was
>> requested in issue 37289.
>
> You would still need to make it a dependency of Flatpak though, no?

All that's needed is for xdg-desktop-portal and a backend to be installed
in the profile alongside flatpak. To improve the user experience, I
guess it would be good to make them a propagated dependency, yes. I
didn't do so myself since I wasn't sure if it was worth propagating
extra packages which aren't strictly necessary.

> Applied, thanks!

Great, thanks!

Regards,
Anders Thuné




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 30 Aug 2020 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 238 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.