On 1/8/26 01:31, Markus Volk via lists.openembedded.org wrote:
CAUTION: This email comes from a non Wind River email account!
Do not click links or open attachments unless you recognize the sender and know
the content is safe.
- switch to meson buildsystem
- pavucontrol now requires gtk4 and thus requires gpu acceleration
- remove patch. Meanwhile libcanberra is optional and build doesn't
fail without anymore
- pavucontrol was migrated from intltool to gettext
- add packageconfigs for libcanberra and lynx to have both disabled
by default
Signed-off-by: Markus Volk<[email protected]>
---
...ucontrol-remove-canberra-gtk-support.patch | 112 ------------------
.../pulseaudio/pavucontrol_5.0.bb | 27 -----
.../pulseaudio/pavucontrol_6.2.bb | 22 ++++
3 files changed, 22 insertions(+), 139 deletions(-)
delete mode 100644
meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
delete mode 100644 meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
create mode 100644 meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb
diff --git
a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
deleted file mode 100644
index 44169240c5..0000000000
---
a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
-From: Markus Volk<[email protected]>
-Date: Fri, 27 May 2022 18:37:53 +0200
-Subject: [PATCH] pavucontrol: remove canberra-gtk support
-
-libcanberra-gtk3 module isn't buildable for wayland.
-Remove its dpendency.
-
-Signed-off-by: Markus Volk<[email protected]>
-
-Upstream-Status: Inappropriate
----
- configure.ac | 2 +-
- src/pavuapplication.cc | 2 --
- src/pavucontrol.cc | 4 ----
- src/sinkwidget.cc | 17 -----------------
- 4 files changed, 1 insertion(+), 24 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 056ba5e..e857563 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -41,7 +41,7 @@ AC_TYPE_SIGNAL
- AC_HEADER_STDC
- AX_CXX_COMPILE_STDCXX_11
-
--PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >=
0.16 json-glib-1.0 ])
-+PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
- AC_SUBST(GUILIBS_CFLAGS)
- AC_SUBST(GUILIBS_LIBS)
-
-diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
-index 6773b53..60c016c 100644
---- a/src/pavuapplication.cc
-+++ b/src/pavuapplication.cc
-@@ -24,8 +24,6 @@
-
- #include "i18n.h"
-
--#include <canberra-gtk.h>
--
- #include "pavuapplication.h"
- #include "pavucontrol.h"
- #include "mainwindow.h"
-diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
-index 18d5400..10ab646 100644
---- a/src/pavucontrol.cc
-+++ b/src/pavucontrol.cc
-@@ -29,8 +29,6 @@
- #include <json-glib/json-glib.h>
- #endif
-
--#include <canberra-gtk.h>
--
- #include "pavucontrol.h"
- #include "i18n.h"
- #include "minimalstreamwidget.h"
-@@ -916,8 +914,6 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m,
bool maximize, bool _ret
- tab_number = _tab_number;
- retry = _retry;
-
-- ca_context_set_driver(ca_gtk_context_get(), "pulse");
--
- mainWindow = MainWindow::create(maximize);
-
- api = pa_glib_mainloop_get_api(m);
-diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
-index f30bd37..482fd1f 100644
---- a/src/sinkwidget.cc
-+++ b/src/sinkwidget.cc
-@@ -24,7 +24,6 @@
-
- #include "sinkwidget.h"
-
--#include <canberra-gtk.h>
- #if HAVE_EXT_DEVICE_RESTORE_API
- # include <pulse/format.h>
- # include <pulse/ext-device-restore.h>
-@@ -111,7 +110,6 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
- void SinkWidget::executeVolumeUpdate() {
- pa_operation* o;
- char dev[64];
-- int playing = 0;
-
- if (!(o = pa_context_set_sink_volume_by_index(get_context(), index,
&volume, NULL, NULL))) {
- show_error(_("pa_context_set_sink_volume_by_index() failed"));
-@@ -120,22 +118,7 @@ void SinkWidget::executeVolumeUpdate() {
-
- pa_operation_unref(o);
-
-- ca_context_playing(ca_gtk_context_get(), 2, &playing);
-- if (playing)
-- return;
--
- snprintf(dev, sizeof(dev), "%lu", (unsigned long) index);
-- ca_context_change_device(ca_gtk_context_get(), dev);
--
-- ca_gtk_play_for_widget(GTK_WIDGET(gobj()),
-- 2,
-- CA_PROP_EVENT_DESCRIPTION, _("Volume Control Feedback
Sound"),
-- CA_PROP_EVENT_ID, "audio-volume-change",
-- CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
-- CA_PROP_CANBERRA_ENABLE, "1",
-- NULL);
--
-- ca_context_change_device(ca_gtk_context_get(), NULL);
- }
-
- void SinkWidget::onMuteToggleButton() {
---
-2.25.1
-
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
deleted file mode 100644
index 29500bdb94..0000000000
--- a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control
tool ("mixer") for the PulseAudio sound server."
-HOMEPAGE ="https://freedesktop.org/software/pulseaudio/pavucontrol/"
-SECTION = "x11/multimedia"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM ="file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-# glib-2.0-native is required for glib-gettextize, which is used by the
-# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
-# glib-2.0-native dependency may go away at some point (something to keep in
-# mind when doing version upgrades).
-DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3
pulseaudio json-glib"
-
-inherit autotools features_check perlnative pkgconfig
-
-ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-
-SRC_URI ="http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
-SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland',
'file://0001-pavucontrol-remove-canberra-gtk-support.patch', '', d)}"
-
-SRC_URI[sha256sum] =
"ce2b72c3b5f1a70ad0df19dd81750f9455bd20870d1d3a36d20536af2e8f4e7a"
-
-PACKAGECONFIG ??="${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
-PACKAGECONFIG[x11] = ",,libcanberra"
-
-EXTRA_OECONF = "--disable-lynx "
-
-RDEPENDS:${PN} += "pulseaudio-server"
diff --git a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb
b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb
new file mode 100644
index 0000000000..b6b9a068a9
--- /dev/null
+++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb
@@ -0,0 +1,22 @@
+SUMMARY = "PulseAudio Volume Control is a simple GTK based volume control tool for
the PulseAudio sound server"
+HOMEPAGE ="https://freedesktop.org/software/pulseaudio/pavucontrol/"
+SECTION = "multimedia"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM ="file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "gtkmm4 pulseaudio json-glib"
+
+inherit meson features_check pkgconfig gettext
+
+ANY_OF_DISTRO_FEATURES = "opengl vulkan"
I met an issue, when DISTRO_FEATURES opengl is enabled, but x11 is not
enabled,
ERROR: Nothing PROVIDES 'gtkmm4' (but
/layers/meta-openembedded/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb
DEPENDS on or otherwise requires it) gtkmm4 was skipped: using DISTRO
'poky', which is missing required DISTRO_FEATURES: 'x11'
@Markus, could you help to have a look?
Regards
Changqing
+
+SRC_URI ="http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
+SRC_URI[sha256sum] =
"e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[audio-feedback] =
"-Daudio-feedback=enabled,-Daudio-feedback=disabled,libcanberra"
+PACKAGECONFIG[lynx] = "-Dlynx=enabled,-Dlynx=disabled,lynx"
+
+FILES:${PN} += "${datadir}"
+
+RDEPENDS:${PN} += "pulseaudio-server"
--
2.52.0
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#124002):
https://lists.openembedded.org/g/openembedded-devel/message/124002
Mute This Topic: https://lists.openembedded.org/mt/117138237/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-