libcanberra-32: initial import

This commit is contained in:
Danny Rawlins 2019-08-04 22:24:51 +10:00
parent 009b37e0ad
commit 1d14b0d25f
6 changed files with 151 additions and 0 deletions

0
libcanberra-32/.32bit Normal file
View File

15
libcanberra-32/.footprint Normal file
View File

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

View File

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

32
libcanberra-32/Pkgfile Normal file
View File

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

View File

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

View File

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