From f809febed3859a13bc1cb7c9f16e6e5cee6a7195 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Thu, 22 Jun 2017 15:01:19 +0200 Subject: [PATCH] Drop custom webkit2gtk bindings --- bindings/meson.build | 70 -------- bindings/metadata/Soup-2.4.metadata | 3 - bindings/metadata/WebKit2-4.0.metadata | 19 --- .../WebKit2WebExtension-4.0-custom.vala | 5 - .../metadata/WebKit2WebExtension-4.0.metadata | 9 - bindings/vapi/javascriptcore-4.0.vapi | 155 ------------------ meson.build | 10 +- src/CMakeLists.txt | 39 +---- test/CMakeLists.txt | 2 +- 9 files changed, 7 insertions(+), 305 deletions(-) delete mode 100644 bindings/meson.build delete mode 100644 bindings/metadata/Soup-2.4.metadata delete mode 100644 bindings/metadata/WebKit2-4.0.metadata delete mode 100644 bindings/metadata/WebKit2WebExtension-4.0-custom.vala delete mode 100644 bindings/metadata/WebKit2WebExtension-4.0.metadata delete mode 100644 bindings/vapi/javascriptcore-4.0.vapi diff --git a/bindings/meson.build b/bindings/meson.build deleted file mode 100644 index 6e9c7256..00000000 --- a/bindings/meson.build +++ /dev/null @@ -1,70 +0,0 @@ -# Custom VAPIs -# NOTE: We can't directly use the dependencies returned by dependency() for -# webkit2gtk (and the web extensions), since Meson then adds the packages from -# the system directories. Since there might be conflicts with our custom VAPI's, -# we need to glue pieces together. We satisfy GCC by looking up the relevant -# include directories and we please the linker by using cc.find_library() - - -girdir = gobject_introspection.get_pkgconfig_variable('girdir') -webkit2gtk_include = include_directories( - webkit2gtk_dep.get_pkgconfig_variable('includedir') + '/webkitgtk-4.0' -) - -javascriptcoregtk = declare_dependency( - dependencies: [ - javascriptcoregtk_lib, - javascriptcoregtk_vapi - ], - include_directories: webkit2gtk_include -) - -webkit2gtk_vapi = gnome.generate_vapi('webkit2gtk-4.8', - sources: join_paths(girdir, 'WebKit2-4.0.gir'), - vapi_dirs: vapi_dir, - metadata_dirs: metadata_dir, - packages: [ - 'gtk+-3.0', - 'libsoup-2.4', - 'javascriptcore-4.0', - ], -) - -webkit2gtk = declare_dependency( - dependencies: [ - cc.find_library('webkit2gtk-4.0'), - glib, - gtk, - javascriptcoregtk, - libsoup, - webkit2gtk_vapi - ], - include_directories: webkit2gtk_include -) - - -webkit2gtk_web_extension_vapi = gnome.generate_vapi('webkit2gtk-web-extension-4.0', - sources: [ - join_paths(girdir, 'WebKit2WebExtension-4.0.gir'), - join_paths('metadata', 'WebKit2WebExtension-4.0-custom.vala'), - ], - vapi_dirs: [vapi_dir, meson.current_build_dir()], - metadata_dirs: metadata_dir, - packages: [ - 'gtk+-3.0', - 'libsoup-2.4', - 'javascriptcore-4.0', - ], -) - -webkit2gtk_web_extension = declare_dependency( - dependencies: [ - cc.find_library('webkit2gtk-4.0'), - glib, - gtk, - javascriptcoregtk, - libsoup, - webkit2gtk_web_extension_vapi, - ], - include_directories: webkit2gtk_include -) diff --git a/bindings/metadata/Soup-2.4.metadata b/bindings/metadata/Soup-2.4.metadata deleted file mode 100644 index f3e72e81..00000000 --- a/bindings/metadata/Soup-2.4.metadata +++ /dev/null @@ -1,3 +0,0 @@ -AuthDomain.accepts skip -AuthDomain.challenge skip - diff --git a/bindings/metadata/WebKit2-4.0.metadata b/bindings/metadata/WebKit2-4.0.metadata deleted file mode 100644 index c814abe0..00000000 --- a/bindings/metadata/WebKit2-4.0.metadata +++ /dev/null @@ -1,19 +0,0 @@ - -JavascriptResult - .get_global_context nullable=false unowned=true - .get_value nullable=false unowned=true - -//Forward upstream -Download - .failed#signal.error type="WebKit.DownloadError" -PrintCustomWidget - .apply#signal skip - .update#signal skip -PrintOperation - .failed#signal.error type="WebKit.PrintError" -WebContext.initialize_notification_permissions#method skip -WebResource - .failed#signal.error type="GLib.Error" -WebView - .load_failed#signal.error type="GLib.Error" - .show_option_menu#signal skip diff --git a/bindings/metadata/WebKit2WebExtension-4.0-custom.vala b/bindings/metadata/WebKit2WebExtension-4.0-custom.vala deleted file mode 100644 index a994a774..00000000 --- a/bindings/metadata/WebKit2WebExtension-4.0-custom.vala +++ /dev/null @@ -1,5 +0,0 @@ -namespace WebKit { - namespace DOM { - public delegate void EventTargetFunc (WebKit.DOM.EventTarget target, WebKit.DOM.Event event); - } -} diff --git a/bindings/metadata/WebKit2WebExtension-4.0.metadata b/bindings/metadata/WebKit2WebExtension-4.0.metadata deleted file mode 100644 index c496dba4..00000000 --- a/bindings/metadata/WebKit2WebExtension-4.0.metadata +++ /dev/null @@ -1,9 +0,0 @@ -DOM* parent="WebKit.DOM" name="DOM(.+)" - -DOMEventTarget.add_event_listener skip -_ContextMenu skip -_ContextMenuItem skip - -Frame.get_javascript_* nullable=false unowned=true - -DOMEventTarget.add_event_listener_with_closure.handler type="owned WebKit.DOM.EventTargetFunc" diff --git a/bindings/vapi/javascriptcore-4.0.vapi b/bindings/vapi/javascriptcore-4.0.vapi deleted file mode 100644 index d152ce2a..00000000 --- a/bindings/vapi/javascriptcore-4.0.vapi +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright 2017 Michael Gratton - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -[CCode (cprefix = "JS", - gir_namespace = "JavaScriptCore", - gir_version = "4.0", - lower_case_cprefix = "JS_", - cheader_filename = "JavaScriptCore/JavaScript.h")] -namespace JS { - - [CCode (cname = "JSContextRef")] - [SimpleType] - public struct Context { - - [CCode (cname = "JSEvaluateScript")] - public Value evaluate_script(String script, - Object? thisObject, - String? sourceURL, - int startingLineNumber, - out Value? exception); - - [CCode (cname = "JSCheckScriptSyntax")] - public Value check_script_syntax(String script, - String? sourceURL, - int startingLineNumber, - out Value? exception); - - } - - [CCode (cname = "JSGlobalContextRef")] - [SimpleType] - public struct GlobalContext : Context { - - [CCode (cname = "JSGlobalContextRetain")] - public bool retain(); - - [CCode (cname = "JSGlobalContextRelease")] - public bool release(); - - } - - [CCode (cname = "JSType", has_type_id = false)] - public enum Type { - - [CCode (cname = "kJSTypeUndefined")] - UNDEFINED, - - [CCode (cname = "kJSTypeNull")] - NULL, - - [CCode (cname = "kJSTypeBoolean")] - BOOLEAN, - - [CCode (cname = "kJSTypeNumber")] - NUMBER, - - [CCode (cname = "kJSTypeString")] - STRING, - - [CCode (cname = "kJSTypeObject")] - OBJECT - } - - [CCode (cname = "JSObjectRef")] - [SimpleType] - public struct Object { - - [CCode (cname = "JSObjectMakeFunction")] - public Object.make_function(String? name, - [CCode (array_length_pos=1.5)] - String[]? parameterNames, - String body, - String? sourceURL, - int startingLineNumber, - out Value? exception); - - [CCode (cname = "JSObjectCallAsFunction", instance_pos = 1.1)] - public Value call_as_function(Context ctx, - Object? thisObject, - [CCode (array_length_pos=2.5)] - Value[]? arguments, - out Value? exception); - - [CCode (cname = "JSObjectHasProperty", instance_pos = 1.1)] - public bool has_property(Context ctx, String property_name); - - [CCode (cname = "JSObjectGetProperty", instance_pos = 1.1)] - public Value get_property(Context ctx, - String property_name, - out Value? exception); - - } - - [CCode (cname = "JSValueRef")] - [SimpleType] - public struct Value { - - [CCode (cname = "JSValueGetType", instance_pos = 1.1)] - public Type get_type(Context context); - - [CCode (cname = "JSValueIsBoolean", instance_pos = 1.1)] - public bool is_boolean(Context ctx); - - [CCode (cname = "JSValueIsNumber", instance_pos = 1.1)] - public bool is_number(Context ctx); - - [CCode (cname = "JSValueIsObject", instance_pos = 1.1)] - public bool is_object(Context ctx); - - [CCode (cname = "JSValueIsString", instance_pos = 1.1)] - public bool is_string(Context ctx); - - [CCode (cname = "JSValueToBoolean", instance_pos = 1.1)] - public bool to_boolean(Context ctx); - - [CCode (cname = "JSValueToNumber", instance_pos = 1.1)] - public double to_number(Context ctx, out Value exception); - - [CCode (cname = "JSValueToObject", instance_pos = 1.1)] - public Object to_object(Context ctx, out Value exception); - - [CCode (cname = "JSValueToStringCopy", instance_pos = 1.1)] - public String to_string_copy(Context ctx, out Value exception); - - } - - [CCode (cname = "JSStringRef")] - [SimpleType] - public struct String { - - [CCode (cname = "JSStringCreateWithUTF8CString")] - public String.create_with_utf8_cstring(string str); - - [CCode (cname = "JSStringGetLength")] - public int String.get_length(); - - [CCode (cname = "JSStringGetMaximumUTF8CStringSize")] - public int String.get_maximum_utf8_cstring_size(); - - [CCode (cname = "JSStringGetUTF8CString")] - public void String.get_utf8_cstring(string* buffer, int bufferSize); - - [CCode (cname = "JSStringRetain")] - public void String.retain(); - - [CCode (cname = "JSStringRelease")] - public void String.release(); - - } - -} diff --git a/meson.build b/meson.build index 9b425359..1f407dda 100644 --- a/meson.build +++ b/meson.build @@ -60,10 +60,9 @@ libsecret = dependency('libsecret-1', version: '>= 0.11') libxml = dependency('libxml-2.0', version: '>= 2.7.8') gcr = dependency('gcr-3', version: '>= 3.10.1') gobject_introspection = dependency('gobject-introspection-1.0') -webkit2gtk_dep = dependency('webkit2gtk-4.0', version: '>=' + target_webkit) -webkit2gtk_web_extension_dep = dependency('webkit2gtk-web-extension-4.0', version: '>=' + target_webkit) -javascriptcoregtk_lib = cc.find_library('javascriptcoregtk-4.0') -javascriptcoregtk_vapi = valac.find_library('javascriptcore-4.0', dirs: vapi_dir) +webkit2gtk = dependency('webkit2gtk-4.0', version: '>=' + target_webkit) +webkit2gtk_web_extension = dependency('webkit2gtk-web-extension-4.0', version: '>=' + target_webkit) +javascriptcoregtk = dependency('javascriptcoregtk-4.0', version: '>=' + target_webkit) enchant = dependency('enchant', version: '>= 1.6') # System dependencies ensures appropriate versions, but the declared @@ -123,9 +122,6 @@ if enable_valadoc valadoc = find_program('valadoc') endif -# This will provide our custom dependencies, such as webkit2gtk -subdir('bindings') - # Language detection iso_codes_dir = join_paths('/', 'usr', 'share', 'xml', 'iso-codes') if iso_639_xml == '' diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91c3d7dd..fdf7148f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -537,7 +537,7 @@ set(ENGINE_PACKAGES glib-2.0 gmime-2.6 libunwind - javascriptcore-4.0 + javascriptcoregtk-4.0 libxml-2.0 posix sqlite3 @@ -562,7 +562,7 @@ set(WEB_PROCESS_PACKAGES geary-engine gee-0.8 gtk+-3.0 - javascriptcore-4.0 + javascriptcoregtk-4.0 libsoup-2.4 webkit2gtk-web-extension-4.0 ) @@ -619,7 +619,6 @@ add_definitions(${CFLAGS}) set(VALAC_OPTIONS --vapidir=${CMAKE_BINARY_DIR}/src --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi - --metadatadir=${CMAKE_SOURCE_DIR}/bindings/metadata --target-glib=${TARGET_GLIB} --thread --debug @@ -656,38 +655,6 @@ set_property( ) target_link_libraries(geary-engine m ${DEPS_LIBRARIES} sqlite3-unicodesn) -# WebKit2GTK VAPI generation -################################################# -add_custom_target(webkit2gtk-vapi - DEPENDS - "${CMAKE_BINARY_DIR}/src/webkit2gtk-4.0.vapi" - "${CMAKE_BINARY_DIR}/src/webkit2gtk-web-extension-4.0.vapi" - "${CMAKE_SOURCE_DIR}/bindings/vapi/javascriptcore-4.0.vapi" -) -add_custom_command( - OUTPUT - ${CMAKE_BINARY_DIR}/src/webkit2gtk-4.0.vapi - DEPENDS - "${CMAKE_SOURCE_DIR}/bindings/metadata/WebKit2-4.0.metadata" - "${CMAKE_SOURCE_DIR}/bindings/vapi/javascriptcore-4.0.vapi" - WORKING_DIRECTORY - "${CMAKE_SOURCE_DIR}/bindings/metadata" - COMMAND - vapigen --library=webkit2gtk-4.0 --pkg gtk+-3.0 --pkg libsoup-2.4 --pkg javascriptcore-4.0 --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi --metadatadir=${CMAKE_SOURCE_DIR}/bindings/metadata --directory=${CMAKE_BINARY_DIR}/src `${PKG_CONFIG_EXECUTABLE} --variable=girdir gobject-introspection-1.0`/WebKit2-4.0.gir -) -add_custom_command( - OUTPUT - "${CMAKE_BINARY_DIR}/src/webkit2gtk-web-extension-4.0.vapi" - DEPENDS - "${CMAKE_SOURCE_DIR}/bindings/metadata/WebKit2WebExtension-4.0.metadata" - "${CMAKE_SOURCE_DIR}/bindings/metadata/WebKit2WebExtension-4.0-custom.vala" - "${CMAKE_SOURCE_DIR}/bindings/vapi/javascriptcore-4.0.vapi" - WORKING_DIRECTORY - "${CMAKE_SOURCE_DIR}/bindings/metadata" - COMMAND - vapigen --library=webkit2gtk-web-extension-4.0 --pkg gtk+-3.0 --pkg libsoup-2.4 --pkg javascriptcore-4.0 --vapidir=${CMAKE_SOURCE_DIR}/bindings/vapi --metadatadir=${CMAKE_SOURCE_DIR}/bindings/metadata --directory=${CMAKE_BINARY_DIR}/src `${PKG_CONFIG_EXECUTABLE} --variable=girdir gobject-introspection-1.0`/WebKit2WebExtension-4.0.gir WebKit2WebExtension-4.0-custom.vala -) - # Client library (static lib used for building client and unit tests) ################################################# @@ -704,7 +671,7 @@ OPTIONS ) add_library(geary-client STATIC ${CLIENT_VALA_C}) -add_dependencies(geary-client resource_copy webkit2gtk-vapi) +add_dependencies(geary-client resource_copy) target_link_libraries(geary-client m ${DEPS_LIBRARIES} geary-engine) # Main client application binary diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index f1ad286e..83a3a2fc 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -86,7 +86,7 @@ set(TEST_ENGINE_PACKAGES gio-2.0 glib-2.0 gmime-2.6 - javascriptcore-4.0 + javascriptcoregtk-4.0 libunwind libxml-2.0 sqlite3