geary: switch to enchant-2, fix build with new webkit2gtk
This commit is contained in:
parent
c99322f977
commit
1d14262a39
|
@ -0,0 +1,185 @@
|
||||||
|
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||||
|
Date: Mon, 23 Apr 2018 19:56:18 +0200
|
||||||
|
Subject: Adjust to upstream javascriptcore-4.0 bindings
|
||||||
|
|
||||||
|
---
|
||||||
|
.../conversation-viewer/conversation-web-view.vala | 2 +-
|
||||||
|
src/client/util/util-webkit.vala | 10 ++++----
|
||||||
|
src/client/web-process/web-process-extension.vala | 17 +++++-------
|
||||||
|
src/engine/util/util-js.vala | 30 +++++++++++++++-------
|
||||||
|
4 files changed, 33 insertions(+), 26 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/client/conversation-viewer/conversation-web-view.vala b/src/client/conversation-viewer/conversation-web-view.vala
|
||||||
|
index 3d2ac5f..ef69f44 100644
|
||||||
|
--- a/src/client/conversation-viewer/conversation-web-view.vala
|
||||||
|
+++ b/src/client/conversation-viewer/conversation-web-view.vala
|
||||||
|
@@ -183,7 +183,7 @@ public class ConversationWebView : ClientWebView {
|
||||||
|
|
||||||
|
private void on_deceptive_link_clicked(WebKit.JavascriptResult result) {
|
||||||
|
try {
|
||||||
|
- JS.GlobalContext context = result.get_global_context();
|
||||||
|
+ unowned JS.GlobalContext context = result.get_global_context();
|
||||||
|
JS.Object details = WebKitUtil.to_object(result);
|
||||||
|
|
||||||
|
uint reason = (uint) Geary.JS.to_number(
|
||||||
|
diff --git a/src/client/util/util-webkit.vala b/src/client/util/util-webkit.vala
|
||||||
|
index 319e28a..cba9eaf 100644
|
||||||
|
--- a/src/client/util/util-webkit.vala
|
||||||
|
+++ b/src/client/util/util-webkit.vala
|
||||||
|
@@ -18,8 +18,8 @@ namespace WebKitUtil {
|
||||||
|
*/
|
||||||
|
public bool to_bool(WebKit.JavascriptResult result)
|
||||||
|
throws Geary.JS.Error {
|
||||||
|
- JS.GlobalContext context = result.get_global_context();
|
||||||
|
- JS.Value value = result.get_value();
|
||||||
|
+ unowned JS.GlobalContext context = result.get_global_context();
|
||||||
|
+ unowned JS.Value value = result.get_value();
|
||||||
|
if (!value.is_boolean(context)) {
|
||||||
|
throw new Geary.JS.Error.TYPE("Result is not a JS Boolean object");
|
||||||
|
}
|
||||||
|
@@ -59,12 +59,12 @@ namespace WebKitUtil {
|
||||||
|
*/
|
||||||
|
public string as_string(WebKit.JavascriptResult result)
|
||||||
|
throws Geary.JS.Error {
|
||||||
|
- JS.GlobalContext context = result.get_global_context();
|
||||||
|
- JS.Value js_str_value = result.get_value();
|
||||||
|
+ unowned JS.GlobalContext context = result.get_global_context();
|
||||||
|
+ unowned JS.Value js_str_value = result.get_value();
|
||||||
|
JS.Value? err = null;
|
||||||
|
JS.String js_str = js_str_value.to_string_copy(context, out err);
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
- return Geary.JS.to_string_released(js_str);
|
||||||
|
+ return Geary.JS.to_string_released((owned) js_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/src/client/web-process/web-process-extension.vala b/src/client/web-process/web-process-extension.vala
|
||||||
|
index ee89139..1f478a6 100644
|
||||||
|
--- a/src/client/web-process/web-process-extension.vala
|
||||||
|
+++ b/src/client/web-process/web-process-extension.vala
|
||||||
|
@@ -87,10 +87,9 @@ public class GearyWebExtension : Object {
|
||||||
|
bool should_load = false;
|
||||||
|
WebKit.Frame frame = page.get_main_frame();
|
||||||
|
// Explicit cast fixes build on s390x/ppc64. Bug 783882
|
||||||
|
- JS.GlobalContext context = (JS.GlobalContext)
|
||||||
|
- frame.get_javascript_global_context();
|
||||||
|
+ unowned JS.GlobalContext context = frame.get_javascript_global_context();
|
||||||
|
try {
|
||||||
|
- JS.Value ret = execute_script(
|
||||||
|
+ unowned JS.Value ret = execute_script(
|
||||||
|
context, "geary.allowRemoteImages", int.parse("__LINE__")
|
||||||
|
);
|
||||||
|
should_load = ret.to_boolean(context);
|
||||||
|
@@ -106,8 +105,7 @@ public class GearyWebExtension : Object {
|
||||||
|
private void remote_image_load_blocked(WebKit.WebPage page) {
|
||||||
|
WebKit.Frame frame = page.get_main_frame();
|
||||||
|
// Explicit cast fixes build on s390x/ppc64. Bug 783882
|
||||||
|
- JS.GlobalContext context = (JS.GlobalContext)
|
||||||
|
- frame.get_javascript_global_context();
|
||||||
|
+ unowned JS.GlobalContext context = frame.get_javascript_global_context();
|
||||||
|
try {
|
||||||
|
execute_script(
|
||||||
|
context, "geary.remoteImageLoadBlocked();", int.parse("__LINE__")
|
||||||
|
@@ -123,8 +121,7 @@ public class GearyWebExtension : Object {
|
||||||
|
private void selection_changed(WebKit.WebPage page) {
|
||||||
|
WebKit.Frame frame = page.get_main_frame();
|
||||||
|
// Explicit cast fixes build on s390x/ppc64. Bug 783882
|
||||||
|
- JS.GlobalContext context = (JS.GlobalContext)
|
||||||
|
- frame.get_javascript_global_context();
|
||||||
|
+ unowned JS.GlobalContext context = frame.get_javascript_global_context();
|
||||||
|
try {
|
||||||
|
execute_script(
|
||||||
|
context, "geary.selectionChanged();", int.parse("__LINE__")
|
||||||
|
@@ -136,20 +133,18 @@ public class GearyWebExtension : Object {
|
||||||
|
|
||||||
|
// Return type is nullable as a workaround for Bug 778046, it will
|
||||||
|
// never actually be null.
|
||||||
|
- private JS.Value? execute_script(JS.Context context, string script, int line)
|
||||||
|
+ private unowned JS.Value? execute_script(JS.Context context, string script, int line)
|
||||||
|
throws Geary.JS.Error {
|
||||||
|
JS.String js_script = new JS.String.create_with_utf8_cstring(script);
|
||||||
|
JS.String js_source = new JS.String.create_with_utf8_cstring("__FILE__");
|
||||||
|
JS.Value? err = null;
|
||||||
|
try {
|
||||||
|
- JS.Value ret = context.evaluate_script(
|
||||||
|
+ unowned JS.Value ret = context.evaluate_script(
|
||||||
|
js_script, null, js_source, line, out err
|
||||||
|
);
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
return ret;
|
||||||
|
} finally {
|
||||||
|
- js_script.release();
|
||||||
|
- js_source.release();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/src/engine/util/util-js.vala b/src/engine/util/util-js.vala
|
||||||
|
index 4d22429..ea955e9 100644
|
||||||
|
--- a/src/engine/util/util-js.vala
|
||||||
|
+++ b/src/engine/util/util-js.vala
|
||||||
|
@@ -10,6 +10,16 @@
|
||||||
|
*/
|
||||||
|
namespace Geary.JS {
|
||||||
|
|
||||||
|
+#if !VALA_0_42
|
||||||
|
+ // Workaround broken version of this in the vala bindings. See Bug
|
||||||
|
+ // 788113.
|
||||||
|
+ [CCode (cname = "JSStringGetUTF8CString")]
|
||||||
|
+ private extern size_t js_string_get_utf8_cstring(
|
||||||
|
+ global::JS.String js,
|
||||||
|
+ [CCode (array_length_type = "gsize")] char[] buffer
|
||||||
|
+ );
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Errors produced by functions in {@link Geary.JS}.
|
||||||
|
*/
|
||||||
|
@@ -72,7 +82,7 @@ namespace Geary.JS {
|
||||||
|
global::JS.String js_str = value.to_string_copy(context, out err);
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
|
||||||
|
- return Geary.JS.to_string_released(js_str);
|
||||||
|
+ return Geary.JS.to_string_released((owned) js_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -101,12 +111,15 @@ namespace Geary.JS {
|
||||||
|
/**
|
||||||
|
* Returns a JSC {@link JS.String} as a Vala {@link string}.
|
||||||
|
*/
|
||||||
|
- public inline string to_string_released(global::JS.String js) {
|
||||||
|
- int len = js.get_maximum_utf8_cstring_size();
|
||||||
|
- string str = string.nfill(len, 0);
|
||||||
|
- js.get_utf8_cstring(str, len);
|
||||||
|
- js.release();
|
||||||
|
- return str;
|
||||||
|
+ public inline string to_string_released(owned global::JS.String js) {
|
||||||
|
+ size_t len = js.get_maximum_utf8_cstring_size();
|
||||||
|
+ uint8[] str = new uint8[len];
|
||||||
|
+#if VALA_0_42
|
||||||
|
+ js.get_utf8_cstring(str);
|
||||||
|
+#else
|
||||||
|
+ js_string_get_utf8_cstring(js, (char[]) str);
|
||||||
|
+#endif
|
||||||
|
+ return (string) str;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -128,7 +141,6 @@ namespace Geary.JS {
|
||||||
|
try {
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
} finally {
|
||||||
|
- js_name.release();
|
||||||
|
}
|
||||||
|
return prop;
|
||||||
|
}
|
||||||
|
@@ -157,7 +169,7 @@ namespace Geary.JS {
|
||||||
|
|
||||||
|
throw new Error.EXCEPTION(
|
||||||
|
"JS exception thrown [%s]: %s"
|
||||||
|
- .printf(err_type.to_string(), to_string_released(err_str))
|
||||||
|
+ .printf(err_type.to_string(), to_string_released((owned) err_str))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
From: Michael James Gratton <mike@vee.net>
|
||||||
|
Date: Sun, 20 May 2018 19:07:56 +1000
|
||||||
|
Subject: Clean up JS util API courtesy the new bindings.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/client/util/util-webkit.vala | 2 +-
|
||||||
|
src/engine/util/util-js.vala | 12 +++++-------
|
||||||
|
2 files changed, 6 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/client/util/util-webkit.vala b/src/client/util/util-webkit.vala
|
||||||
|
index cba9eaf..45a27c4 100644
|
||||||
|
--- a/src/client/util/util-webkit.vala
|
||||||
|
+++ b/src/client/util/util-webkit.vala
|
||||||
|
@@ -64,7 +64,7 @@ namespace WebKitUtil {
|
||||||
|
JS.Value? err = null;
|
||||||
|
JS.String js_str = js_str_value.to_string_copy(context, out err);
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
- return Geary.JS.to_string_released((owned) js_str);
|
||||||
|
+ return Geary.JS.to_native_string(js_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
diff --git a/src/engine/util/util-js.vala b/src/engine/util/util-js.vala
|
||||||
|
index ea955e9..a98d798 100644
|
||||||
|
--- a/src/engine/util/util-js.vala
|
||||||
|
+++ b/src/engine/util/util-js.vala
|
||||||
|
@@ -82,7 +82,7 @@ namespace Geary.JS {
|
||||||
|
global::JS.String js_str = value.to_string_copy(context, out err);
|
||||||
|
Geary.JS.check_exception(context, err);
|
||||||
|
|
||||||
|
- return Geary.JS.to_string_released((owned) js_str);
|
||||||
|
+ return to_native_string(js_str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@@ -111,7 +111,7 @@ namespace Geary.JS {
|
||||||
|
/**
|
||||||
|
* Returns a JSC {@link JS.String} as a Vala {@link string}.
|
||||||
|
*/
|
||||||
|
- public inline string to_string_released(owned global::JS.String js) {
|
||||||
|
+ public inline string to_native_string(global::JS.String js) {
|
||||||
|
size_t len = js.get_maximum_utf8_cstring_size();
|
||||||
|
uint8[] str = new uint8[len];
|
||||||
|
#if VALA_0_42
|
||||||
|
@@ -138,10 +138,8 @@ namespace Geary.JS {
|
||||||
|
global::JS.String js_name = new global::JS.String.create_with_utf8_cstring(name);
|
||||||
|
global::JS.Value? err = null;
|
||||||
|
global::JS.Value prop = object.get_property(context, js_name, out err);
|
||||||
|
- try {
|
||||||
|
- Geary.JS.check_exception(context, err);
|
||||||
|
- } finally {
|
||||||
|
- }
|
||||||
|
+ Geary.JS.check_exception(context, err);
|
||||||
|
+
|
||||||
|
return prop;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -169,7 +167,7 @@ namespace Geary.JS {
|
||||||
|
|
||||||
|
throw new Error.EXCEPTION(
|
||||||
|
"JS exception thrown [%s]: %s"
|
||||||
|
- .printf(err_type.to_string(), to_string_released((owned) err_str))
|
||||||
|
+ .printf(err_type.to_string(), to_native_string(err_str))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,328 @@
|
||||||
|
From: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||||
|
Date: Thu, 22 Jun 2017 15:01:19 +0200
|
||||||
|
Subject: bindings: Drop custom javascriptcore-4.0 and webkit2gtk-4.0 vapi
|
||||||
|
|
||||||
|
---
|
||||||
|
bindings/metadata/Soup-2.4.metadata | 3 -
|
||||||
|
bindings/metadata/WebKit2-4.0.metadata | 15 --
|
||||||
|
.../metadata/WebKit2WebExtension-4.0-custom.vala | 5 -
|
||||||
|
bindings/metadata/WebKit2WebExtension-4.0.metadata | 9 --
|
||||||
|
bindings/vapi/javascriptcore-4.0.vapi | 155 ---------------------
|
||||||
|
src/CMakeLists.txt | 39 +-----
|
||||||
|
test/CMakeLists.txt | 2 +-
|
||||||
|
7 files changed, 4 insertions(+), 224 deletions(-)
|
||||||
|
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/metadata/Soup-2.4.metadata b/bindings/metadata/Soup-2.4.metadata
|
||||||
|
deleted file mode 100644
|
||||||
|
index f3e72e8..0000000
|
||||||
|
--- 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 3e3044f..0000000
|
||||||
|
--- a/bindings/metadata/WebKit2-4.0.metadata
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,15 +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"
|
||||||
|
-PrintOperation
|
||||||
|
- .failed#signal.error type="WebKit.PrintError"
|
||||||
|
-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 a994a77..0000000
|
||||||
|
--- 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 c496dba..0000000
|
||||||
|
--- 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 d152ce2..0000000
|
||||||
|
--- a/bindings/vapi/javascriptcore-4.0.vapi
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,155 +0,0 @@
|
||||||
|
-/*
|
||||||
|
- * Copyright 2017 Michael Gratton <mike@vee.net>
|
||||||
|
- *
|
||||||
|
- * 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/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||||
|
index bce938d..6793129 100644
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -525,7 +525,7 @@ set(ENGINE_PACKAGES
|
||||||
|
gio-2.0
|
||||||
|
glib-2.0
|
||||||
|
gmime-2.6
|
||||||
|
- javascriptcore-4.0
|
||||||
|
+ javascriptcoregtk-4.0
|
||||||
|
libxml-2.0
|
||||||
|
posix
|
||||||
|
sqlite3
|
||||||
|
@@ -550,7 +550,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
|
||||||
|
)
|
||||||
|
@@ -617,7 +617,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
|
||||||
|
@@ -649,38 +648,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)
|
||||||
|
#################################################
|
||||||
|
|
||||||
|
@@ -697,7 +664,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 f2d3866..6524cfb 100644
|
||||||
|
--- a/test/CMakeLists.txt
|
||||||
|
+++ b/test/CMakeLists.txt
|
||||||
|
@@ -58,7 +58,7 @@ set(TEST_PACKAGES
|
||||||
|
glib-2.0
|
||||||
|
gmime-2.6
|
||||||
|
gtk+-3.0
|
||||||
|
- javascriptcore-4.0
|
||||||
|
+ javascriptcoregtk-4.0
|
||||||
|
libsoup-2.4
|
||||||
|
webkit2gtk-4.0
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
diff -rupN geary-0.12.0.orig/CMakeLists.txt geary-0.12.0/CMakeLists.txt
|
||||||
|
--- a/CMakeLists.txt 2018-01-16 21:45:14.731988942 +0100
|
||||||
|
+++ b/CMakeLists.txt 2018-01-16 21:47:51.510178769 +0100
|
||||||
|
@@ -96,7 +96,7 @@ find_package(PkgConfig)
|
||||||
|
pkg_check_modules(LIBUNITY QUIET unity>=5.12.0)
|
||||||
|
pkg_check_modules(LIBMESSAGINGMENU QUIET messaging-menu>=12.10.2)
|
||||||
|
|
||||||
|
-pkg_check_modules(ENCHANT QUIET enchant)
|
||||||
|
+pkg_check_modules(ENCHANT QUIET enchant-2)
|
||||||
|
|
||||||
|
pkg_check_modules(SQLITE3 sqlite3 REQUIRED)
|
||||||
|
if (NOT ${SQLITE3_VERSION} VERSION_LESS 3.12)
|
||||||
|
diff -rupN geary-0.12.0.orig/src/CMakeLists.txt geary-0.12.0/src/CMakeLists.txt
|
||||||
|
--- a/src/CMakeLists.txt 2018-01-16 21:45:14.738655384 +0100
|
||||||
|
+++ b/src/CMakeLists.txt 2018-01-16 21:48:40.088633141 +0100
|
||||||
|
@@ -508,7 +508,7 @@ pkg_check_modules(DEPS REQUIRED
|
||||||
|
webkit2gtk-4.0>=${TARGET_WEBKIT}
|
||||||
|
webkit2gtk-web-extension-4.0>=${TARGET_WEBKIT}
|
||||||
|
javascriptcoregtk-4.0>=${TARGET_WEBKIT}
|
||||||
|
- enchant>=1.6
|
||||||
|
+ enchant-2>=1.6
|
||||||
|
${EXTRA_CLIENT_PKG_CONFIG}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
# Template file for 'geary'
|
# Template file for 'geary'
|
||||||
pkgname=geary
|
pkgname=geary
|
||||||
version=0.12.4
|
version=0.12.4
|
||||||
revision=1
|
revision=2
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
configure_args="-DNO_FATAL_WARNINGS=ON"
|
patch_args="-Np1"
|
||||||
|
configure_args="-DNO_FATAL_WARNINGS=ON -DDESKTOP_UPDATE=OFF
|
||||||
|
-DICON_UPDATE=OFF -DGSETTINGS_COMPILE=OFF
|
||||||
|
-DGSETTINGS_COMPILE_IN_PLACE=OFF"
|
||||||
hostmakedepends="desktop-file-utils gnome-doc-utils intltool iso-codes
|
hostmakedepends="desktop-file-utils gnome-doc-utils intltool iso-codes
|
||||||
pkg-config"
|
pkg-config"
|
||||||
makedepends="enchant-devel gcr-devel gmime-devel libcanberra-devel
|
makedepends="enchant2-devel gcr-devel gmime-devel libcanberra-devel
|
||||||
libgee08-devel libgirepository-devel libnotify-devel libsecret-devel
|
libgee08-devel libgirepository-devel libnotify-devel libsecret-devel
|
||||||
libunique-devel vala-devel webkit2gtk-devel"
|
libunique-devel vala-devel webkit2gtk-devel"
|
||||||
depends="gir-freedesktop gnome-keyring"
|
depends="gir-freedesktop gnome-keyring"
|
||||||
|
|
Loading…
Reference in New Issue