From dcd56bc818bfeefc763f53b89355161a2f466f61 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Tue, 17 Sep 2024 22:56:48 +0200 Subject: media-libs/libcanberra-gtk3: new package, add 0.30 GTK3 part split out of media-libs/libcanberra Bug: https://bugs.gentoo.org/769464 Signed-off-by: Andreas Sturmlechner --- media-libs/libcanberra-gtk3/Manifest | 1 + .../files/libcanberra-0.30-wayland.patch | 64 ++++++++++++++++ .../files/libcanberra-gtk-module.sh | 16 ++++ .../libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild | 88 ++++++++++++++++++++++ media-libs/libcanberra-gtk3/metadata.xml | 12 +++ 5 files changed, 181 insertions(+) create mode 100644 media-libs/libcanberra-gtk3/Manifest create mode 100644 media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch create mode 100644 media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh create mode 100644 media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild create mode 100644 media-libs/libcanberra-gtk3/metadata.xml (limited to 'media-libs') diff --git a/media-libs/libcanberra-gtk3/Manifest b/media-libs/libcanberra-gtk3/Manifest new file mode 100644 index 000000000000..2d908fe537f1 --- /dev/null +++ b/media-libs/libcanberra-gtk3/Manifest @@ -0,0 +1 @@ +DIST libcanberra-0.30.tar.xz 318960 BLAKE2B c90c6863738b103c256eeb0907060a0f74b73ef50ac0728d2114aa558a7a1ad7cbae4184860573d3fac0032eba77327a4de94c459b99a81c3dc19da0e98adfda SHA512 f7543582122256826cd01d0f5673e1e58d979941a93906400182305463d6166855cb51f35c56d807a56dc20b7a64f7ce4391368d24990c1b70782a7d0b4429c2 diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch new file mode 100644 index 000000000000..e51cfe00c0df --- /dev/null +++ b/media-libs/libcanberra-gtk3/files/libcanberra-0.30-wayland.patch @@ -0,0 +1,64 @@ +From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +Date: Fri, 09 Nov 2012 16:16:40 +0000 +Subject: gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland + +--- +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, +-- +cgit v0.9.2 diff --git a/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh new file mode 100644 index 000000000000..63c16af71861 --- /dev/null +++ b/media-libs/libcanberra-gtk3/files/libcanberra-gtk-module.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# to be sourced + +case "$SESSION" in + GNOME) + # Done by gnome-settings-daemon + ;; + *) + if [ -z "$GTK_MODULES" ] ; then + GTK_MODULES="canberra-gtk-module" + else + GTK_MODULES="$GTK_MODULES:canberra-gtk-module" + fi + export GTK_MODULES + ;; +esac diff --git a/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild new file mode 100644 index 000000000000..ec20d28ae8db --- /dev/null +++ b/media-libs/libcanberra-gtk3/libcanberra-gtk3-0.30.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN="libcanberra" +MY_P="libcanberra-${PV}" +inherit libtool multilib-minimal + +DESCRIPTION="GTK3 bindings for libcanberra, the portable sound event library" +HOMEPAGE="https://0pointer.de/lennart/projects/libcanberra/" +SRC_URI="https://0pointer.de/lennart/projects/${MY_PN}/${MY_P}.tar.xz" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="gnome" + +COMMON_DEPEND=" + ~media-libs/libcanberra-${PV}[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.32:2[${MULTILIB_USEDEP}] + x11-libs/gtk+:3[X,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] +" +DEPEND="${COMMON_DEPEND} + dev-libs/libltdl:0[${MULTILIB_USEDEP}] + media-libs/libvorbis[${MULTILIB_USEDEP}] +" +RDEPEND="${COMMON_DEPEND} + ! + + + + gnome@gentoo.org + Gentoo GNOME Desktop + + + sound@gentoo.org + Gentoo Sound project + + -- cgit v1.2.3-65-gdbad