Debarshi Ray 447f248
%global flatpak_version 1.5.0
cd55fde
%global geoclue_version 2.5.2
Debarshi Ray ace5b8f
%global glib_version 2.69.1
Bastien Nocera ea48a3e
%global low_memory_monitor_version 2.0
642dc7d
%global pipewire_version 0.2.90
3172a43
Igor Gnatenko 3a76d2b
Name:    xdg-desktop-portal
0dfd869
Version: 1.18.4
bd4f8aa
Release: %autorelease
Igor Gnatenko 3a76d2b
Summary: Portal frontend service to flatpak
Igor Gnatenko 3a76d2b
59d1e98
# doc/website is CC0-1.0 but it is not included in rpm
59d1e98
License: LGPL-2.1-or-later
Igor Gnatenko 3a76d2b
URL:     https://github.com/flatpak/xdg-desktop-portal/
Igor Gnatenko 3a76d2b
Source0: https://github.com/flatpak/xdg-desktop-portal/releases/download/%{version}/%{name}-%{version}.tar.xz
Igor Gnatenko 3a76d2b
614235e
BuildRequires: gcc
642dc7d
BuildRequires: gettext
642dc7d
BuildRequires: meson
2a35e2a
BuildRequires: systemd-rpm-macros
Debarshi Ray 447f248
BuildRequires: pkgconfig(flatpak) >= %{flatpak_version}
8dbb769
BuildRequires: pkgconfig(fuse3)
8dbb769
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
Bastien Nocera ea48a3e
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_version}
e6996cd
BuildRequires: pkgconfig(json-glib-1.0)
cd55fde
BuildRequires: pkgconfig(libgeoclue-2.0) >= %{geoclue_version}
fbc0514
BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_version}
642dc7d
BuildRequires: pkgconfig(libportal)
8dbb769
BuildRequires: pkgconfig(libsystemd)
bf44759
BuildRequires: python3-dbusmock
bf44759
BuildRequires: python3-gobject-base
bf44759
BuildRequires: python3-pytest
73dd6bc
%if %{undefined rhel}
bf44759
BuildRequires: python3-pytest-xdist
73dd6bc
%endif
7027bf3
BuildRequires: /usr/bin/rst2man
Igor Gnatenko 3a76d2b
BuildRequires: /usr/bin/xmlto
fbc0514
Igor Gnatenko 3a76d2b
Requires:      dbus
cd55fde
Requires:      geoclue2 >= %{geoclue_version}
Debarshi Ray 2adae9a
Requires:      glib2%{?_isa} >= %{glib_version}
65e0b1c
Recommends:    pipewire >= %{pipewire_version}
Debarshi Ray 2adae9a
Requires:      pipewire-libs%{?_isa} >= %{pipewire_version}
b30f2aa
# Required for the document portal.
6a56c51
Requires:      fuse3
Bastien Nocera ea48a3e
# Required for the GMemoryMonitor GIO API
93b9136
Recommends:    low-memory-monitor >= %{low_memory_monitor_version}
Igor Gnatenko 3a76d2b
93310f7
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
Colin Walters 24d5f35
%if 0%{?rhel} >= 10
93310f7
ExcludeArch:    %{ix86}
Colin Walters 24d5f35
%endif
93310f7
Igor Gnatenko 3a76d2b
%description
Igor Gnatenko 3a76d2b
xdg-desktop-portal works by exposing a series of D-Bus interfaces known as
Igor Gnatenko 3a76d2b
portals under a well-known name (org.freedesktop.portal.Desktop) and object
Igor Gnatenko 3a76d2b
path (/org/freedesktop/portal/desktop). The portal interfaces include APIs for
Igor Gnatenko 3a76d2b
file access, opening URIs, printing and others.
Igor Gnatenko 3a76d2b
Igor Gnatenko 3a76d2b
%package  devel
Igor Gnatenko 3a76d2b
Summary:  Development files for %{name}
Igor Gnatenko 3a76d2b
Requires: %{name}%{?_isa} = %{version}-%{release}
Igor Gnatenko 3a76d2b
Igor Gnatenko 3a76d2b
%description devel
Igor Gnatenko 3a76d2b
The pkg-config file for %{name}.
Igor Gnatenko 3a76d2b
2a2b28b
Igor Gnatenko 3a76d2b
%prep
fbc0514
%autosetup -p1
fbc0514
Igor Gnatenko 3a76d2b
Igor Gnatenko 3a76d2b
%build
642dc7d
%meson
642dc7d
%meson_build
Igor Gnatenko 3a76d2b
2a2b28b
Igor Gnatenko 3a76d2b
%install
642dc7d
%meson_install
2a2b28b
install -dm 755 %{buildroot}/%{_pkgdocdir}
2a2b28b
install -pm 644 README.md %{buildroot}/%{_pkgdocdir}
2a2b28b
# This directory is used by implementations such as xdg-desktop-portal-gtk.
b51dae0
install -dm 755 %{buildroot}/%{_datadir}/xdg-desktop-portal/portals
2a2b28b
313c1ae
%find_lang %{name}
Igor Gnatenko 3a76d2b
313c1ae
6fd5cee
%post
b51dae0
%systemd_user_post xdg-desktop-portal.service
b30f2aa
%systemd_user_post xdg-document-portal.service
b30f2aa
%systemd_user_post xdg-permission-store.service
6fd5cee
6fd5cee
6fd5cee
%preun
b51dae0
%systemd_user_preun xdg-desktop-portal.service
b30f2aa
%systemd_user_preun xdg-document-portal.service
b30f2aa
%systemd_user_preun xdg-permission-store.service
6fd5cee
6fd5cee
313c1ae
%files -f %{name}.lang
Igor Gnatenko 3a76d2b
%doc %{_pkgdocdir}
Igor Gnatenko 3a76d2b
%license COPYING
Igor Gnatenko 3a76d2b
%{_datadir}/dbus-1/interfaces/org.freedesktop.portal.*.xml
Igor Gnatenko 3a76d2b
%{_datadir}/dbus-1/interfaces/org.freedesktop.impl.portal.*.xml
Igor Gnatenko 3a76d2b
%{_datadir}/dbus-1/services/org.freedesktop.portal.Desktop.service
b30f2aa
%{_datadir}/dbus-1/services/org.freedesktop.portal.Documents.service
b30f2aa
%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.PermissionStore.service
b51dae0
%{_datadir}/xdg-desktop-portal/
b30f2aa
%{_libexecdir}/xdg-desktop-portal
8dbb769
%{_libexecdir}/xdg-desktop-portal-rewrite-launchers
8dbb769
%{_libexecdir}/xdg-desktop-portal-validate-icon
b30f2aa
%{_libexecdir}/xdg-document-portal
b30f2aa
%{_libexecdir}/xdg-permission-store
7027bf3
%{_mandir}/man5/portals.conf.5*
b51dae0
%{_userunitdir}/xdg-desktop-portal.service
8dbb769
%{_userunitdir}/xdg-desktop-portal-rewrite-launchers.service
b30f2aa
%{_userunitdir}/xdg-document-portal.service
b30f2aa
%{_userunitdir}/xdg-permission-store.service
Igor Gnatenko 3a76d2b
Igor Gnatenko 3a76d2b
%files devel
1d9fce0
%{_datadir}/pkgconfig/xdg-desktop-portal.pc
Igor Gnatenko 3a76d2b
2a2b28b
Igor Gnatenko 3a76d2b
%changelog
bd4f8aa
%autochangelog