(define-module (gchannel packages xdg-desktop-portal) #:use-module (guix bzr-download) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system qt) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gchannel packages extra-cmake-modules) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages fcitx) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) ;intltool #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) #:use-module (gnu packages graph) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages hunspell) #:use-module (gnu packages ibus) #:use-module (gnu packages image) #:use-module ((gnu packages kde-frameworks) #:hide (extra-cmake-modules)) #:use-module (gnu packages kde) #:use-module (gnu packages language) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages man) #:use-module (gnu packages m4) #:use-module (gnu packages networking) #:use-module (gnu packages nss) #:use-module (gnu packages package-management) #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages rdesktop) #:use-module (gnu packages rsync) #:use-module (gnu packages samba) #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages video) #:use-module (gnu packages virtualization) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages wm) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) (define-public xdg-desktop-portal (package (name "xdg-desktop-portal") (version "1.20.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/flatpak/xdg-desktop-portal/releases/download/" version "/xdg-desktop-portal-" version ".tar.xz")) (sha256 (base32 "0fjjaymvpvsjcz7scv5g3i3qzp1f4yyvscfmxlxkzpzgd7qndmik")) )) (build-system meson-build-system) (arguments `(#:configure-flags (list "-Dsystemd=disabled" "-Dtests=disabled") #: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$")))) (add-after 'unpack 'set-home-directory (lambda _ (setenv "HOME" "/tmp")))))) (native-inputs (list gettext-minimal `(,glib "bin") pkg-config python python-dbusmock python-pytest python-pytest-xdist)) (inputs (list bubblewrap dbus flatpak fontconfig fuse gdk-pixbuf geoclue glib json-glib gst-plugins-base libportal umockdev pipewire)) (native-search-paths (list (search-path-specification (variable "XDG_DESKTOP_PORTAL_DIR") (separator #f) (files '("share/xdg-desktop-portal/portals"))))) (home-page "https://github.com/flatpak/xdg-desktop-portal") (synopsis "Desktop integration portal for sandboxed apps") (description "xdg-desktop-portal is a @dfn{portal front-end service} for Flatpak and possibly other desktop containment frameworks. It works by exposing a series of D-Bus interfaces known as portals under a well-known name (@code{org.freedesktop.portal.Desktop}) and object path (@code{/org/freedesktop/portal/desktop}). The portal interfaces include APIs for file access, opening URIs, printing and others.") (license license:lgpl2.1+))) xdg-desktop-portal