## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%bcond docs %{undefined rhel}

%global flatpak_version 1.5.0
%global geoclue_version 2.5.2
%global glib_version 2.72
%global low_memory_monitor_version 2.0
%global pipewire_version 0.2.90

Name:    xdg-desktop-portal
Version: 1.20.0
Release: %autorelease
Summary: Portal frontend service to flatpak

# doc/website is CC0-1.0 but it is not included in rpm
License: LGPL-2.1-or-later
URL:     https://github.com/flatpak/xdg-desktop-portal/
Source0: https://github.com/flatpak/xdg-desktop-portal/releases/download/%{version}/%{name}-%{version}.tar.xz

Patch0:  xdp-make-sure-host-registry-xdpappinfo-updates-become-visible.patch

BuildRequires: gcc
BuildRequires: gettext
BuildRequires: meson
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(flatpak) >= %{flatpak_version}
BuildRequires: pkgconfig(fuse3)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(libgeoclue-2.0) >= %{geoclue_version}
BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_version}
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(umockdev-1.0)
BuildRequires: python3-dbusmock
BuildRequires: python3-gobject-base
BuildRequires: python3-pytest
%if %{undefined rhel}
BuildRequires: python3-pytest-xdist
%endif
%if %{with docs}
BuildRequires: python3-furo
BuildRequires: python3-sphinx-copybutton
BuildRequires: python3-sphinxext-opengraph
BuildRequires: /usr/bin/sphinx-build
%endif
BuildRequires: /usr/bin/gst-inspect-1.0
BuildRequires: gstreamer1-plugins-good
# for man-pages
BuildRequires: /usr/bin/rst2man

Requires:      dbus
Requires:      geoclue2 >= %{geoclue_version}
Requires:      glib2%{?_isa} >= %{glib_version}
Recommends:    pipewire >= %{pipewire_version}
Requires:      pipewire-libs%{?_isa} >= %{pipewire_version}
# Required for the document portal.
Requires:      fuse3
# Required for the GMemoryMonitor GIO API
Recommends:    low-memory-monitor >= %{low_memory_monitor_version}

# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
%if 0%{?rhel} >= 10
ExcludeArch:    %{ix86}
%endif

%description
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:  Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}

%description devel
The pkg-config file for %{name}.


%prep
%autosetup -p1


%build
%meson %{!?with_docs:-Ddocumentation=disabled}
%meson_build


%install
%meson_install
install -dm 755 %{buildroot}/%{_pkgdocdir}
install -pm 644 README.md %{buildroot}/%{_pkgdocdir}
# This directory is used by implementations such as xdg-desktop-portal-gtk.
install -dm 755 %{buildroot}/%{_datadir}/xdg-desktop-portal/portals

%find_lang %{name}


%post
%systemd_user_post xdg-desktop-portal.service
%systemd_user_post xdg-document-portal.service
%systemd_user_post xdg-permission-store.service


%preun
%systemd_user_preun xdg-desktop-portal.service
%systemd_user_preun xdg-document-portal.service
%systemd_user_preun xdg-permission-store.service


%files -f %{name}.lang
%doc %{_pkgdocdir}
%license COPYING
%{_datadir}/dbus-1/interfaces/org.freedesktop.host.portal.Registry.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.portal.*.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.impl.portal.*.xml
%{_datadir}/dbus-1/services/org.freedesktop.portal.Desktop.service
%{_datadir}/dbus-1/services/org.freedesktop.portal.Documents.service
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.PermissionStore.service
%{_datadir}/xdg-desktop-portal/
%{_libexecdir}/xdg-desktop-portal
%{_libexecdir}/xdg-desktop-portal-rewrite-launchers
%{_libexecdir}/xdg-desktop-portal-validate-icon
%{_libexecdir}/xdg-desktop-portal-validate-sound
%{_libexecdir}/xdg-document-portal
%{_libexecdir}/xdg-permission-store
%{_mandir}/man5/portals.conf.5*
%{_userunitdir}/xdg-desktop-portal.service
%{_userunitdir}/xdg-desktop-portal-rewrite-launchers.service
%{_userunitdir}/xdg-document-portal.service
%{_userunitdir}/xdg-permission-store.service

%files devel
%{_datadir}/pkgconfig/xdg-desktop-portal.pc


