libcanberra: update 0.30 -> 0.30-19

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 <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk
2026-01-08 12:55:41 +01:00
committed by Khem Raj
parent b80496df71
commit 520656c647
5 changed files with 47 additions and 288 deletions

View File

@@ -1,94 +0,0 @@
From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
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 <schnitzeltony@googlemail.com>
---
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

View File

@@ -1,65 +0,0 @@
From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
From: Michael Meeks <michael.meeks@suse.com>
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,

View File

@@ -1,65 +0,0 @@
From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Tue, 15 Aug 2023 15:41:03 +0200
Subject: [PATCH] remove dropped gtkdoc templates
Signed-off-by: Markus Volk <f_l_k@t-online.de>
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=

View File

@@ -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"

View File

@@ -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"