On Wed, Jan 7, 2026 at 9:31 AM Markus Volk via lists.openembedded.org
<[email protected]> wrote:

> - 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 am seeing this on world build

stdio: ERROR: Nothing RPROVIDES 'pavucontrol' (but
/srv/pokybuild/yocto-worker/meta-oe/build/meta-openembedded/meta-xfce/recipes-panel-plugins/pulseaudio/
xfce4-pulseaudio-plugin_0.5.1.bb RDEPENDS on or otherwise requires it)
stdio: ERROR: Required build target 'meta-world-pkgdata' has no buildable
providers.

I guess distro features should match between these two recipes or perhaps
the rrecommends
should be removed.


> +
> +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 (#123245): 
https://lists.openembedded.org/g/openembedded-devel/message/123245
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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to