commit 793b9e9f82af3560b026d067fc600a536dd51f1a Author: overweight <5324761+overweight@user.noreply.gitee.com> Date: Mon Sep 30 10:55:05 2019 -0400 Package init diff --git a/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch new file mode 100644 index 0000000..6187900 --- /dev/null +++ b/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch @@ -0,0 +1,70 @@ +From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +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(+) + +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.9.0 + diff --git a/libcanberra-0.30.tar.xz b/libcanberra-0.30.tar.xz new file mode 100644 index 0000000..b9d5d0d Binary files /dev/null and b/libcanberra-0.30.tar.xz differ diff --git a/libcanberra.spec b/libcanberra.spec new file mode 100644 index 0000000..1cf6f4e --- /dev/null +++ b/libcanberra.spec @@ -0,0 +1,109 @@ +Name: libcanberra +Version: 0.30 +Release: 21 +Summary: XDG Sound Theme and Name Specifications +License: LGPLv2+ +Url: https://0pointer.de/lennart/projects/libcanberra +Source0: https://0pointer.de/lennart/projects/libcanberra/%{name}-%{version}.tar.xz + +Patch0: 0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch + +BuildRequires: gcc gtk2-devel gtk3-devel alsa-lib-devel libvorbis-devel libtool-ltdl-devel gtk-doc +BuildRequires: pulseaudio-libs-devel gstreamer1-devel libtdb-devel gettext-devel systemd-devel +Requires: sound-theme-freedesktop pulseaudio-libs +%systemd_requires + +%description +libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating +event sounds on free desktops, such as GNOME. It comes with several backends (ALSA, PulseAudio, OSS, +GStreamer, null) and is designed to be portable + +%package gtk2 +Summary: Gtk+ 2.x Bindings for libcanberra +Requires: %{name} = %{version}-%{release} +Requires: %{name}-gtk3 = %{version}-%{release} + +%description gtk2 +Gtk+ 2.x bindings for libcanberra + +%package gtk3 +Summary: Gtk+ 3.x Bindings for libcanberra +Requires: %{name} = %{version}-%{release} + +%description gtk3 +Gtk+ 3.x bindings for libcanberra + +%package devel +Summary: Development Files and Header files for %{name} +Requires: %{name} = %{version}-%{release} %{name}-gtk2 = %{version}-%{release} +Requires: %{name}-gtk3 = %{version}-%{release} gtk2-devel + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package_help + +%post +/sbin/ldconfig +%systemd_post canberra-system-bootup.service canberra-system-shutdown.service canberra-system-shutdown-reboot.service + +%preun +%systemd_preun canberra-system-bootup.service canberra-system-shutdown.service canberra-system-shutdown-reboot.service + +%postun +/sbin/ldconfig +%systemd_postun + +%ldconfig_scriptlets gtk2 +%ldconfig_scriptlets gtk3 + +%prep +%autosetup -n %{name}-%{version} -p1 + +%build +%configure --enable-pulse --enable-alsa --enable-null --disable-oss --with-builtin=dso --with-systemdsystemunitdir=/usr/lib/systemd/system +%make_build + +%install +%make_install +%delete_la_and_a +rm $RPM_BUILD_ROOT%{_docdir}/libcanberra/README + +%files +%defattr(-,root,root) +%doc LGPL +%license LGPL +%{_bindir}/canberra-boot +%{_libdir}/libcanberra.so.* +%{_libdir}/libcanberra-0.30/*.so +%{_prefix}/lib/systemd/system/*.service + +%files gtk2 +%defattr(-,root,root) +%{_libdir}/gtk-2.0/modules/libcanberra-gtk-module.so +%{_libdir}/libcanberra-gtk.so.* + +%files gtk3 +%defattr(-,root,root) +%{_bindir}/canberra-gtk-play +%{_libdir}/gnome-settings-daemon-3.0/gtk-modules/*.desktop +%{_libdir}/gtk-3.0/modules/*.so +%{_libdir}/libcanberra-gtk3.so.* +%{_datadir}/gdm/autostart/LoginWindow/*.desktop +%{_datadir}/gnome/* + +%files devel +%defattr(-,root,root) +%{_includedir}/*.h +%{_libdir}/pkgconfig/*.pc +%{_libdir}/*.so +%{_datadir}/vala/vapi/*.vapi + +%files help +%doc README +%{_datadir}/gtk-doc/html/* + +%changelog +* Mon Sep 9 2019 openEuler Buildteam - 0.30-21 +- Package init