summaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2026-01-07 18:31:04 +0100
committerKhem Raj <raj.khem@gmail.com>2026-01-12 08:53:47 -0800
commit2b499660d04c79b06408a393a7f08f255f1e39af (patch)
tree1f57182bf109f7ebef14c3299059f6ce028aa1c6 /meta-oe
parent3a57e5274540a2b4b6d6a1d9808d0c9783f250a7 (diff)
downloadmeta-openembedded-2b499660d04c79b06408a393a7f08f255f1e39af.tar.gz
pavucontrol: update 5.0 -> 6.2
- 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 <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch112
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb27
-rw-r--r--meta-oe/recipes-multimedia/pulseaudio/pavucontrol_6.2.bb22
3 files changed, 22 insertions, 139 deletions
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 @@
1From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Fri, 27 May 2022 18:37:53 +0200
4Subject: [PATCH] pavucontrol: remove canberra-gtk support
5
6libcanberra-gtk3 module isn't buildable for wayland.
7Remove its dpendency.
8
9Signed-off-by: Markus Volk <f_l_k@t-online.de>
10
11Upstream-Status: Inappropriate
12---
13 configure.ac | 2 +-
14 src/pavuapplication.cc | 2 --
15 src/pavucontrol.cc | 4 ----
16 src/sinkwidget.cc | 17 -----------------
17 4 files changed, 1 insertion(+), 24 deletions(-)
18
19diff --git a/configure.ac b/configure.ac
20index 056ba5e..e857563 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -41,7 +41,7 @@ AC_TYPE_SIGNAL
24 AC_HEADER_STDC
25 AX_CXX_COMPILE_STDCXX_11
26
27-PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 libcanberra-gtk3 >= 0.16 json-glib-1.0 ])
28+PKG_CHECK_MODULES(GUILIBS, [ gtkmm-3.0 >= 3.22 sigc++-2.0 json-glib-1.0 ])
29 AC_SUBST(GUILIBS_CFLAGS)
30 AC_SUBST(GUILIBS_LIBS)
31
32diff --git a/src/pavuapplication.cc b/src/pavuapplication.cc
33index 6773b53..60c016c 100644
34--- a/src/pavuapplication.cc
35+++ b/src/pavuapplication.cc
36@@ -24,8 +24,6 @@
37
38 #include "i18n.h"
39
40-#include <canberra-gtk.h>
41-
42 #include "pavuapplication.h"
43 #include "pavucontrol.h"
44 #include "mainwindow.h"
45diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc
46index 18d5400..10ab646 100644
47--- a/src/pavucontrol.cc
48+++ b/src/pavucontrol.cc
49@@ -29,8 +29,6 @@
50 #include <json-glib/json-glib.h>
51 #endif
52
53-#include <canberra-gtk.h>
54-
55 #include "pavucontrol.h"
56 #include "i18n.h"
57 #include "minimalstreamwidget.h"
58@@ -916,8 +914,6 @@ MainWindow* pavucontrol_get_window(pa_glib_mainloop *m, bool maximize, bool _ret
59 tab_number = _tab_number;
60 retry = _retry;
61
62- ca_context_set_driver(ca_gtk_context_get(), "pulse");
63-
64 mainWindow = MainWindow::create(maximize);
65
66 api = pa_glib_mainloop_get_api(m);
67diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
68index f30bd37..482fd1f 100644
69--- a/src/sinkwidget.cc
70+++ b/src/sinkwidget.cc
71@@ -24,7 +24,6 @@
72
73 #include "sinkwidget.h"
74
75-#include <canberra-gtk.h>
76 #if HAVE_EXT_DEVICE_RESTORE_API
77 # include <pulse/format.h>
78 # include <pulse/ext-device-restore.h>
79@@ -111,7 +110,6 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
80 void SinkWidget::executeVolumeUpdate() {
81 pa_operation* o;
82 char dev[64];
83- int playing = 0;
84
85 if (!(o = pa_context_set_sink_volume_by_index(get_context(), index, &volume, NULL, NULL))) {
86 show_error(_("pa_context_set_sink_volume_by_index() failed"));
87@@ -120,22 +118,7 @@ void SinkWidget::executeVolumeUpdate() {
88
89 pa_operation_unref(o);
90
91- ca_context_playing(ca_gtk_context_get(), 2, &playing);
92- if (playing)
93- return;
94-
95 snprintf(dev, sizeof(dev), "%lu", (unsigned long) index);
96- ca_context_change_device(ca_gtk_context_get(), dev);
97-
98- ca_gtk_play_for_widget(GTK_WIDGET(gobj()),
99- 2,
100- CA_PROP_EVENT_DESCRIPTION, _("Volume Control Feedback Sound"),
101- CA_PROP_EVENT_ID, "audio-volume-change",
102- CA_PROP_CANBERRA_CACHE_CONTROL, "permanent",
103- CA_PROP_CANBERRA_ENABLE, "1",
104- NULL);
105-
106- ca_context_change_device(ca_gtk_context_get(), NULL);
107 }
108
109 void SinkWidget::onMuteToggleButton() {
110--
1112.25.1
112
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 @@
1DESCRIPTION = "PulseAudio Volume Control (pavucontrol) is a simple GTK based volume control tool ("mixer") for the PulseAudio sound server."
2HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
3SECTION = "x11/multimedia"
4LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
6
7# glib-2.0-native is required for glib-gettextize, which is used by the
8# AM_GLIB_GNU_GETTEXT macro in configure.ac. That macro is deprecated, so the
9# glib-2.0-native dependency may go away at some point (something to keep in
10# mind when doing version upgrades).
11DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 pulseaudio json-glib"
12
13inherit autotools features_check perlnative pkgconfig
14
15ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
16
17SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
18SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-pavucontrol-remove-canberra-gtk-support.patch', '', d)}"
19
20SRC_URI[sha256sum] = "ce2b72c3b5f1a70ad0df19dd81750f9455bd20870d1d3a36d20536af2e8f4e7a"
21
22PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
23PACKAGECONFIG[x11] = ",,libcanberra"
24
25EXTRA_OECONF = "--disable-lynx "
26
27RDEPENDS:${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 @@
1SUMMARY = "PulseAudio Volume Control is a simple GTK based volume control tool for the PulseAudio sound server"
2HOMEPAGE = "https://freedesktop.org/software/pulseaudio/pavucontrol/"
3SECTION = "multimedia"
4LICENSE = "GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
6
7DEPENDS = "gtkmm4 pulseaudio json-glib"
8
9inherit meson features_check pkgconfig gettext
10
11ANY_OF_DISTRO_FEATURES = "opengl vulkan"
12
13SRC_URI = "http://www.freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz"
14SRC_URI[sha256sum] = "e93a7836c7307dcbc989e95fc7ec0878322514c475fabd90e89ed52fd4f15d32"
15
16PACKAGECONFIG ?= ""
17PACKAGECONFIG[audio-feedback] = "-Daudio-feedback=enabled,-Daudio-feedback=disabled,libcanberra"
18PACKAGECONFIG[lynx] = "-Dlynx=enabled,-Dlynx=disabled,lynx"
19
20FILES:${PN} += "${datadir}"
21
22RDEPENDS:${PN} += "pulseaudio-server"