0.12.x fails to build with WebkitGTK >= 2.21
Bug summary
Geary 0.12.3 fails to build on Fedora Rawhide, with multiple errors like this:
geary-0.12.3/src/client/web-process/web-process-extension.vala:91.13-91.47: error: The name `get_javascript_global_context' does not exist in the context of `WebKit.Frame?'
About you
- Geary version: 0.12.3
- Installation method: Source code?
- Your operating system and version: Fedora Rawhide/29
Relevant logs and/or screenshots
See https://kojipkgs.fedoraproject.org//work/tasks/6395/28236395/build.log
Here are some excerpts:
-- The C compiler identification is GNU 8.1.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Generated desktop file will be checked for errors
-- Help translations will be generated and installed
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.5.1")
-- Checking for module 'sqlite3'
-- Found sqlite3, version 3.24.0
-- Looking for SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
-- Looking for SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER - found
-- xgettext found
-- Install Contractor contract: OFF
-- Found Vala: /usr/bin/valac
-- checking for a minimum Vala version of 0.26.0
-- found Vala, version 0.40.7
-- Found vapigen: /usr/bin/vapigen
-- Unity messaging menu support: OFF
-- Unity launcher support: OFF
-- Vala fatal warnings: ON
-- Checking for modules 'gthread-2.0;glib-2.0>=2.42.0;gio-2.0>=2.42.0;gtk+-3.0>=3.14.0;libsoup-2.4>=2.48;gee-0.8>=0.8.5;libnotify>=0.7.5;libcanberra>=0.28;sqlite3>=3.7.4;gmime-2.6>=2.6.17;libsecret-1>=0.11;libxml-2.0>=2.7.8;gcr-3>=3.10.1;gobject-introspection-1.0;webkit2gtk-4.0>=2.10;webkit2gtk-web-extension-4.0>=2.10;javascriptcoregtk-4.0>=2.10;enchant>=1.6'
-- Found gthread-2.0, version 2.56.1
-- Found glib-2.0, version 2.56.1
-- Found gio-2.0, version 2.56.1
-- Found gtk+-3.0, version 3.22.30
-- Found libsoup-2.4, version 2.62.2
-- Found gee-0.8, version 0.20.1
-- Found libnotify, version 0.7.7
-- Found libcanberra, version 0.30
-- Found sqlite3, version 3.24.0
-- Found gmime-2.6, version 2.6.23
-- Found libsecret-1, version 0.18.6
-- Found libxml-2.0, version 2.9.8
-- Found gcr-3, version 3.28.0
-- Found gobject-introspection-1.0, version 1.56.1
-- Found webkit2gtk-4.0, version 2.21.4
-- Found webkit2gtk-web-extension-4.0, version 2.21.4
-- Found javascriptcoregtk-4.0, version 2.21.4
-- Found enchant, version 1.6.0
-- Reference tracking: OFF
-- POODLE SSLv3 fix: ON
-- GSettings schemas will be installed into /usr/share/glib-2.0/schemas/
-- Could NOT find Valadoc (missing: VALADOC_EXECUTABLE)
-- SQLite FTS3 tokenizer support: ON
-- Checking for modules 'gee-0.8;gio-2.0;glib-2.0;gmime-2.6;gthread-2.0;gtk+-3.0;javascriptcoregtk-4.0;libsoup-2.4;webkit2gtk-4.0;libxml-2.0'
-- Found gee-0.8, version 0.20.1
-- Found gio-2.0, version 2.56.1
-- Found glib-2.0, version 2.56.1
-- Found gmime-2.6, version 2.6.23
-- Found gthread-2.0, version 2.56.1
-- Found gtk+-3.0, version 3.22.30
-- Found javascriptcoregtk-4.0, version 2.21.4
-- Found libsoup-2.4, version 2.62.2
-- Found webkit2gtk-4.0, version 2.21.4
-- Found libxml-2.0, version 2.9.8
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
CMAKE_CXX_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE
CMAKE_Fortran_FLAGS_RELEASE
INCLUDE_INSTALL_DIR
LIB_INSTALL_DIR
SHARE_INSTALL_PREFIX
SYSCONF_INSTALL_DIR
/builddir/build/BUILD/geary-0.12.3/src/client/web-process/web-process-extension.vala:91.13-91.47: error: The name `get_javascript_global_context' does not exist in the context of `WebKit.Frame?'
frame.get_javascript_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/web-process/web-process-extension.vala:110.13-110.47: error: The name `get_javascript_global_context' does not exist in the context of `WebKit.Frame?'
frame.get_javascript_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/web-process/web-process-extension.vala:127.13-127.47: error: The name `get_javascript_global_context' does not exist in the context of `WebKit.Frame?'
frame.get_javascript_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:37.35-37.59: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
return Geary.JS.to_number(result.get_global_context(),
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:38.35-38.50: error: The name `get_value' does not exist in the context of `WebKit.JavascriptResult'
result.get_value());
^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:21.36-21.60: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
JS.GlobalContext context = result.get_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:22.26-22.41: error: The name `get_value' does not exist in the context of `WebKit.JavascriptResult'
JS.Value value = result.get_value();
^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:49.35-49.59: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
return Geary.JS.to_string(result.get_global_context(),
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:50.35-50.50: error: The name `get_value' does not exist in the context of `WebKit.JavascriptResult'
result.get_value());
^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/conversation-viewer/conversation-web-view.vala:186.40-186.64: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
JS.GlobalContext context = result.get_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:81.35-81.59: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
return Geary.JS.to_object(result.get_global_context(),
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:82.35-82.50: error: The name `get_value' does not exist in the context of `WebKit.JavascriptResult'
result.get_value());
^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:62.36-62.60: error: The name `get_global_context' does not exist in the context of `WebKit.JavascriptResult'
JS.GlobalContext context = result.get_global_context();
^^^^^^^^^^^^^^^^^^^^^^^^^
/builddir/build/BUILD/geary-0.12.3/src/client/util/util-webkit.vala:63.33-63.48: error: The name `get_value' does not exist in the context of `WebKit.JavascriptResult'
JS.Value js_str_value = result.get_value();
^^^^^^^^^^^^^^^^
Edited by Michael Gratton