+ The portals.conf parser is now able to handle fallback backends better, and respects the order of backends in the config file. + Try to use the xdg-desktop-portal-gtk backend as a last resort backend, if everything else fails. + Implement getlk and setlk, and honour O_NOFOLLOW, in the Document portal's FUSE filesystem. + Neutralize the Devices portal. Originally the Devices portal was introduced so that services like PulseAudio or PipeWire could request access to microphones and cameras on the behalf of apps. It was not meant to be used by sandboxed apps directly, which is unusual for a portal. Practically, however, it didn't take off. + Implement PID/TID mapping for host system apps. + Add a new "supported_output_file_formats" option to the Print portal. This can be used by apps like browsers to limit the output file formats presented by the Print portal backend. For example, an app can limit file printing to PDF files. + Add a new "GetHostPaths" method to the Document portal, which allows mapping file descriptors to paths on the host system. This can be used by apps to show more meaningful file paths in the user interface. + Like the new method above, the Document portal sets the "user.document-portal.host-path" xattr on files, pointing to the host system file path. The use case is similar to "GetHostPaths". + Make the Background portal more robust when validating autostart files. + Clarify behavior of the File Chooser portal in the documentation pages. + Improve robustness against deleted o_path fds in the Document portal. + Fix a warning in some systems while trying to load Request D-Bus object properties. + Fix a physical inode leak in the Document portal. + Various improvements to the test suite. Python-based tests now run in parallel and are more careful when setting up the mock D-Bus server. Tests also start dbus-monitor if necessary now. FUSE tests of the Document portal have been made more TAP-alike now. + Memory leak fixes in a variety of portals and services, including the permissions database, the Document portal, the File Transfer portal, the Location portal, the Background portal, tests, and the icon validator. And more. There's a lot of memory leak fixes everywhere, really. + Major refactorings of the icon validator. Icons are now limited to 4MB files. + Update XML specification specifying session handle type to match current actual ABI in GlobalShortcuts, Inhibit, RemoteDesktop, and ScreenCast portals. + New and updated translations. - Adapt BuildRequires for new documentation build process: + Add python3-Sphinx + Add python3-furo + Add python3-sphinxcontrib-copybutton + Add python3-sphinxext-opengraph OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/xdg-desktop-portal?expand=0&rev=85
136 lines
4.5 KiB
RPMSpec
136 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package xdg-desktop-portal
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: xdg-desktop-portal
|
|
Version: 1.19.0
|
|
Release: 0
|
|
Summary: A portal frontend service for Flatpak
|
|
License: LGPL-2.1-or-later
|
|
Group: System/Libraries
|
|
URL: https://github.com/flatpak/xdg-desktop-portal
|
|
Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz
|
|
|
|
BuildRequires: docutils
|
|
BuildRequires: meson >= 0.58
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python3-Sphinx
|
|
BuildRequires: python3-furo
|
|
BuildRequires: python3-sphinxcontrib-copybutton
|
|
BuildRequires: python3-sphinxext-opengraph
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: xmlto
|
|
BuildRequires: pkgconfig(flatpak)
|
|
BuildRequires: pkgconfig(fuse3)
|
|
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
|
|
BuildRequires: pkgconfig(gio-2.0)
|
|
BuildRequires: pkgconfig(gio-unix-2.0)
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
BuildRequires: pkgconfig(json-glib-1.0)
|
|
BuildRequires: pkgconfig(libgeoclue-2.0) >= 2.5.2
|
|
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.2.90
|
|
BuildRequires: pkgconfig(libportal)
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
# Break cycle: we buildrequire flatpak, and flatpak has a requires on xdg-desktop-portal
|
|
#!BuildIgnore: xdg-desktop-portal
|
|
# xdg-desktop-portal calls out to fusermount3 (in $PATH) (boo#1197567)
|
|
# document-portal/document-portal-fuse.c: char *umount_argv[] = { "fusermount3", "-u", "-z", (char *) path, NULL };
|
|
Requires: %{_bindir}/fusermount3
|
|
|
|
%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.
|
|
|
|
%package devel
|
|
Summary: A portal frontend service for Flatpak -- Development files
|
|
Group: Development/Languages/C and C++
|
|
Requires: %{name} = %{version}
|
|
|
|
%description devel
|
|
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).
|
|
|
|
This package contains convenience files for developers.
|
|
|
|
%lang_package
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
%build
|
|
%meson \
|
|
-Dpytest=disabled \
|
|
%{nil}
|
|
%meson_build
|
|
|
|
%install
|
|
%meson_install
|
|
|
|
# own the packaging directories
|
|
install -d %{buildroot}%{_datadir}/xdg-desktop-portal/portals
|
|
|
|
%find_lang %{name} %{?no_lang_C}
|
|
|
|
%post
|
|
%systemd_user_post %{name}.service xdg-document-portal.service xdg-permission-store.service
|
|
|
|
%preun
|
|
%systemd_user_preun %{name}.service xdg-document-portal.service xdg-permission-store.service
|
|
|
|
%files
|
|
%license COPYING
|
|
%dir %{_datadir}/dbus-1
|
|
%dir %{_datadir}/dbus-1/interfaces
|
|
%dir %{_datadir}/dbus-1/services
|
|
%{_datadir}/dbus-1/interfaces/*.xml
|
|
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.PermissionStore.service
|
|
%{_datadir}/dbus-1/services/org.freedesktop.portal.Desktop.service
|
|
%{_datadir}/dbus-1/services/org.freedesktop.portal.Documents.service
|
|
%dir %{_datadir}/%{name}
|
|
%dir %{_datadir}/%{name}/portals
|
|
%{_libexecdir}/%{name}
|
|
%{_libexecdir}/xdg-desktop-portal-validate-icon
|
|
%{_libexecdir}/xdg-document-portal
|
|
%{_libexecdir}/xdg-permission-store
|
|
%{_libexecdir}/xdg-desktop-portal-rewrite-launchers
|
|
%{_userunitdir}/%{name}.service
|
|
%{_userunitdir}/xdg-document-portal.service
|
|
%{_userunitdir}/xdg-permission-store.service
|
|
%{_userunitdir}/xdg-desktop-portal-rewrite-launchers.service
|
|
%{_mandir}/man5/portals.conf.5%{?ext_man}
|
|
|
|
%files devel
|
|
%license COPYING
|
|
%doc %{_vpath_builddir}/doc/html
|
|
%if %{pkg_vcmp meson < 0.62.0 }
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
%else
|
|
%{_datadir}/pkgconfig/%{name}.pc
|
|
%endif
|
|
|
|
%files lang -f %{name}.lang
|
|
%license COPYING
|
|
|
|
%changelog
|