GNOME Bugzilla – Bug 735112
FTBFS with --with-cheese
Last modified: 2015-04-22 03:48:22 UTC
As reported on IRC, the views_stack.set_current_page (2); line in contacts-avatar-dialog.vala aborts the build when building with --with-cheese, because GtkStack doesn’t have a set_current_page() method. That means the 3.13.90 tarball is broken --with-cheese. Even if this is fixed, it exposes a fundamental problem with the use of Vala #if conditionals in the code — they aren’t propagated to the generated C code, so if a tarball is generated with --with-cheese, someone can’t then configure it --without-cheese and compile the C code from the tarball without re-running valac, which somewhat undermines the point of shipping generated C code in the tarball. One suggested solution is to have two separate .vala files for the --with-cheese code and the --without-cheese code (there’s probably a nice way of separating it out to eliminate duplication), and to always generate C code from both. The --with[out]-cheese configure option would then affect which C file is compiled and which object file is linked into the gnome-contacts binary — rather than which .vala file is compiled in the first place. That’s what libfolks does for its Zeitgeist support: https://git.gnome.org/browse/folks/tree/backends/telepathy/lib/Makefile.am#n80
Created attachment 284094 [details] [review] AvatarDialog: Fix syntax error, Gtk.Stack has no set_current_page()
Review of attachment 284094 [details] [review]: Looks good to me, thanks. Please push to master.
Note that even after this patch is pushed, the problems of #if conditionals in Vala code still need to be addressed before this bug can be closed.
Review of attachment 284094 [details] [review]: Pushed