3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
inherit autotools systemd
|
|
6 |
PYTHON_COMPAT=( python3_{10..12} )
|
|
7 |
|
|
8 |
inherit meson python-any-r1 systemd
|
7 |
9 |
|
8 |
10 |
DESCRIPTION="Desktop integration portal"
|
9 |
11 |
HOMEPAGE="https://flatpak.org/ https://github.com/flatpak/xdg-desktop-portal"
|
... | ... | |
11 |
13 |
|
12 |
14 |
LICENSE="LGPL-2.1"
|
13 |
15 |
SLOT="0"
|
14 |
|
KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86"
|
15 |
|
IUSE="geolocation screencast systemd"
|
|
16 |
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
|
|
17 |
IUSE="geolocation flatpak seccomp systemd test"
|
|
18 |
RESTRICT="!test? ( test )"
|
|
19 |
# Upstream expect flatpak to be used w/ seccomp and flatpak needs bwrap anyway
|
|
20 |
REQUIRED_USE="flatpak? ( seccomp )"
|
16 |
21 |
|
17 |
22 |
DEPEND="
|
18 |
23 |
>=dev-libs/glib-2.66:2
|
19 |
24 |
dev-libs/json-glib
|
|
25 |
dev-python/docutils
|
|
26 |
>=media-video/pipewire-0.3:=
|
20 |
27 |
>=sys-fs/fuse-3.10.0:3[suid]
|
21 |
28 |
x11-libs/gdk-pixbuf
|
22 |
29 |
geolocation? ( >=app-misc/geoclue-2.5.3:2.0 )
|
23 |
|
screencast? ( >=media-video/pipewire-0.3:= )
|
|
30 |
flatpak? ( sys-apps/flatpak )
|
|
31 |
seccomp? ( sys-apps/bubblewrap )
|
24 |
32 |
systemd? ( sys-apps/systemd )
|
25 |
33 |
"
|
26 |
|
RDEPEND="${DEPEND}
|
|
34 |
RDEPEND="
|
|
35 |
${DEPEND}
|
27 |
36 |
sys-apps/dbus
|
28 |
37 |
"
|
29 |
38 |
BDEPEND="
|
30 |
39 |
dev-util/gdbus-codegen
|
31 |
40 |
sys-devel/gettext
|
32 |
41 |
virtual/pkgconfig
|
|
42 |
test? (
|
|
43 |
${PYTHON_DEPS}
|
|
44 |
dev-libs/libportal
|
|
45 |
$(python_gen_any_dep '
|
|
46 |
dev-python/pytest[${PYTHON_USEDEP}]
|
|
47 |
dev-python/pytest-xdist[${PYTHON_USEDEP}]
|
|
48 |
dev-python/python-dbusmock[${PYTHON_USEDEP}]
|
|
49 |
')
|
|
50 |
)
|
33 |
51 |
"
|
34 |
52 |
|
35 |
53 |
PATCHES=(
|
36 |
|
"${FILESDIR}"/${P}-delay-open-fix.patch
|
|
54 |
# These tests require connections to pipewire, internet, /dev/fuse
|
|
55 |
"${FILESDIR}/${P}-sandbox-disable-failing-tests.patch"
|
|
56 |
|
|
57 |
# https://github.com/flatpak/xdg-desktop-portal/pull/1100
|
|
58 |
"${FILESDIR}/0001-meson.build-allow-linux-to-build-without-flatpak-ins.patch"
|
|
59 |
"${FILESDIR}/0002-meson.build-allow-linux-to-build-without-bubblewrap.patch"
|
|
60 |
"${FILESDIR}/0003-Make-flatpak-bwrap-optional.patch"
|
37 |
61 |
)
|
38 |
62 |
|
39 |
|
src_prepare() {
|
40 |
|
default
|
41 |
|
eautoreconf
|
|
63 |
pkg_setup() {
|
|
64 |
use test && python-any-r1_pkg_setup
|
|
65 |
}
|
|
66 |
|
|
67 |
python_check_deps() {
|
|
68 |
python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
|
|
69 |
python_has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]" &&
|
|
70 |
python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
|
42 |
71 |
}
|
43 |
72 |
|
44 |
73 |
src_configure() {
|
45 |
|
local myeconfargs=(
|
46 |
|
--disable-docbook-docs # requires flatpak
|
47 |
|
--disable-libportal # not packaged
|
48 |
|
--with-systemduserunitdir="$(systemd_get_userunitdir)"
|
49 |
|
$(use_enable geolocation geoclue)
|
50 |
|
$(use_enable screencast pipewire)
|
51 |
|
$(use_with systemd)
|
|
74 |
local emesonargs=(
|
|
75 |
-Ddbus-service-dir="${EPREFIX}/usr/share/dbus-1/services"
|
|
76 |
-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
|
|
77 |
$(meson_feature flatpak)
|
|
78 |
# Only used for tests
|
|
79 |
$(meson_feature test libportal)
|
|
80 |
$(meson_feature geolocation geoclue)
|
|
81 |
$(meson_feature seccomp bwrap)
|
|
82 |
$(meson_feature systemd)
|
|
83 |
# Requires flatpak
|
|
84 |
-Ddocbook-docs=disabled
|
|
85 |
# -Dxmlto-flags=
|
|
86 |
-Ddatarootdir="${EPREFIX}/usr/share"
|
|
87 |
-Dman-pages=enabled
|
|
88 |
-Dinstalled-tests=false
|
|
89 |
$(meson_feature test pytest)
|
52 |
90 |
)
|
53 |
|
econf "${myeconfargs[@]}"
|
|
91 |
|
|
92 |
meson_src_configure
|
54 |
93 |
}
|
55 |
94 |
|
56 |
95 |
pkg_postinst() {
|