%changelog
## START: Generated by rpmautospec
* Mon Mar 10 2025 Jan Grulich <jgrulich@redhat.com> - 1.20.0-1
- Update to 1.20.0 (#2345454)

* Mon Jan 20 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 1.19.2-1
- Update to 1.19.2

* Thu Jan 16 2025 Michael Catanzaro <mcatanzaro@redhat.com> - 1.19.1-2
- Fix camera portal rejecting camera permission

* Sun Dec 22 2024 David King <amigadave@amigadave.com> - 1.19.1-1
- Update to 1.19.1 (#2333691)

* Sun Oct 13 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.19.0-2
- Disable docs on RHEL

* Fri Oct 11 2024 David King <amigadave@amigadave.com> - 1.19.0-1
- Update to 1.19.0 (#2317970)

* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Fri Apr 19 2024 David King <amigadave@amigadave.com> - 1.18.4-1
- Update to 1.18.4 (#2276088)

* Fri Apr 05 2024 David King <amigadave@amigadave.com> - 1.18.3-1
- Update to 1.18.3 (#2273546)

* Tue Apr 02 2024 Jan Grulich <jgrulich@redhat.com> - 1.18.2-6
- Upstream backport - PipeWire: destroy registry object with remote

* Tue Feb 06 2024 Miroslav Suchý <msuchy@redhat.com> - 1.18.2-5
- Migrate to SPDX license

* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 15 2024 Colin Walters <walters@verbum.org> - 1.18.2-3
- Scope ExcludeArch: ix86 to rhel10+

* Tue Dec 26 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.18.2-2
- https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval

* Wed Nov 22 2023 Kalev Lember <klember@redhat.com> - 1.18.2-1
- Update to 1.18.2

* Sat Nov 18 2023 Pete Walter <pwalter@fedoraproject.org> - 1.18.1-3
- Require fuse3 instead of /usr/bin/fusermount3

* Tue Nov 14 2023 Debarshi Ray <debarshir@gnome.org> - 1.18.1-2
- Specify the minimum BuildRequires for pkgconfig(flatpak)

* Thu Oct 26 2023 Kalev Lember <klember@redhat.com> - 1.18.1-1
- Update to 1.18.1

* Fri Oct 06 2023 Jan Grulich <jgrulich@redhat.com> - 1.18.0-3
- Upstream backport: delete transient permissions when peer dies

* Tue Sep 26 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 1.18.0-2
- Change dependency on low-memory-monitor to Recommends

* Tue Sep 19 2023 Kalev Lember <klember@redhat.com> - 1.18.0-1
- Update to 1.18.0

* Thu Sep 14 2023 Kalev Lember <klember@redhat.com> - 1.17.2-1
- Update to 1.17.2

* Fri Aug 25 2023 Kalev Lember <klember@redhat.com> - 1.17.0-3
- Package portals.conf man page

* Wed Aug 09 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.17.0-2
- Skip python-pytest-xdist in RHEL builds

* Sat Aug 05 2023 Kalev Lember <klember@redhat.com> - 1.17.0-1
- Update to 1.17.0

* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Mon Apr 10 2023 Adam Williamson <awilliam@redhat.com> - 1.16.0-3
- Backport MR #985 to help with apps launching slow on KDE (#2176759)

* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Thu Dec 15 2022 David King <amigadave@amigadave.com> - 1.16.0-1
- Update to 1.16.0 (#2152793)

* Sat Nov 26 2022 David King <amigadave@amigadave.com> - 1.15.0-4
- Update fusermount dependency (#2142385)

* Sat Oct 22 2022 Michael Catanzaro <mcatanzaro@redhat.com> - 1.15.0-3
- Remove Recommends: flatpak

* Fri Aug 12 2022 Kalev Lember <klember@redhat.com> - 1.15.0-1
- Update to 1.15.0

* Tue Aug 02 2022 Kalev Lember <klember@redhat.com> - 1.14.6-1
- Update to 1.14.6

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jul 20 2022 Kalev Lember <klember@redhat.com> - 1.14.5-1
- Update to 1.14.5

* Thu May 05 2022 David King <amigadave@amigadave.com> - 1.14.4-1
- Update to 1.14.4 (#2065842)

* Sat Apr 16 2022 David King <amigadave@amigadave.com> - 1.14.3-1
- Update to 1.14.3 (#2065842)

* Sat Apr 16 2022 David King <amigadave@amigadave.com> - 1.12.4-1
- Update to 1.12.4

* Tue Apr 05 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.12.3-2
- Fix the GLib dependency

* Mon Mar 28 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.12.3-1
- Update to 1.12.3

* Fri Mar 25 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.12.2-2
- Explicit library Requires should be arch-specific

* Fri Mar 25 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.12.2-1
- Update to 1.12.2

* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Thu Dec 23 2021 David King <amigadave@amigadave.com> - 1.12.1-1
- Update to 1.12.1

* Tue Dec 21 2021 David King <amigadave@amigadave.com> - 1.12.0-1
- Update to 1.12.0

* Tue Nov 09 2021 Aleksei Bavshin <alebastr@fedoraproject.org> - 1.10.1-2
- Add patch for org.freedesktop.FileManager1 deadlock (#2020371)

* Mon Sep 20 2021 David King <amigadave@amigadave.com> - 1.10.1-1
- Update to 1.10.1 (#2006126)

* Thu Sep 16 2021 David King <amigadave@amigadave.com> - 1.10.0-1
- Update to 1.10.0 (#2004782)

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Thu Apr 15 2021 Tomas Popela <tpopela@redhat.com> - 1.8.1-3
- Drop PipeWire 0.2 requirement as Chrom[e|ium] 90 now depends on PipeWire 0.3

* Wed Feb 17 2021 David King <amigadave@amigadave.com> - 1.8.1-2
- Drop unused fontconfig BuildRequires

* Wed Feb 17 2021 Kalev Lember <klember@redhat.com> - 1.8.1-1
- Update to 1.8.1

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Mon Sep 14 2020 Kalev Lember <klember@redhat.com> - 1.8.0-1
- Update to 1.8.0

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.7.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Thu Jun 25 2020 Tomas Popela <tpopela@redhat.com> - 1.7.2-2
- Start to require pipewire0.2-libs so screen sharing works out of the box in Chrome and Chromium.

* Fri Apr 03 2020 David King <amigadave@amigadave.com> - 1.7.2-1
- Update to 1.7.2 (#1820660)

* Sat Mar 28 2020 Kalev Lember <klember@redhat.com> - 1.7.1-1
- Update to 1.7.1

* Sat Mar 14 2020 David King <amigadave@amigadave.com> - 1.7.0-1
- Update to 1.7.0 (#1813534)

* Tue Mar 10 2020 Kalev Lember <klember@redhat.com> - 1.6.0-4
- Backport PipeWire 0.3 support

* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Fri Jan 03 2020 Bastien Nocera <bnocera@redhat.com> - 1.6.0-2
+ xdg-desktop-portal-1.6.0-2
- Add requires to implement GMemoryMonitor

* Fri Dec 20 2019 David King <amigadave@amigadave.com> - 1.6.0-1
- Update to 1.6.0

* Thu Dec 12 2019 David King <amigadave@amigadave.com> - 1.5.4-1
- Update to 1.5.4

* Thu Nov 28 2019 David King <amigadave@amigadave.com> - 1.5.3-1
- Update to 1.5.3

* Tue Oct 29 2019 David King <amigadave@amigadave.com> - 1.5.2-1
- Update to 1.5.2 (#1766780)

* Tue Oct 22 2019 David King <amigadave@amigadave.com> - 1.5.1-1
- Update to 1.5.1 (#1714704)

* Fri Oct 04 2019 David King <amigadave@amigadave.com> - 1.5.0-1
- Update to 1.5.0

* Mon Sep 16 2019 Kalev Lember <klember@redhat.com> - 1.4.2-3
- Avoid a hard dep on pipewire daemon

* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Tue May 28 2019 Kalev Lember <klember@redhat.com> - 1.4.2-1
- Update to 1.4.2

* Thu Feb 14 2019 David King <amigadave@amigadave.com> - 1.2.0-3
- Drop icon validator Requires to Recommends

* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sat Jan 26 2019 David King <amigadave@amigadave.com> - 1.2.0-1
- Update to 1.2.0 (#1669552)

* Wed Jan 16 2019 Kalev Lember <klember@redhat.com> - 1.1.1-1
- Update to 1.1.1

* Tue Oct 09 2018 David King <amigadave@amigadave.com> - 1.0.3-1
- Update to 1.0.3

* Mon Sep 03 2018 David King <amigadave@amigadave.com> - 1.0.2-1
- Update to 1.0.2

* Mon Aug 20 2018 David King <amigadave@amigadave.com> - 1.0-1
- Update to 1.0

* Wed Aug 01 2018 Jan Grulich <jgrulich@redhat.com> - 0.99-2
- Rebuild PipeWire 0.2.2

* Tue Jul 24 2018 David King <amigadave@amigadave.com> - 0.99-1
- Update to 0.99

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Apr 25 2018 David King <amigadave@amigadave.com> - 0.11-1
- Update to 0.11 (#1545225)

* Wed Feb 14 2018 David King <amigadave@amigadave.com> - 0.10-1
- Update to 0.10 (#1545225)

* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Sun Nov 19 2017 David King <amigadave@amigadave.com> - 0.9-1
- Update to 0.9 (#1514774)

* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Tue Jun 06 2017 David King <amigadave@amigadave.com> - 0.8-1
- Update to 0.8 (#1458969)

* Fri Mar 31 2017 David King <amigadave@amigadave.com> - 0.6-1
- Update to 0.6

* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Wed Jan 18 2017 David King <amigadave@amigadave.com> - 0.5-1
- Update to 0.5

* Thu Dec 01 2016 David King <amigadave@amigadave.com> - 0.4-1
- Update to 0.4

* Fri Sep 02 2016 David King <amigadave@amigadave.com> - 0.3-1
- Update to 0.3

* Fri Jul 29 2016 David King <amigadave@amigadave.com> - 0.2-1
- Update to 0.2 (#1361575)

* Tue Jul 12 2016 David King <amigadave@amigadave.com> - 0.1-2
- Own the portals directory

* Mon Jul 11 2016 David King <amigadave@amigadave.com> - 0.1-1
- Initial Fedora packaging

## END: Generated by rpmautospec