* [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
@ 2020-07-13 23:20 Anders Thuné
2020-07-14 7:58 ` Giovanni Biscuolo
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Anders Thuné @ 2020-07-13 23:20 UTC (permalink / raw)
To: 42348; +Cc: Anders Thuné
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
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
2020-07-13 23:20 [bug#42348] [PATCH 0/4] Add xdg-desktop-portal Anders Thuné
@ 2020-07-14 7:58 ` Giovanni Biscuolo
2020-07-14 8:16 ` Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
2020-07-27 9:55 ` bug#42348: [PATCH 0/4] Add xdg-desktop-portal Ludovic Courtès
2 siblings, 1 reply; 10+ messages in thread
From: Giovanni Biscuolo @ 2020-07-14 7:58 UTC (permalink / raw)
To: Anders Thuné, 42348; +Cc: Anders Thuné
[-- Attachment #1: Type: text/plain, Size: 600 bytes --]
Hello Anders,
thank you for working on this
Anders Thuné <asse.97@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
2020-07-14 7:58 ` Giovanni Biscuolo
@ 2020-07-14 8:16 ` Anders Thuné
2020-07-14 13:02 ` Giovanni Biscuolo
0 siblings, 1 reply; 10+ messages in thread
From: Anders Thuné @ 2020-07-14 8:16 UTC (permalink / raw)
To: 42348
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@xelera.eu> writes:
> Hello Anders,
>
> thank you for working on this
>
> Anders Thuné <asse.97@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'
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3.
2020-07-13 23:20 [bug#42348] [PATCH 0/4] Add xdg-desktop-portal Anders Thuné
2020-07-14 7:58 ` Giovanni Biscuolo
@ 2020-07-14 8:18 ` Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 2/4] gnu: Add libportal Anders Thuné
` (2 more replies)
2020-07-27 9:55 ` bug#42348: [PATCH 0/4] Add xdg-desktop-portal Ludovic Courtès
2 siblings, 3 replies; 10+ messages in thread
From: Anders Thuné @ 2020-07-14 8:18 UTC (permalink / raw)
To: 42348; +Cc: Anders Thuné
* 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@outlook.com>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Anders Thuné <asse.97@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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 2/4] gnu: Add libportal.
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
@ 2020-07-14 8:18 ` Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 3/4] gnu: Add xdg-desktop-portal Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 4/4] gnu: Add xdg-desktop-portal-gtk Anders Thuné
2 siblings, 0 replies; 10+ messages in thread
From: Anders Thuné @ 2020-07-14 8:18 UTC (permalink / raw)
To: 42348; +Cc: Anders Thuné
* 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@kadziolka.net>
;;; Copyright © 2020 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020 Anders Thuné <asse.97@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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 3/4] gnu: Add xdg-desktop-portal.
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 2/4] gnu: Add libportal Anders Thuné
@ 2020-07-14 8:18 ` Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 4/4] gnu: Add xdg-desktop-portal-gtk Anders Thuné
2 siblings, 0 replies; 10+ messages in thread
From: Anders Thuné @ 2020-07-14 8:18 UTC (permalink / raw)
To: 42348; +Cc: Anders Thuné
* 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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 4/4] gnu: Add xdg-desktop-portal-gtk.
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 2/4] gnu: Add libportal Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 3/4] gnu: Add xdg-desktop-portal Anders Thuné
@ 2020-07-14 8:18 ` Anders Thuné
2 siblings, 0 replies; 10+ messages in thread
From: Anders Thuné @ 2020-07-14 8:18 UTC (permalink / raw)
To: 42348; +Cc: Anders Thuné
* 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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
2020-07-14 8:16 ` Anders Thuné
@ 2020-07-14 13:02 ` Giovanni Biscuolo
0 siblings, 0 replies; 10+ messages in thread
From: Giovanni Biscuolo @ 2020-07-14 13:02 UTC (permalink / raw)
To: Anders Thuné, 42348
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
Hi Anders,
Anders Thuné <asse.97@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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#42348: [PATCH 0/4] Add xdg-desktop-portal
2020-07-13 23:20 [bug#42348] [PATCH 0/4] Add xdg-desktop-portal Anders Thuné
2020-07-14 7:58 ` Giovanni Biscuolo
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
@ 2020-07-27 9:55 ` Ludovic Courtès
2020-08-01 20:02 ` [bug#42348] " Anders Thuné
2 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2020-07-27 9:55 UTC (permalink / raw)
To: Anders Thuné; +Cc: 42348-done
Hi Anders,
Anders Thuné <asse.97@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@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’.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [bug#42348] [PATCH 0/4] Add xdg-desktop-portal
2020-07-27 9:55 ` bug#42348: [PATCH 0/4] Add xdg-desktop-portal Ludovic Courtès
@ 2020-08-01 20:02 ` Anders Thuné
0 siblings, 0 replies; 10+ messages in thread
From: Anders Thuné @ 2020-08-01 20:02 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 42348-done
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@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é
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-08-01 20:03 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-13 23:20 [bug#42348] [PATCH 0/4] Add xdg-desktop-portal Anders Thuné
2020-07-14 7:58 ` Giovanni Biscuolo
2020-07-14 8:16 ` Anders Thuné
2020-07-14 13:02 ` Giovanni Biscuolo
2020-07-14 8:18 ` [bug#42348] [PATCH 1/4] gnu: Add pipewire-0.3 Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 2/4] gnu: Add libportal Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 3/4] gnu: Add xdg-desktop-portal Anders Thuné
2020-07-14 8:18 ` [bug#42348] [PATCH 4/4] gnu: Add xdg-desktop-portal-gtk Anders Thuné
2020-07-27 9:55 ` bug#42348: [PATCH 0/4] Add xdg-desktop-portal Ludovic Courtès
2020-08-01 20:02 ` [bug#42348] " Anders Thuné
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.