public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/xdg-desktop-portal/, sys-apps/xdg-desktop-portal/files/
Date: Sat, 14 Oct 2023 02:26:50 +0000 (UTC)	[thread overview]
Message-ID: <1697250101.c551c46f7f8ce26730d6424552e83fb4d74a63e2.sam@gentoo> (raw)

commit:     c551c46f7f8ce26730d6424552e83fb4d74a63e2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 14 02:20:56 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct 14 02:21:41 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c551c46f

sys-apps/xdg-desktop-portal: provide default portal config

Install a default to avoid breakage: >=1.18.0 assumes that DEs/WMs
will install their own, but we want some fallback in case they don't
(so will probably keep this forever). DEs need time to catch up even
if they will eventually provide one anyway. See bug #915356.

TODO: Add some docs on wiki for users to add their own preference
for minimalist WMs etc.

Thanks to abby from Void for pointing me to https://github.com/void-linux/void-packages/commit/b4c404aac0af3ced08671a8840cd261198689cef
and psykose as well.

Bug: https://github.com/flatpak/xdg-desktop-portal/issues/1017
Bug: https://github.com/flatpak/xdg-desktop-portal/issues/1077
Bug: https://github.com/flatpak/xdg-desktop-portal/issues/1102
Closes: https://bugs.gentoo.org/915356
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../xdg-desktop-portal/files/default-portals.conf  |   2 +
 .../xdg-desktop-portal-1.18.0-r2.ebuild            | 121 +++++++++++++++++++++
 2 files changed, 123 insertions(+)

diff --git a/sys-apps/xdg-desktop-portal/files/default-portals.conf b/sys-apps/xdg-desktop-portal/files/default-portals.conf
new file mode 100644
index 000000000000..028e24d2bbee
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal/files/default-portals.conf
@@ -0,0 +1,2 @@
+[preferred]
+default=*

diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0-r2.ebuild b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0-r2.ebuild
new file mode 100644
index 000000000000..a5c4f5c61cce
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.18.0-r2.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-any-r1 systemd
+
+DESCRIPTION="Desktop integration portal"
+HOMEPAGE="https://flatpak.org/ https://github.com/flatpak/xdg-desktop-portal"
+SRC_URI="https://github.com/flatpak/${PN}/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="geolocation flatpak seccomp systemd test"
+RESTRICT="!test? ( test )"
+# Upstream expect flatpak to be used w/ seccomp and flatpak needs bwrap anyway
+REQUIRED_USE="flatpak? ( seccomp )"
+
+DEPEND="
+	>=dev-libs/glib-2.66:2
+	dev-libs/json-glib
+	dev-python/docutils
+	>=media-video/pipewire-0.3:=
+	>=sys-fs/fuse-3.10.0:3[suid]
+	x11-libs/gdk-pixbuf
+	geolocation? ( >=app-misc/geoclue-2.5.3:2.0 )
+	flatpak? ( sys-apps/flatpak )
+	seccomp? ( sys-apps/bubblewrap )
+	systemd? ( sys-apps/systemd )
+"
+RDEPEND="
+	${DEPEND}
+	sys-apps/dbus
+"
+BDEPEND="
+	dev-util/gdbus-codegen
+	sys-devel/gettext
+	virtual/pkgconfig
+	test? (
+		${PYTHON_DEPS}
+		dev-libs/libportal
+		$(python_gen_any_dep '
+			dev-python/pytest[${PYTHON_USEDEP}]
+			dev-python/pytest-xdist[${PYTHON_USEDEP}]
+			dev-python/python-dbusmock[${PYTHON_USEDEP}]
+		')
+	)
+"
+
+PATCHES=(
+	# These tests require connections to pipewire, internet, /dev/fuse
+	"${FILESDIR}/${P}-sandbox-disable-failing-tests.patch"
+
+	# https://github.com/flatpak/xdg-desktop-portal/pull/1100
+	"${FILESDIR}/0001-meson.build-allow-linux-to-build-without-flatpak-ins.patch"
+	"${FILESDIR}/0002-meson.build-allow-linux-to-build-without-bubblewrap.patch"
+	"${FILESDIR}/0003-Make-flatpak-bwrap-optional.patch"
+)
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+	python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]" &&
+	python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
+}
+
+src_configure() {
+	local emesonargs=(
+		-Ddbus-service-dir="${EPREFIX}/usr/share/dbus-1/services"
+		-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
+		$(meson_feature flatpak)
+		# Only used for tests
+		$(meson_feature test libportal)
+		$(meson_feature geolocation geoclue)
+		$(meson_feature seccomp bwrap)
+		$(meson_feature systemd)
+		# Requires flatpak
+		-Ddocbook-docs=disabled
+		# -Dxmlto-flags=
+		-Ddatarootdir="${EPREFIX}/usr/share"
+		-Dman-pages=enabled
+		-Dinstalled-tests=false
+		$(meson_feature test pytest)
+	)
+
+	meson_src_configure
+}
+
+src_install() {
+	meson_src_install
+
+	# Install a default to avoid breakage: >=1.18.0 assumes that DEs/WMs
+	# will install their own, but we want some fallback in case they don't
+	# (so will probably keep this forever). DEs need time to catch up even
+	# if they will eventually provide one anyway. See bug #915356.
+	#
+	# TODO: Add some docs on wiki for users to add their own preference
+	# for minimalist WMs etc.
+	insinto /usr/share/xdg-desktop-portal
+	newins "${FILESDIR}"/default-portals.conf portals.conf
+}
+
+pkg_postinst() {
+	if ! has_version gui-libs/xdg-desktop-portal-lxqt && ! has_version gui-libs/xdg-desktop-portal-wlr && \
+		! has_version kde-plasma/xdg-desktop-portal-kde && ! has_version sys-apps/xdg-desktop-portal-gnome && \
+		! has_version sys-apps/xdg-desktop-portal-gtk; then
+		elog "${PN} is not usable without any of the following XDP"
+		elog "implementations installed:"
+		elog "  gui-libs/xdg-desktop-portal-lxqt"
+		elog "  gui-libs/xdg-desktop-portal-wlr"
+		elog "  kde-plasma/xdg-desktop-portal-kde"
+		elog "  sys-apps/xdg-desktop-portal-gnome"
+		elog "  sys-apps/xdg-desktop-portal-gtk"
+	fi
+}


             reply	other threads:[~2023-10-14  2:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-14  2:26 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-19 22:50 [gentoo-commits] repo/gentoo:master commit in: sys-apps/xdg-desktop-portal/, sys-apps/xdg-desktop-portal/files/ Sam James
2025-02-28 12:08 Sam James
2023-09-22  6:40 Andrew Ammerlaan
2021-01-23  0:25 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1697250101.c551c46f7f8ce26730d6424552e83fb4d74a63e2.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox