From d893a7b753b0f5151831e5af0536e9af6ffee65d Mon Sep 17 00:00:00 2001 From: Michael Catanzaro Date: Mon, 5 Aug 2019 21:33:31 -0500 Subject: I hate libcanberra! It's the only library where the pkg-config name doesn't match the vapi, and meson does NOT like this. This commit allows us to build without requiring and linking to libcanberra-gtk (the GTK 2 version). The proper solution is to stop using libcanberra and use gsound instead. --- src/meson.build | 3 ++- src/vapi/libcanberra-gtk3.vapi | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 src/vapi/libcanberra-gtk3.vapi (limited to 'src') diff --git a/src/meson.build b/src/meson.build index b1800127..74f62b16 100644 --- a/src/meson.build +++ b/src/meson.build @@ -8,6 +8,7 @@ sources = files( 'thumbview/cheese-thumbnail.c', 'thumbview/cheese-thumb-view.c', 'thumbview/eog-thumb-nav.c', + 'vapi/libcanberra-gtk3.vapi' ) deps = [ @@ -17,7 +18,7 @@ deps = [ gnome_desktop_dep, eogthumbnav_dep, libcanberra_dep, - libcanberra_gtk_dep, + libcanberra_gtk3_dep, libcheese_gtk_dep, posix_dep, ] diff --git a/src/vapi/libcanberra-gtk3.vapi b/src/vapi/libcanberra-gtk3.vapi new file mode 100644 index 00000000..94add4ea --- /dev/null +++ b/src/vapi/libcanberra-gtk3.vapi @@ -0,0 +1,38 @@ +/*** + This file is part of libcanberra. + + Copyright 2009 Lennart Poettering + + libcanberra is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation, either version 2.1 of the + License, or (at your option) any later version. + + libcanberra is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with libcanberra. If not, see + . +***/ + +using Canberra; +using Gdk; +using Gtk; + +[CCode (cprefix = "CA_GTK_", lower_case_cprefix = "ca_gtk_", cheader_filename = "canberra-gtk.h")] +namespace CanberraGtk { + + public unowned Context? context_get(); + public unowned Context? context_get_for_screen(Gdk.Screen? screen); + + public int proplist_set_for_widget(Proplist p, Gtk.Widget w); + public int play_for_widget(Gtk.Widget w, uint32 id, ...); + public int proplist_set_for_event(Proplist p, Gdk.Event e); + public int play_for_event(Gdk.Event e, uint32 id, ...); + + public void widget_disable_sounds(Gtk.Widget w, bool enable = false); +} + -- cgit v1.2.1