All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH 1/2] pavucontrol: update; fix build for wayland only
@ 2022-05-29 12:43 Markus Volk
  2022-05-29 12:43 ` [meta-oe][PATCH 2/2] gnome-disk-utility: " Markus Volk
  0 siblings, 1 reply; 2+ messages in thread
From: Markus Volk @ 2022-05-29 12:43 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Markus Volk

- Update to v5.0
- Add a patch for wayland builds that removes canberra dependency. Since the
  canberra-gtk+3 module paradoxically depends on gtk+2 it is unbuildable for
  wayland.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...ucontrol-remove-canberra-gtk-support.patch | 112 ++++++++++++++++++
 ...{pavucontrol_4.0.bb => pavucontrol_5.0.bb} |  15 ++-
 2 files changed, 121 insertions(+), 6 deletions(-)
 create mode 100644 meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
 rename meta-oe/recipes-multimedia/pulseaudio/{pavucontrol_4.0.bb => pavucontrol_5.0.bb} (66%)

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
new file mode 100644
index 000000000..44169240c
--- /dev/null
+++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol/0001-pavucontrol-remove-canberra-gtk-support.patch
@@ -0,0 +1,112 @@
+From 87992a57e5f517d5ceb5dfabaea662ac64983720 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+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 <f_l_k@t-online.de>
+
+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_4.0.bb b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
similarity index 66%
rename from meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
rename to meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
index 5f9d7a6ba..012fc3a94 100644
--- a/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_4.0.bb
+++ b/meta-oe/recipes-multimedia/pulseaudio/pavucontrol_5.0.bb
@@ -8,16 +8,19 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
 # 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 libcanberra pulseaudio"
+DEPENDS = "libxml-parser-perl-native intltool-native glib-2.0-native gtkmm3 pulseaudio json-glib"
 
 inherit autotools features_check perlnative pkgconfig
 
-REQUIRED_DISTRO_FEATURES = "x11"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
-SRC_URI = "http://freedesktop.org/software/pulseaudio/${BPN}/${BP}.tar.xz \
-          "
-SRC_URI[md5sum] = "9dcc2c76292e7e5e075d51b8dcb20202"
-SRC_URI[sha256sum] = "8fc45bac9722aefa6f022999cbb76242d143c31b314e2dbb38f034f4069d14e2"
+SRC_URI = "http://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 "
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [meta-oe][PATCH 2/2] gnome-disk-utility: fix build for wayland only
  2022-05-29 12:43 [meta-oe][PATCH 1/2] pavucontrol: update; fix build for wayland only Markus Volk
@ 2022-05-29 12:43 ` Markus Volk
  0 siblings, 0 replies; 2+ messages in thread
From: Markus Volk @ 2022-05-29 12:43 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Markus Volk

libcanberra-gtk3 module isn't buildable for wayland.
Remove its dpendency.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...tility-remove-libcanberra-dependency.patch | 135 ++++++++++++++++++
 .../gnome-disk-utility_42.0.bb                |   8 +-
 2 files changed, 140 insertions(+), 3 deletions(-)
 create mode 100644 meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch

diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch
new file mode 100644
index 000000000..675f4635b
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility/0001-gnome-disk-utility-remove-libcanberra-dependency.patch
@@ -0,0 +1,135 @@
+From 36cbdd82f21e4ef37da9f05c1c5e770b6cd66df2 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Sun, 29 May 2022 06:35:26 +0200
+Subject: [PATCH] gnome-disk-utility: remove libcanberra dependency
+
+libcanberra-gtk3 module isn't buildable for wayland.
+Remove its dpendency.
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Inappropriate
+---
+ meson.build                           |  1 -
+ src/disks/gducreatediskimagedialog.c  | 27 ++-------------------------
+ src/disks/gdurestorediskimagedialog.c | 20 +-------------------
+ src/disks/meson.build                 |  1 -
+ 4 files changed, 3 insertions(+), 46 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0daf7f82..cba6c74b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -72,7 +72,6 @@ dvdread_dep = dependency('dvdread', version: '>= 4.2.0')
+ gio_unix_dep = dependency('gio-unix-2.0', version: '>= 2.31.0')
+ gmodule_dep = dependency('gmodule-2.0')
+ gtk_dep = dependency('gtk+-3.0', version: '>= 3.16.0')
+-libcanberra_dep = dependency('libcanberra-gtk3', version: '>= 0.1')
+ # Keep the version here synchronised with subprojects/libhandy.wrap
+ libhandy_dep = dependency('libhandy-1', version: '>= 1.5.0', fallback: ['libhandy', 'libhandy_dep'])
+ liblzma_dep = dependency('liblzma', version: '>= 5.0.5')
+diff --git a/src/disks/gducreatediskimagedialog.c b/src/disks/gducreatediskimagedialog.c
+index 181b2892..a22004cf 100644
+--- a/src/disks/gducreatediskimagedialog.c
++++ b/src/disks/gducreatediskimagedialog.c
+@@ -21,8 +21,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
+ 
+-#include <canberra-gtk.h>
+-
+ #include "gduapplication.h"
+ #include "gduwindow.h"
+ #include "gducreatediskimagedialog.h"
+@@ -297,19 +295,7 @@ create_disk_image_populate (DialogData *data)
+ 
+ static void
+ play_read_error_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the sound played when
+-   * there's a read error that's being ignored, see
+-   * CA_PROP_EVENT_DESCRIPTION
+-   */
+-  sound_message = _("Disk image read error");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
+-                          CA_PROP_EVENT_ID, "dialog-warning",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+@@ -403,16 +389,7 @@ update_job (DialogData *data,
+ 
+ static void
+ play_complete_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
+-  sound_message = _("Disk image copying complete");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->window), 0,
+-                          CA_PROP_EVENT_ID, "complete",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+diff --git a/src/disks/gdurestorediskimagedialog.c b/src/disks/gdurestorediskimagedialog.c
+index bccf97e9..e7ec81cb 100644
+--- a/src/disks/gdurestorediskimagedialog.c
++++ b/src/disks/gdurestorediskimagedialog.c
+@@ -17,8 +17,6 @@
+ #include <sys/ioctl.h>
+ #include <linux/fs.h>
+ 
+-#include <canberra-gtk.h>
+-
+ #include "gduapplication.h"
+ #include "gduwindow.h"
+ #include "gdurestorediskimagedialog.h"
+@@ -606,23 +604,7 @@ update_job (DialogData *data,
+ 
+ static void
+ play_complete_sound (DialogData *data)
+-{
+-  const gchar *sound_message;
+-
+-  /* Translators: A descriptive string for the 'complete' sound, see CA_PROP_EVENT_DESCRIPTION */
+-  sound_message = _("Disk image copying complete");
+-  ca_gtk_play_for_widget (GTK_WIDGET (data->dialog), 0,
+-                          CA_PROP_EVENT_ID, "complete",
+-                          CA_PROP_EVENT_DESCRIPTION, sound_message,
+-                          NULL);
+-
+-  if (data->inhibit_cookie > 0)
+-    {
+-      gtk_application_uninhibit (GTK_APPLICATION (gdu_window_get_application (data->window)),
+-                                 data->inhibit_cookie);
+-      data->inhibit_cookie = 0;
+-    }
+-}
++{}
+ 
+ /* ---------------------------------------------------------------------------------------------------- */
+ 
+diff --git a/src/disks/meson.build b/src/disks/meson.build
+index 35b2f103..6fc367b4 100644
+--- a/src/disks/meson.build
++++ b/src/disks/meson.build
+@@ -85,7 +85,6 @@ deps = [
+   dvdread_dep,
+   gio_unix_dep,
+   gmodule_dep,
+-  libcanberra_dep,
+   libgdu_dep,
+   libhandy_dep,
+   liblzma_dep,
+-- 
+2.25.1
+
diff --git a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
index e9724748c..c3789b0c1 100644
--- a/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
+++ b/meta-gnome/recipes-gnome/gnome-disk-utility/gnome-disk-utility_42.0.bb
@@ -7,7 +7,6 @@ SECTION = "x11/gnome"
 DEPENDS = " \
     gtk+3 \
     libdvdread \
-    libcanberra \
     libnotify \
     libsecret \
     libpwquality \
@@ -19,13 +18,16 @@ GNOMEBASEBUILDCLASS = "meson"
 
 inherit gnomebase gsettings gtk-icon-cache gettext features_check mime-xdg
 
-REQUIRED_DISTRO_FEATURES = "x11 polkit"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "polkit"
 
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)}"
 
 # As soon as elogind is of interest this needs rework: meson option is combo
 PACKAGECONFIG[systemd] = "-Dlogind=libsystemd,-Dlogind=none,systemd"
+PACKAGECONFIG[x11] = ",,libcanberra"
 
+SRC_URI:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'file://0001-gnome-disk-utility-remove-libcanberra-dependency.patch', '', d)}"
 SRC_URI[archive.sha256sum] = "1b6564454d67426322cb3bfc5a5558653bfc7dfeea2ae0825b1d08629f01090b"
 
 EXTRA_OEMESON = "-Dman=false"
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-05-29 12:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-29 12:43 [meta-oe][PATCH 1/2] pavucontrol: update; fix build for wayland only Markus Volk
2022-05-29 12:43 ` [meta-oe][PATCH 2/2] gnome-disk-utility: " Markus Volk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.