ports/compat-32 (3.5): libcanberra-32: initial import
commit 1d14b0d25fb78ca44b2e1a08b41d016f10fa5584 Author: Danny Rawlins <monster.romster@gmail.com> Date: Sun Aug 4 22:24:51 2019 +1000 libcanberra-32: initial import diff --git a/libcanberra-32/.32bit b/libcanberra-32/.32bit new file mode 100644 index 0000000..e69de29 diff --git a/libcanberra-32/.footprint b/libcanberra-32/.footprint new file mode 100644 index 0000000..84bd5f0 --- /dev/null +++ b/libcanberra-32/.footprint @@ -0,0 +1,15 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/lib32/ +drwxr-xr-x root/root usr/lib32/libcanberra-0.30/ +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-alsa.la +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-alsa.so +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-multi.la +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-multi.so +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-null.la +-rwxr-xr-x root/root usr/lib32/libcanberra-0.30/libcanberra-null.so +-rwxr-xr-x root/root usr/lib32/libcanberra.la +lrwxrwxrwx root/root usr/lib32/libcanberra.so -> libcanberra.so.0.2.5 +lrwxrwxrwx root/root usr/lib32/libcanberra.so.0 -> libcanberra.so.0.2.5 +-rwxr-xr-x root/root usr/lib32/libcanberra.so.0.2.5 +drwxr-xr-x root/root usr/lib32/pkgconfig/ +-rw-r--r-- root/root usr/lib32/pkgconfig/libcanberra.pc diff --git a/libcanberra-32/.signature b/libcanberra-32/.signature new file mode 100644 index 0000000..89db909 --- /dev/null +++ b/libcanberra-32/.signature @@ -0,0 +1,7 @@ +untrusted comment: verify with /etc/ports/compat-32.pub +RWSwxGo/zH7eXdl3P1R4+cgnAdqPdXIfUGJPIIWPXxXkXVgLOBIm6dPQzrzhybc4+N2eU6qqmwWs2tYHXWZpebJDKfIxuQ4piw4= +SHA256 (Pkgfile) = 2f20f50fe2104f9239bea010ae3cf721c99a229231e9c4cfd60f67ed4ce2f247 +SHA256 (.footprint) = 4c240323b3c234ceeee69a6b29384fcf0b561d15798590a3de53c9aa7bbee14d +SHA256 (libcanberra-0.30.tar.xz) = c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72 +SHA256 (libcanberra-broadway-fix.patch) = 5c07bf6a7199d992e6f797de157bf4368391e597ab7a332da401269a8d8dd12b +SHA256 (libcanberra-multi-backend.patch) = de146cae3e40a16b38c8edb4f1a3a423c64eb9c5000e36c316b677e9909c9b06 diff --git a/libcanberra-32/Pkgfile b/libcanberra-32/Pkgfile new file mode 100644 index 0000000..9952bb5 --- /dev/null +++ b/libcanberra-32/Pkgfile @@ -0,0 +1,32 @@ +# Description: A small and lightweight implementation of the XDG Sound Theme Specification +# URL: http://0pointer.de/lennart/projects/libcanberra +# Maintainer: CRUX compat-32 Team, compat-32-ports at crux dot nu +# Depends on: gtk-32 libcanberra xorg-libxdamage-32 libtool-32 alsa-lib-32 libvorbis-32 +# Optional: pulseaudio-32 + +name=libcanberra-32 +version=0.30 +release=1 +source=(https://0pointer.de/lennart/projects/libcanberra/libcanberra-$version.tar.xz + libcanberra-broadway-fix.patch + libcanberra-multi-backend.patch) + +build() { + cd ${name:0:11}-$version + + patch -p1 -i $SRC/libcanberra-broadway-fix.patch + patch -p1 -i $SRC/libcanberra-multi-backend.patch + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib32 \ + --enable-alsa \ + --disable-oss \ + --with-builtin=dso \ + --with-pic + + make + make -j1 DESTDIR=$PKG install + + rm -r $PKG/usr/{bin,share,include} +} diff --git a/libcanberra-32/libcanberra-broadway-fix.patch b/libcanberra-32/libcanberra-broadway-fix.patch new file mode 100644 index 0000000..2ce914b --- /dev/null +++ b/libcanberra-32/libcanberra-broadway-fix.patch @@ -0,0 +1,71 @@ +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 + +--- + src/canberra-gtk-module.c | 15 +++++++++++++++ + src/canberra-gtk.c | 5 +++++ + 2 files changed, 20 insertions(+), 0 deletions(-) + +diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c +index 67791f0..c1532ab 100644 +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + 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(GdkDisplay *d) { + 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(GdkDisplay *d, GdkWindow *w) { + 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 */ + +diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c +index 34446f5..08cb668 100644 +--- a/src/canberra-gtk.c ++++ b/src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + 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, +-- +1.7.7 + + diff --git a/libcanberra-32/libcanberra-multi-backend.patch b/libcanberra-32/libcanberra-multi-backend.patch new file mode 100644 index 0000000..c546240 --- /dev/null +++ b/libcanberra-32/libcanberra-multi-backend.patch @@ -0,0 +1,26 @@ +Index: libcanberra-0.29/src/driver-order.c +=================================================================== +--- libcanberra-0.29.orig/src/driver-order.c ++++ libcanberra-0.29/src/driver-order.c +@@ -30,6 +30,7 @@ + #include "driver-order.h" + + const char* const ca_driver_order[] = { ++ "multi", + #ifdef HAVE_PULSE + "pulse", + #endif +Index: libcanberra-0.29/src/multi.c +=================================================================== +--- libcanberra-0.29.orig/src/multi.c ++++ libcanberra-0.29/src/multi.c +@@ -107,8 +107,7 @@ int driver_open(ca_context *c) { + int ret = CA_SUCCESS; + + ca_return_val_if_fail(c, CA_ERROR_INVALID); +- ca_return_val_if_fail(c->driver, CA_ERROR_NODRIVER); +- ca_return_val_if_fail(!strncmp(c->driver, "multi", 5), CA_ERROR_NODRIVER); ++ ca_return_val_if_fail(!c->driver || strncmp(c->driver, "multi", 5) == 0, CA_ERROR_NODRIVER); + ca_return_val_if_fail(!PRIVATE(c), CA_ERROR_STATE); + + if (!(c->private = p = ca_new0(struct private, 1)))
participants (1)
-
crux@crux.nu