ports/contrib (3.4): libcanberra: new port
commit 31659eda65e30cd48c31daecdabcd32a1254f600 Author: Predrag Ivanović <predivan@mts.rs> Date: Fri Feb 23 10:45:14 2018 +0100 libcanberra: new port diff --git a/libcanberra/.footprint b/libcanberra/.footprint new file mode 100644 index 00000000..a9823c70 --- /dev/null +++ b/libcanberra/.footprint @@ -0,0 +1,47 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/canberra-boot +-rwxr-xr-x root/root usr/bin/canberra-gtk-play +drwxr-xr-x root/root usr/include/ +-rw-r--r-- root/root usr/include/canberra-gtk.h +-rw-r--r-- root/root usr/include/canberra.h +drwxr-xr-x root/root usr/lib/ +drwxr-xr-x root/root usr/lib/gtk-2.0/ +drwxr-xr-x root/root usr/lib/gtk-2.0/modules/ +-rwxr-xr-x root/root usr/lib/gtk-2.0/modules/libcanberra-gtk-module.la +-rwxr-xr-x root/root usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so +drwxr-xr-x root/root usr/lib/gtk-3.0/ +drwxr-xr-x root/root usr/lib/gtk-3.0/modules/ +lrwxrwxrwx root/root usr/lib/gtk-3.0/modules/libcanberra-gtk-module.so -> libcanberra-gtk3-module.so +-rwxr-xr-x root/root usr/lib/gtk-3.0/modules/libcanberra-gtk3-module.la +-rwxr-xr-x root/root usr/lib/gtk-3.0/modules/libcanberra-gtk3-module.so +drwxr-xr-x root/root usr/lib/libcanberra-0.30/ +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-alsa.la +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-alsa.so +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-multi.la +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-multi.so +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-null.la +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-null.so +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-pulse.la +-rwxr-xr-x root/root usr/lib/libcanberra-0.30/libcanberra-pulse.so +-rwxr-xr-x root/root usr/lib/libcanberra-gtk.la +lrwxrwxrwx root/root usr/lib/libcanberra-gtk.so -> libcanberra-gtk.so.0.1.9 +lrwxrwxrwx root/root usr/lib/libcanberra-gtk.so.0 -> libcanberra-gtk.so.0.1.9 +-rwxr-xr-x root/root usr/lib/libcanberra-gtk.so.0.1.9 +-rwxr-xr-x root/root usr/lib/libcanberra-gtk3.la +lrwxrwxrwx root/root usr/lib/libcanberra-gtk3.so -> libcanberra-gtk3.so.0.1.9 +lrwxrwxrwx root/root usr/lib/libcanberra-gtk3.so.0 -> libcanberra-gtk3.so.0.1.9 +-rwxr-xr-x root/root usr/lib/libcanberra-gtk3.so.0.1.9 +-rwxr-xr-x root/root usr/lib/libcanberra.la +lrwxrwxrwx root/root usr/lib/libcanberra.so -> libcanberra.so.0.2.5 +lrwxrwxrwx root/root usr/lib/libcanberra.so.0 -> libcanberra.so.0.2.5 +-rwxr-xr-x root/root usr/lib/libcanberra.so.0.2.5 +drwxr-xr-x root/root usr/lib/pkgconfig/ +-rw-r--r-- root/root usr/lib/pkgconfig/libcanberra-gtk.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libcanberra-gtk3.pc +-rw-r--r-- root/root usr/lib/pkgconfig/libcanberra.pc +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/vala/ +drwxr-xr-x root/root usr/share/vala/vapi/ +-rw-r--r-- root/root usr/share/vala/vapi/libcanberra-gtk.vapi +-rw-r--r-- root/root usr/share/vala/vapi/libcanberra.vapi diff --git a/libcanberra/.md5sum b/libcanberra/.md5sum new file mode 100644 index 00000000..aee96c98 --- /dev/null +++ b/libcanberra/.md5sum @@ -0,0 +1,3 @@ +34cb7e4430afaf6f447c4ebdb9b42072 libcanberra-0.30.tar.xz +08babe5f17deae110d5fa163b55824bf libcanberra-broadway-fix.patch +a7d538151a41689f42a2a6b589ef0a3e libcanberra-multi-backend.patch diff --git a/libcanberra/.signature b/libcanberra/.signature new file mode 100644 index 00000000..54d8bf95 --- /dev/null +++ b/libcanberra/.signature @@ -0,0 +1,7 @@ +untrusted comment: verify with /etc/ports/contrib.pub +RWSagIOpLGJF3/urp9K/CrAIOFa5r7jiR08xGDQPz7hHrW3pSWmymt7v5fs0thdfmS1/1adMAtrNRppnzqAH5eOkXSWcFjZpqAk= +SHA256 (Pkgfile) = 1c5af25326518caf0e69a2542842cd2337d89495bd3e24bbaba85d30ececea98 +SHA256 (.footprint) = 6b5bff3e4cb578563a9176b787732debae744871570a1c290b1a223834e7d98d +SHA256 (libcanberra-0.30.tar.xz) = c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72 +SHA256 (libcanberra-broadway-fix.patch) = 5c07bf6a7199d992e6f797de157bf4368391e597ab7a332da401269a8d8dd12b +SHA256 (libcanberra-multi-backend.patch) = de146cae3e40a16b38c8edb4f1a3a423c64eb9c5000e36c316b677e9909c9b06 diff --git a/libcanberra/Pkgfile b/libcanberra/Pkgfile new file mode 100644 index 00000000..003b1e2a --- /dev/null +++ b/libcanberra/Pkgfile @@ -0,0 +1,28 @@ +# Description: A small and lightweight implementation of the XDG Sound Theme Specification +# URL: http://0pointer.de/lennart/projects/libcanberra +# Maintainer: Pedja, predivan at mts dot rs +# Depends on: gtk gtk3 pulseaudio libvorbis + +name=libcanberra +version=0.30 +release=1 +source=(http://0pointer.de/lennart/projects/libcanberra/libcanberra-$version.tar.xz + libcanberra-broadway-fix.patch + libcanberra-multi-backend.patch) + +build() { + cd $name-$version + patch -p1 -i $SRC/libcanberra-broadway-fix.patch + patch -p1 -i $SRC/libcanberra-multi-backend.patch + + ./configure --prefix=/usr \ + --disable-oss \ + --with-builtin=dso \ + --with-pic \ + --disable-{static,schemas-install} + make + make DESTDIR=$PKG install + + rm -r $PKG/usr/share/{doc,gtk-doc,gnome,gdm} + rm -r $PKG/usr/lib/gnome-settings-daemon* +} diff --git a/libcanberra/libcanberra-broadway-fix.patch b/libcanberra/libcanberra-broadway-fix.patch new file mode 100644 index 00000000..2ce914bf --- /dev/null +++ b/libcanberra/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/libcanberra-multi-backend.patch b/libcanberra/libcanberra-multi-backend.patch new file mode 100644 index 00000000..c5462404 --- /dev/null +++ b/libcanberra/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