From patchwork Thu Jan 8 11:55:41 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Markus Volk X-Patchwork-Id: 78279 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7C0AD185E8 for ; Thu, 8 Jan 2026 11:56:11 +0000 (UTC) Received: from mailout09.t-online.de (mailout09.t-online.de [194.25.134.84]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.4849.1767873367228806713 for ; Thu, 08 Jan 2026 03:56:07 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: t-online.de, ip: 194.25.134.84, mailfrom: f_l_k@t-online.de) Received: from fwd84.aul.t-online.de (fwd84.aul.t-online.de [10.223.144.110]) by mailout09.t-online.de (Postfix) with SMTP id BF676384EA for ; Thu, 8 Jan 2026 12:56:04 +0100 (CET) Received: from intel-corei7-64.fritz.box ([79.219.236.196]) by fwd84.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1vdocM-11xWID0; Thu, 8 Jan 2026 12:55:54 +0100 From: Markus Volk To: openembedded-devel@lists.openembedded.org Subject: [meta-oe][PATCH] libcanberra: update 0.30 -> 0.30-19 Date: Thu, 8 Jan 2026 12:55:41 +0100 Message-ID: <20260108115545.2793869-1-f_l_k@t-online.de> X-Mailer: git-send-email 2.52.0 MIME-Version: 1.0 X-TOI-EXPURGATEID: 150726::1767873355-67FFCAF5-6B593DA1/0/0 CLEAN NORMAL X-TOI-MSGID: 854b5449-ec95-4e91-bf04-a3df30de9afb List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Jan 2026 11:56:11 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/123270 Lennart Poettering stopped maintaining libcanberra over a decade ago but it is still maintained by the debian gnome-team. Most notable improvement is that building the libcanberra-gtk3-module doesn't depend on gtk2 anymore and thus libcanberra isn't dependent on x11 to build support for gtk3 - fetch source from salsa.debian.org, use git for it - remove outdated patches - dont build gtk+ module by default anymore - simplify packaging Signed-off-by: Markus Volk --- ...d-gtk3-version-for-canberra_gtk_play.patch | 94 ------------------- ...-all-GdkDisplays-are-GdkX11Displays-.patch | 65 ------------- .../files/0001-remove-dropped-templates.patch | 65 ------------- .../libcanberra/libcanberra_0.30-19.bb | 47 ++++++++++ .../libcanberra/libcanberra_0.30.bb | 64 ------------- 5 files changed, 47 insertions(+), 288 deletions(-) delete mode 100644 meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch delete mode 100644 meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch delete mode 100644 meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch create mode 100644 meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb delete mode 100644 meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb diff --git a/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch b/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch deleted file mode 100644 index 89f31f7946..0000000000 --- a/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -Date: Mon, 16 Sep 2013 16:08:28 +0200 -Subject: [PATCH] build gtk- and gtk3-version for canberra_gtk_play -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Andreas Müller ---- -Upstream-Status: Pending - - src/Makefile.am | 25 +++++++++++++++---------- - 1 files changed, 15 insertions(+), 10 deletions(-) - -diff --git a/src/Makefile.am b/src/Makefile.am -index 56ed96d..fc72e1f 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -319,9 +319,6 @@ endif - - if HAVE_GTK_ANY - --bin_PROGRAMS += \ -- canberra-gtk-play -- - include_HEADERS += \ - canberra-gtk.h - -@@ -329,6 +326,9 @@ endif - - if HAVE_GTK3 - -+bin_PROGRAMS += \ -+ canberra-gtk3-play -+ - lib_LTLIBRARIES += \ - libcanberra-gtk3.la - -@@ -367,6 +367,9 @@ endif - - if HAVE_GTK - -+bin_PROGRAMS += \ -+ canberra-gtk-play -+ - lib_LTLIBRARIES += \ - libcanberra-gtk.la - -@@ -399,14 +402,17 @@ endif - - if HAVE_GTK3 - --canberra_gtk_play_LDADD = \ -+canberra_gtk3_play_LDADD = \ - $(GTK3_LIBS) \ - libcanberra.la \ - libcanberra-gtk3.la --canberra_gtk_play_CFLAGS = \ -+canberra_gtk3_play_CFLAGS = \ - $(GTK3_CFLAGS) - --else -+canberra_gtk3_play_SOURCES = \ -+ canberra-gtk-play.c -+ -+endif - if HAVE_GTK - - canberra_gtk_play_LDADD = \ -@@ -416,7 +422,9 @@ canberra_gtk_play_LDADD = \ - canberra_gtk_play_CFLAGS = \ - $(GTK_CFLAGS) - --endif -+canberra_gtk_play_SOURCES = \ -+ canberra-gtk-play.c -+ - endif - - if HAVE_GTK_ANY -@@ -424,9 +432,6 @@ if HAVE_GTK_ANY - dist_gsdgtkmodules_DATA = \ - canberra-gtk-module.desktop - --canberra_gtk_play_SOURCES = \ -- canberra-gtk-play.c -- - EXTRA_DIST += \ - libcanberra-login-sound.desktop.in \ - libcanberra-ready-sound.desktop.in \ --- -1.7.6.5 - diff --git a/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch deleted file mode 100644 index 1e45441ff9..0000000000 --- a/meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch +++ /dev/null @@ -1,65 +0,0 @@ -From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001 -From: Michael Meeks -Date: Fri, 9 Nov 2012 16:16:40 +0000 -Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays: - broadway/wayland - ---- -Upstream-Status: Pending - - src/canberra-gtk-module.c | 15 +++++++++++++++ - src/canberra-gtk.c | 5 +++++ - 2 files changed, 20 insertions(+) - ---- a/src/canberra-gtk-module.c -+++ b/src/canberra-gtk-module.c -@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDispla - guchar *data = NULL; - gint ret = -1; - -+#ifdef GDK_IS_X11_DISPLAY -+ if (!GDK_IS_X11_DISPLAY(d)) -+ return 0; -+#endif -+ - if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), - gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), - 0, G_MAXLONG, False, XA_CARDINAL, &type_return, -@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDispl - guchar *data = NULL; - gint ret = -1; - -+#ifdef GDK_IS_X11_DISPLAY -+ if (!GDK_IS_X11_DISPLAY(d)) -+ return 0; -+#endif -+ - if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), - gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), - 0, G_MAXLONG, False, XA_CARDINAL, &type_return, -@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisp - gboolean ret = FALSE; - Atom xembed; - -+#ifdef GDK_IS_X11_DISPLAY -+ if (!GDK_IS_X11_DISPLAY(d)) -+ return FALSE; -+#endif -+ - /* Gnome Panel applets are XEMBED windows. We need to make sure we - * ignore them */ - ---- a/src/canberra-gtk.c -+++ b/src/canberra-gtk.c -@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDispla - guchar *data = NULL; - gint ret = -1; - -+#ifdef GDK_IS_X11_DISPLAY -+ if (!GDK_IS_X11_DISPLAY(d)) -+ return 0; -+#endif -+ - if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), - gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), - 0, G_MAXLONG, False, XA_CARDINAL, &type_return, diff --git a/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch b/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch deleted file mode 100644 index 57f5486084..0000000000 --- a/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch +++ /dev/null @@ -1,65 +0,0 @@ -From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001 -From: Markus Volk -Date: Tue, 15 Aug 2023 15:41:03 +0200 -Subject: [PATCH] remove dropped gtkdoc templates - -Signed-off-by: Markus Volk - -Upstream-Status: Pending ---- ---- a/gtkdoc/gtk-doc.make 2011-08-25 23:20:22.000000000 +0200 -+++ b/gtkdoc/gtk-doc.make 2023-08-15 18:08:02.430729073 +0200 -@@ -33,9 +33,9 @@ - $(HTML_IMAGES) \ - $(SETUP_FILES) - --DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \ -+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \ - html-build.stamp pdf-build.stamp \ -- tmpl.stamp sgml.stamp html.stamp pdf.stamp -+ sgml.stamp html.stamp pdf.stamp - - SCANOBJ_FILES = \ - $(DOC_MODULE).args \ -@@ -120,27 +120,12 @@ - $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp - @true - --#### templates #### -- --tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt -- @echo ' DOC Rebuilding template files' -- @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) -- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ -- if test -w $(abs_srcdir) ; then \ -- cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \ -- fi \ -- fi -- @touch tmpl-build.stamp -- --tmpl.stamp: tmpl-build.stamp -- @true -- - $(srcdir)/tmpl/*.sgml: - @true - - #### xml #### - --sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) -+sgml-build.stamp: $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) - @echo ' DOC Building XML' - @-chmod -R u+w $(srcdir) - @_source_dir='' ; \ - --- a/gtkdoc/Makefile.am 2009-01-21 21:52:46.000000000 +0100 -+++ b/gtkdoc/Makefile.am 2023-08-15 17:41:59.002498772 +0200 -@@ -31,10 +31,6 @@ - # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml - MKDB_OPTIONS=--sgml-mode --output-format=xml - --# Extra options to supply to gtkdoc-mktmpl --# e.g. MKTMPL_OPTIONS=--only-section-tmpl --MKTMPL_OPTIONS= -- - # Extra options to supply to gtkdoc-fixref. Not normally needed. - # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html - FIXXREF_OPTIONS= diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb new file mode 100644 index 0000000000..b7eb50e463 --- /dev/null +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb @@ -0,0 +1,47 @@ +SUMMARY = "Implementation of XDG Sound Theme and Name Specifications" +DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ + file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03" + +DEPENDS = "libtool libvorbis" + +inherit autotools gtk-doc + +SRC_URI = " \ + git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \ + file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ +" +SRCREV = "d1ed1ac0c9950ed3908c04abb7c4a6de5c51ed94" + +EXTRA_OECONF = "\ + --enable-null \ + --disable-oss \ + --disable-tdb \ + --disable-lynx \ +" + +PACKAGECONFIG ??= " \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk3 gstreamer', '', d)} \ +" +PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib" +PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio" +PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0" +PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+" +PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3" + +FILES:${PN} += " \ + ${systemd_system_unitdir} \ + ${libdir}/gtk-2.0 \ + ${libdir}/gtk-3.0 \ + ${libdir}/gnome-settings-daemon-3.0 \ + ${libdir}/libcanberra-0.30 \ + ${datadir}/gdm \ + ${datadir}/gnome \ +" +FILES:${PN}-dev += "${datadir}/vala" + +# libcanberra-gtk3-module.so ships a symlink to libcanberra-gtk-module.so +INSANE_SKIP:${PN} = "dev-so" + diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb deleted file mode 100644 index 7eac53ae90..0000000000 --- a/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Implementation of XDG Sound Theme and Name Specifications" -DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." -LICENSE = "LGPL-2.1-or-later" -LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03" - -DEPENDS = "libtool libvorbis" - -inherit autotools gtk-doc - -SRC_URI = " \ - http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \ - file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \ - file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \ - file://0001-remove-dropped-templates.patch \ - file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \ -" -SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72" - -EXTRA_OECONF = "\ - --enable-null \ - --disable-oss \ - --disable-tdb \ - --disable-lynx \ -" - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk gtk3', '', d)} \ -" -PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib" -PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio" -PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0" -PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+" -PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3" - -python populate_packages:prepend() { - plugindir = d.expand('${libdir}/${BPN}-${PV}/') - do_split_packages(d, plugindir, r'^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' ) - do_split_packages(d, plugindir, r'^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' ) -} - -PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd" -PACKAGES_DYNAMIC += "^libcanberra-.*" - -FILES:${PN} = "${bindir}/ ${libdir}/${BPN}.so.*" - -FILES:${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la" - -FILES:${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug" - -FILES:${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \ - ${libdir}/gtk-2.0/modules/*.so \ - ${bindir}/canberra-gtk-play" - -# -gtk3 ships a symlink to a .so -INSANE_SKIP:${PN}-gtk3 = "dev-so" -FILES:${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \ - ${libdir}/gtk-3.0/modules/*.so \ - ${bindir}/canberra-gtk3-play" - -FILES:${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \ - ${datadir}/gdm/ ${datadir}/gnome/" - -FILES:${PN}-systemd = "${systemd_unitdir}/system/*.service"