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: Wed, 19 Mar 2025 22:50:31 +0000 (UTC) [thread overview]
Message-ID: <1742424611.9d2c7e21b776f68866e045407c10e6b1133b189f.sam@gentoo> (raw)
commit: 9d2c7e21b776f68866e045407c10e6b1133b189f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 19 22:49:00 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Mar 19 22:50:11 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d2c7e21
sys-apps/xdg-desktop-portal: avoid gstreamer harder for now
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).
Noticed the upstream bug link and got the patch (tweaked style slightly
after) from flint2's PR at https://github.com/gentoo/gentoo/pull/41133.
Closes: https://bugs.gentoo.org/951609
Closes: https://bugs.gentoo.org/951611
Signed-off-by: Sam James <sam <AT> gentoo.org>
...-desktop-portal-1.20.0-optional-gstreamer.patch | 104 +++++++++++++++++++++
...rtal-1.20.0-sandbox-disable-failing-tests.patch | 7 +-
.../xdg-desktop-portal-1.20.0.ebuild | 3 +
3 files changed, 111 insertions(+), 3 deletions(-)
diff --git a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-optional-gstreamer.patch b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-optional-gstreamer.patch
new file mode 100644
index 000000000000..e89844a8345f
--- /dev/null
+++ b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-optional-gstreamer.patch
@@ -0,0 +1,104 @@
+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',
+@@ -132,6 +132,7 @@ if gst_inspect.found()
+ else
+ have_wav_parse = false
+ endif
++
+ if have_wav_parse
+ config_h.set('HAVE_WAV_PARSE', 1)
+ endif
+@@ -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(
diff --git a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch
index 2faee17533cb..42162dafc571 100644
--- a/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch
+++ b/sys-apps/xdg-desktop-portal/files/xdg-desktop-portal-1.20.0-sandbox-disable-failing-tests.patch
@@ -1,6 +1,8 @@
+diff --git a/tests/meson.build b/tests/meson.build
+index 377d48a..8a6ebe0 100644
--- a/tests/meson.build
+++ b/tests/meson.build
-@@ -87,14 +87,11 @@ pytest_files = [
+@@ -87,13 +87,11 @@ pytest_files = [
'test_clipboard.py',
'test_documents.py',
'test_document_fuse.py',
@@ -11,11 +13,10 @@
'test_inhibit.py',
'test_inputcapture.py',
- 'test_location.py',
-- 'test_notification.py',
'test_openuri.py',
'test_permission_store.py',
'test_print.py',
-@@ -188,4 +185,4 @@ if enable_installed_tests
+@@ -191,4 +189,4 @@ if enable_installed_tests
install_dir: installed_tests_data_dir,
)
endforeach
diff --git a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild
index dbffadc6d97c..90a013fc9354 100644
--- a/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild
+++ b/sys-apps/xdg-desktop-portal/xdg-desktop-portal-1.20.0.ebuild
@@ -54,6 +54,8 @@ BDEPEND="
"
PATCHES=(
+ # Needed until gstreamer-rs (for gstreamer-pbutils) is packaged
+ "${FILESDIR}/${PN}-1.20.0-optional-gstreamer.patch"
# These tests require connections to pipewire, internet, /dev/fuse
"${FILESDIR}/${PN}-1.20.0-sandbox-disable-failing-tests.patch"
)
@@ -79,6 +81,7 @@ src_configure() {
# 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
next reply other threads:[~2025-03-19 22:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-19 22:50 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-02-28 12:08 [gentoo-commits] repo/gentoo:master commit in: sys-apps/xdg-desktop-portal/, sys-apps/xdg-desktop-portal/files/ Sam James
2023-10-14 2:26 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=1742424611.9d2c7e21b776f68866e045407c10e6b1133b189f.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