Bump & redigest

This commit is contained in:
Mario Fetka
2026-03-11 17:37:19 +01:00
parent d29272711e
commit d8acf75b60
13 changed files with 358 additions and 273 deletions

View File

@@ -1,6 +0,0 @@
AUX default-portals.conf 22 BLAKE2B 06a584551d11a4b2d51bf236eb657cda2360e8b324574a936c9d6f03a2d4c041ce72b6cc8a00740e4773ce654ad1867a818215c1bf610007a9dcd4b7b6b65149 SHA512 29af734e44797d4812165fa7d0be36b9047b1b9cfa12aad3628bb95ee3dbb9ff4efbd8023fb43a63d01c7e8879d58c6634710b47416929d3a7a5ca376ae18451
AUX xdg-desktop-portal-1.21.0-optional-gstreamer.patch 3589 BLAKE2B 7a579e2e858f22662d3a9ce264c80cfb9e721e44d436e1a5c86dd04d82052c80ea14a59cd202a8c9ac443e40acc9fefacda0a331abd1da8315d5b1c8b60c127f SHA512 f39139bfc3384902d83eaad9b9dc1efe143243e367936f6c73c49fa90b3deb265113c775ffdfb948519a7fa96370a6c8e69af87c218fe870f115715257abacb6
AUX xdg-desktop-portal-1.21.0-sandbox-disable-failing-tests.patch 493 BLAKE2B 3082c0c446095c4a4c9ef98435824496b3011226a9a864f092ee06ada2dbee2f479e7cc373e26730b98f585eabc7c322bbc9675ad3c963dd2d8dcc1d3dadf5d3 SHA512 1f7c57f7977f045c72bfdee83e6ead2d62737b47093a48fc63d82014b16367c33bada4334593e4ec2618198298789bad0a9a29660a85f78586a121534868e8d6
AUX xdg-desktop-portal.initd 289 BLAKE2B 50a0a56b43004a903f98cf57caed06786d2f6b1db5f743c1420dd6ac5207a5c785851c38a7f6844cc9536ec9d5d8faad7a927123c201bed8c16ad123fd1de773 SHA512 c2b2b687c3f6e1cbcadf609194c764cdd9bfa72818a5efb25376ddd2ed16e86a7a35ec0a0117569074735e57840c9595a635a9b694364aeaef8076b873b9dafd
DIST xdg-desktop-portal-1.21.0.tar.xz 1185184 BLAKE2B 11cd4b0991d7886482ef0245c268b598fb4c9e3b9d714d4e62fca51331bd981376dcde2abab9ddc3a9ad2c06e03ae7d2cf70e89d80902e93614aadd5c747bfea SHA512 6b9657643c455046f8a31f7c69f69a8fa3f3470fa8086a4b6be0fb44dc719954416f63140acc9eec4f018e86153dbab6bedcdaf3360f4d71f173ed3fe1249c9d
EBUILD xdg-desktop-portal-1.21.0.ebuild 4098 BLAKE2B 0043978661a53b14bcf435fb9eb63bd7fa5e70fa7ca4cea430090eadd7a5323483d7a81b18417ef39aa621df17414a529a051a91455fe2137139f02cc954ddbe SHA512 5b79b8b6fd99087090736b6f709ede6731fb857d18478add293d0019753a55795f2700a42c9ea16cf919ef5758007dd450a52c98e312141da1d584af07bc5cc9

View File

@@ -1,2 +0,0 @@
[preferred]
default=*

View File

