xdg-desktop-portal/xdg-desktop-portal.spec
Dominique Leuenberger 817ef7ee02 - Update to 1.19.0:
+ 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
2024-12-12 11:29:19 +00:00

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