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 <[email protected]>
---
 ...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?= <[email protected]>
-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 <[email protected]>
----
-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 <[email protected]>
-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 <[email protected]>
-Date: Tue, 15 Aug 2023 15:41:03 +0200
-Subject: [PATCH] remove dropped gtkdoc templates
-
-Signed-off-by: Markus Volk <[email protected]>
-
-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"
-- 
2.52.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#123270): 
https://lists.openembedded.org/g/openembedded-devel/message/123270
Mute This Topic: https://lists.openembedded.org/mt/117150885/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to