summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2026-01-08 12:55:41 +0100
committerKhem Raj <raj.khem@gmail.com>2026-01-12 08:53:49 -0800
commit0ccf384c90e1e32a548e795250398a31a65a9b5d (patch)
tree43e7bee7b157d1abd20d6b7a81014591acc2b665 /meta-oe/recipes-support
parent56f4b30c99e7f0b784259705c5610e6d13ebc30c (diff)
downloadmeta-openembedded-0ccf384c90e1e32a548e795250398a31a65a9b5d.tar.gz
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>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch94
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch65
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch65
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.30-19.bb47
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb64
5 files changed, 47 insertions, 288 deletions
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 @@
1From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Mon, 16 Sep 2013 16:08:28 +0200
4Subject: [PATCH] build gtk- and gtk3-version for canberra_gtk_play
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
10---
11Upstream-Status: Pending
12
13 src/Makefile.am | 25 +++++++++++++++----------
14 1 files changed, 15 insertions(+), 10 deletions(-)
15
16diff --git a/src/Makefile.am b/src/Makefile.am
17index 56ed96d..fc72e1f 100644
18--- a/src/Makefile.am
19+++ b/src/Makefile.am
20@@ -319,9 +319,6 @@ endif
21
22 if HAVE_GTK_ANY
23
24-bin_PROGRAMS += \
25- canberra-gtk-play
26-
27 include_HEADERS += \
28 canberra-gtk.h
29
30@@ -329,6 +326,9 @@ endif
31
32 if HAVE_GTK3
33
34+bin_PROGRAMS += \
35+ canberra-gtk3-play
36+
37 lib_LTLIBRARIES += \
38 libcanberra-gtk3.la
39
40@@ -367,6 +367,9 @@ endif
41
42 if HAVE_GTK
43
44+bin_PROGRAMS += \
45+ canberra-gtk-play
46+
47 lib_LTLIBRARIES += \
48 libcanberra-gtk.la
49
50@@ -399,14 +402,17 @@ endif
51
52 if HAVE_GTK3
53
54-canberra_gtk_play_LDADD = \
55+canberra_gtk3_play_LDADD = \
56 $(GTK3_LIBS) \
57 libcanberra.la \
58 libcanberra-gtk3.la
59-canberra_gtk_play_CFLAGS = \
60+canberra_gtk3_play_CFLAGS = \
61 $(GTK3_CFLAGS)
62
63-else
64+canberra_gtk3_play_SOURCES = \
65+ canberra-gtk-play.c
66+
67+endif
68 if HAVE_GTK
69
70 canberra_gtk_play_LDADD = \
71@@ -416,7 +422,9 @@ canberra_gtk_play_LDADD = \
72 canberra_gtk_play_CFLAGS = \
73 $(GTK_CFLAGS)
74
75-endif
76+canberra_gtk_play_SOURCES = \
77+ canberra-gtk-play.c
78+
79 endif
80
81 if HAVE_GTK_ANY
82@@ -424,9 +432,6 @@ if HAVE_GTK_ANY
83 dist_gsdgtkmodules_DATA = \
84 canberra-gtk-module.desktop
85
86-canberra_gtk_play_SOURCES = \
87- canberra-gtk-play.c
88-
89 EXTRA_DIST += \
90 libcanberra-login-sound.desktop.in \
91 libcanberra-ready-sound.desktop.in \
92--
931.7.6.5
94
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 @@
1From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001
2From: Michael Meeks <michael.meeks@suse.com>
3Date: Fri, 9 Nov 2012 16:16:40 +0000
4Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays:
5 broadway/wayland
6
7---
8Upstream-Status: Pending
9
10 src/canberra-gtk-module.c | 15 +++++++++++++++
11 src/canberra-gtk.c | 5 +++++
12 2 files changed, 20 insertions(+)
13
14--- a/src/canberra-gtk-module.c
15+++ b/src/canberra-gtk-module.c
16@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDispla
17 guchar *data = NULL;
18 gint ret = -1;
19
20+#ifdef GDK_IS_X11_DISPLAY
21+ if (!GDK_IS_X11_DISPLAY(d))
22+ return 0;
23+#endif
24+
25 if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
26 gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
27 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
28@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDispl
29 guchar *data = NULL;
30 gint ret = -1;
31
32+#ifdef GDK_IS_X11_DISPLAY
33+ if (!GDK_IS_X11_DISPLAY(d))
34+ return 0;
35+#endif
36+
37 if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)),
38 gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"),
39 0, G_MAXLONG, False, XA_CARDINAL, &type_return,
40@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisp
41 gboolean ret = FALSE;
42 Atom xembed;
43
44+#ifdef GDK_IS_X11_DISPLAY
45+ if (!GDK_IS_X11_DISPLAY(d))
46+ return FALSE;
47+#endif
48+
49 /* Gnome Panel applets are XEMBED windows. We need to make sure we
50 * ignore them */
51
52--- a/src/canberra-gtk.c
53+++ b/src/canberra-gtk.c
54@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDispla
55 guchar *data = NULL;
56 gint ret = -1;
57
58+#ifdef GDK_IS_X11_DISPLAY
59+ if (!GDK_IS_X11_DISPLAY(d))
60+ return 0;
61+#endif
62+
63 if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w),
64 gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"),
65 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 @@
1From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Tue, 15 Aug 2023 15:41:03 +0200
4Subject: [PATCH] remove dropped gtkdoc templates
5
6Signed-off-by: Markus Volk <f_l_k@t-online.de>
7
8Upstream-Status: Pending
9---
10--- a/gtkdoc/gtk-doc.make 2011-08-25 23:20:22.000000000 +0200
11+++ b/gtkdoc/gtk-doc.make 2023-08-15 18:08:02.430729073 +0200
12@@ -33,9 +33,9 @@
13 $(HTML_IMAGES) \
14 $(SETUP_FILES)
15
16-DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
17+DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
18 html-build.stamp pdf-build.stamp \
19- tmpl.stamp sgml.stamp html.stamp pdf.stamp
20+ sgml.stamp html.stamp pdf.stamp
21
22 SCANOBJ_FILES = \
23 $(DOC_MODULE).args \
24@@ -120,27 +120,12 @@
25 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
26 @true
27
28-#### templates ####
29-
30-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
31- @echo ' DOC Rebuilding template files'
32- @gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
33- @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
34- if test -w $(abs_srcdir) ; then \
35- cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
36- fi \
37- fi
38- @touch tmpl-build.stamp
39-
40-tmpl.stamp: tmpl-build.stamp
41- @true
42-
43 $(srcdir)/tmpl/*.sgml:
44 @true
45
46 #### xml ####
47
48-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
49+sgml-build.stamp: $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
50 @echo ' DOC Building XML'
51 @-chmod -R u+w $(srcdir)
52 @_source_dir='' ; \
53 --- a/gtkdoc/Makefile.am 2009-01-21 21:52:46.000000000 +0100
54+++ b/gtkdoc/Makefile.am 2023-08-15 17:41:59.002498772 +0200
55@@ -31,10 +31,6 @@
56 # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
57 MKDB_OPTIONS=--sgml-mode --output-format=xml
58
59-# Extra options to supply to gtkdoc-mktmpl
60-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
61-MKTMPL_OPTIONS=
62-
63 # Extra options to supply to gtkdoc-fixref. Not normally needed.
64 # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
65 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 @@
1SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
2DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
3LICENSE = "LGPL-2.1-or-later"
4LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
5 file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
6
7DEPENDS = "libtool libvorbis"
8
9inherit autotools gtk-doc
10
11SRC_URI = " \
12 git://salsa.debian.org/gnome-team/libcanberra;protocol=https;branch=debian/latest;tag=debian/${PV} \
13 file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \
14"
15SRCREV = "d1ed1ac0c9950ed3908c04abb7c4a6de5c51ed94"
16
17EXTRA_OECONF = "\
18 --enable-null \
19 --disable-oss \
20 --disable-tdb \
21 --disable-lynx \
22"
23
24PACKAGECONFIG ??= " \
25 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
26 ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11 wayland', 'gtk3 gstreamer', '', d)} \
27"
28PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib"
29PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio"
30PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0"
31PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+"
32PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3"
33
34FILES:${PN} += " \
35 ${systemd_system_unitdir} \
36 ${libdir}/gtk-2.0 \
37 ${libdir}/gtk-3.0 \
38 ${libdir}/gnome-settings-daemon-3.0 \
39 ${libdir}/libcanberra-0.30 \
40 ${datadir}/gdm \
41 ${datadir}/gnome \
42"
43FILES:${PN}-dev += "${datadir}/vala"
44
45# libcanberra-gtk3-module.so ships a symlink to libcanberra-gtk-module.so
46INSANE_SKIP:${PN} = "dev-so"
47
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 @@
1SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
2DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
3LICENSE = "LGPL-2.1-or-later"
4LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
5 file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
6
7DEPENDS = "libtool libvorbis"
8
9inherit autotools gtk-doc
10
11SRC_URI = " \
12 http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
13 file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \
14 file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \
15 file://0001-remove-dropped-templates.patch \
16 file://0001-Determine-audio-buffer-size-for-a-time-of-500ms.patch \
17"
18SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72"
19
20EXTRA_OECONF = "\
21 --enable-null \
22 --disable-oss \
23 --disable-tdb \
24 --disable-lynx \
25"
26
27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)} \
28 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk gtk3', '', d)} \
29"
30PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib"
31PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio"
32PACKAGECONFIG[gstreamer] = "--enable-gstreamer, --disable-gstreamer, gstreamer1.0"
33PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+"
34PACKAGECONFIG[gtk3] = "--enable-gtk3, --disable-gtk3, gtk+3"
35
36python populate_packages:prepend() {
37 plugindir = d.expand('${libdir}/${BPN}-${PV}/')
38 do_split_packages(d, plugindir, r'^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
39 do_split_packages(d, plugindir, r'^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' )
40}
41
42PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd"
43PACKAGES_DYNAMIC += "^libcanberra-.*"
44
45FILES:${PN} = "${bindir}/ ${libdir}/${BPN}.so.*"
46
47FILES:${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la"
48
49FILES:${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug"
50
51FILES:${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \
52 ${libdir}/gtk-2.0/modules/*.so \
53 ${bindir}/canberra-gtk-play"
54
55# -gtk3 ships a symlink to a .so
56INSANE_SKIP:${PN}-gtk3 = "dev-so"
57FILES:${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
58 ${libdir}/gtk-3.0/modules/*.so \
59 ${bindir}/canberra-gtk3-play"
60
61FILES:${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
62 ${datadir}/gdm/ ${datadir}/gnome/"
63
64FILES:${PN}-systemd = "${systemd_unitdir}/system/*.service"