@@ -1,96 +0,0 @@
https://bugs.gentoo.org/951611
https://bugs.gentoo.org/951609
https://github.com/flatpak/xdg-desktop-portal/issues/1650
https://github.com/flint2/gentoo/blob/7c8a4b4deb84826f20a7c8af1a0f125cd4942b4a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-disable-gstreamer.patch
gstreamer is searched for unconditionally, but we don't have gstreamer-pbutils
packaged yet, so that's a problem. Make it conditional for now (as it ought
to be upstream either way if they're going to have an option for it).
--- a/meson.build
+++ b/meson.build
@@ -112,7 +112,7 @@ gio_unix_dep = dependency('gio-unix-2.0')
json_glib_dep = dependency('json-glib-1.0')
fuse3_dep = dependency('fuse3', version: '>= 3.10.0')
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0')
-gst_pbutils_dep = dependency('gstreamer-pbutils-1.0')
+gst_pbutils_dep = dependency('gstreamer-pbutils-1.0', required: get_option('sandboxed-sound-validation'))
geoclue_dep = dependency(
'libgeoclue-2.0',
version: '>= 2.5.2',
@@ -122,8 +122,8 @@ pipewire_dep = dependency('libpipewire-0.3', version: '>= 0.2.90')
libsystemd_dep = dependency('libsystemd', required: get_option('systemd'))
gudev_dep = dependency('gudev-1.0', required: get_option('gudev'))
umockdev_dep = dependency('umockdev-1.0', required: get_option('tests'))
-
-gst_inspect = find_program('gst-inspect-1.0', required: false)
+gst_inspect = find_program('gst-inspect-1.0', required: get_option('sandboxed-sound-validation'))
+have_gst_inspect = gst_inspect.found()
if gst_inspect.found()
have_wav_parse = run_command(
gst_inspect, 'wavparse', '--exists',
@@ -224,7 +225,7 @@ enable_tests = get_option('tests') \
.require(python.found() and python.language_version().version_compare('>=3.9'),
error_message: 'Python version >=3.9 is required') \
.require(umockdev_dep.found()) \
- .require(have_wav_parse,
+ .require(not have_wav_parse and not get_option('sandboxed-sound-validation').allowed(),
error_message: 'gst-inspect and the wavparse plugins are required') \
.allowed()
--- a/src/meson.build
+++ b/src/meson.build
@@ -206,14 +206,16 @@ if bwrap.found()
validate_sound_c_args += '-DHELPER="@0@"'.format(bwrap.full_path())
endif
-xdp_validate_sound = executable(
- 'xdg-desktop-portal-validate-sound',
- 'validate-sound.c',
- dependencies: [gst_pbutils_dep],
- c_args: validate_sound_c_args,
- install: true,
- install_dir: libexecdir,
-)
+if gst_inspect.found()
+ xdp_validate_sound = executable(
+ 'xdg-desktop-portal-validate-sound',
+ 'validate-sound.c',
+ dependencies: [gst_pbutils_dep],
+ c_args: validate_sound_c_args,
+ install: true,
+ install_dir: libexecdir,
+ )
+endif
configure_file(
input: 'xdg-desktop-portal-rewrite-launchers.service.in',
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -94,7 +94,6 @@ pytest_files = [
'test_inhibit.py',
'test_inputcapture.py',
'test_location.py',
- 'test_notification.py',
'test_openuri.py',
'test_permission_store.py',
'test_print.py',
@@ -122,7 +121,6 @@ template_files = [
'templates/__init__.py',
'templates/inputcapture.py',
'templates/lockdown.py',
- 'templates/notification.py',
'templates/print.py',
'templates/remotedesktop.py',
'templates/screenshot.py',
@@ -131,6 +129,11 @@ template_files = [
'templates/wallpaper.py',
]
+if have_gst_inspect
+ template_files += ['templates/notification.py']
+ pytest_files += ['test_notification.py']
+endif
+
foreach pytest_file : pytest_files
testname = pytest_file.replace('.py', '').replace('test_', '')
test(

View File

@@ -1,18 +0,0 @@
diff --git a/tests/meson.build b/tests/meson.build
index 377d48a..8a6ebe0 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -87,13 +87,11 @@ pytest_files = [
'test_clipboard.py',
'test_documents.py',
'test_document_fuse.py',
- 'test_dynamiclauncher.py',
'test_email.py',
'test_filechooser.py',
'test_globalshortcuts.py',
'test_inhibit.py',
'test_inputcapture.py',
- 'test_location.py',
'test_openuri.py',
'test_permission_store.py',
'test_print.py',

View File

@@ -1,11 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
depend() {
need dbus
}
DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
supervisor=supervise-daemon
command="/usr/libexec/xdg-desktop-portal"

View File

@@ -1,131 +0,0 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..13} )
inherit meson python-any-r1 systemd
DESCRIPTION="Desktop integration portal"
HOMEPAGE="https://flatpak.github.io/xdg-desktop-portal/ 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 udev"
RESTRICT="!test? ( test ) sandbox"
# Upstream expect flatpak to be used w/ seccomp and flatpak needs bwrap anyway
REQUIRED_USE="flatpak? ( seccomp )"
DEPEND="
>=dev-libs/glib-2.72:2
dev-libs/json-glib
>=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 )
udev? ( dev-libs/libgudev )
"
RDEPEND="
${DEPEND}
sys-apps/dbus
"
BDEPEND="
>=dev-util/gdbus-codegen-2.80.5-r1
dev-python/docutils
sys-devel/gettext
virtual/pkgconfig
test? (
${PYTHON_DEPS}
dev-util/umockdev
media-libs/gstreamer
media-libs/gst-plugins-good
$(python_gen_any_dep '
>=dev-python/pytest-3[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
dev-python/python-dbusmock[${PYTHON_USEDEP}]
')
)
"
PATCHES=(
# Needed until gstreamer-rs (for gstreamer-pbutils) is packaged
"${FILESDIR}/${PN}-1.21.0-optional-gstreamer.patch"
# These tests require connections to pipewire, internet, /dev/fuse
"${FILESDIR}/${PN}-1.21.0-sandbox-disable-failing-tests.patch"
)
pkg_setup() {
use test && python-any-r1_pkg_setup
}
python_check_deps() {
python_has_version ">=dev-python/pytest-3[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/pytest-xdist[${PYTHON_USEDEP}]" &&
python_has_version "dev-python/python-dbusmock[${PYTHON_USEDEP}]"
}
src_configure() {
# gst-plugin-scanner writes to /proc/self/task/*/comm for thread naming
addpredict /proc/self/task
local emesonargs=(
-Ddbus-service-dir="${EPREFIX}/usr/share/dbus-1/services"
-Dsystemd-user-unit-dir="$(systemd_get_userunitdir)"
$(meson_feature flatpak flatpak-interfaces)
$(meson_feature geolocation geoclue)
$(meson_feature udev gudev)
$(meson_feature seccomp sandboxed-image-validation)
# Needs gstreamer-pbutils (part of gstreamer-rs)?
# Not yet packaged
#$(meson_feature seccomp sandboxed-sound-validation)
-Dsandboxed-sound-validation=disabled
$(meson_feature systemd)
# Requires flatpak
-Ddocumentation=disabled
# -Dxmlto-flags=
-Ddatarootdir="${EPREFIX}/usr/share"
-Dman-pages=enabled
-Dinstalled-tests=false
$(meson_feature test tests)
)
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
exeinto /etc/user/init.d
newexe "${FILESDIR}"/xdg-desktop-portal.initd xdg-desktop-portal
}
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 && ! has_version sys-apps/xdg-desktop-portal-xapp; 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"
elog " sys-apps/xdg-desktop-portal-xapp"
fi
}