Files
gunit/gchannel/packages/xdg-desktop-portal.scm

168 lines
5.8 KiB
Scheme

(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 (gchannel packages libportal)
#: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) #:hide (libportal))
#: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.1")
(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
"1pn0q7nn9xzd2wva9zpxn1dd2kqxwjm2a68yv9gaaa4alh9cvkb6"))
))
(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