[geary/wip/enchant2: 8/10] Support building with Enchant 2.x
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/enchant2: 8/10] Support building with Enchant 2.x
- Date: Wed, 16 Jan 2019 00:13:47 +0000 (UTC)
commit 68a985a76cd3c46eb3894fae384561ea2def6b6b
Author: Michael Gratton <mike vee net>
Date: Wed Jan 16 10:05:08 2019 +1100
Support building with Enchant 2.x
This adds support for Enchant 2 named "enchant" and Enchant 2 named
"enchant-2" (!)
bindings/vapi/enchant-2.vapi | 34 ++++++++++++++++++++++++++++++++++
meson.build | 8 +++++++-
org.gnome.Geary.json | 13 -------------
3 files changed, 41 insertions(+), 14 deletions(-)
---
diff --git a/bindings/vapi/enchant-2.vapi b/bindings/vapi/enchant-2.vapi
new file mode 100644
index 00000000..c4a030f7
--- /dev/null
+++ b/bindings/vapi/enchant-2.vapi
@@ -0,0 +1,34 @@
+[CCode (cheader_filename = "enchant.h")]
+namespace Enchant {
+ public delegate void BrokerDescribeFn (string provider_name, string provider_desc, string
provider_dll_file);
+ public delegate void DictDescribeFn (string lang_tag, string provider_name, string provider_desc,
string provider_file);
+
+ [Compact]
+ [CCode (free_function = "enchant_broker_free")]
+ public class Broker {
+ [CCode (cname = "enchant_broker_init")]
+ public Broker ();
+
+ public unowned Dict request_dict (string tag);
+ public unowned Dict request_pwl_dict (string pwl);
+ public void free_dict (Dict dict);
+ public int dict_exists (string tag);
+ public void set_ordering (string tag, string ordering);
+ public void describe (BrokerDescribeFn fn);
+ public void list_dicts (DictDescribeFn fn);
+ public unowned string get_error ();
+ }
+
+ [Compact]
+ public class Dict {
+ public int check (string word, long len = -1);
+ public unowned string[] suggest (string word, long len = -1);
+ public void free_string_list ([CCode (array_length = false)] string[] string_list);
+ public void add_to_session (string word, long len = -1);
+ public int is_in_session (string word, long len = -1);
+ public void store_replacement ( string mis, long mis_len, string cor, long cor_len);
+ public void add_to_pwl ( string word, long len = -1);
+ public void describe (DictDescribeFn fn);
+ public unowned string get_error ();
+ }
+}
diff --git a/meson.build b/meson.build
index ab69eb28..e0d6f2b5 100644
--- a/meson.build
+++ b/meson.build
@@ -52,7 +52,7 @@ sqlite = dependency('sqlite3', version: '>= 3.12')
webkit2gtk = dependency('webkit2gtk-4.0', version: '>=' + target_webkit)
# Secondary deps - keep sorted alphabetically
-enchant = dependency('enchant', version: '>= 1.6')
+enchant = dependency('enchant-2', version: '>=2.1', required: false) # see below
gck = dependency('gck-1')
gcr = dependency('gcr-3', version: '>= 3.10.1')
gdk = dependency('gdk-3.0', version: '>=' + target_gtk)
@@ -76,6 +76,12 @@ posix = valac.find_library('posix')
webkit2gtk = dependency('webkit2gtk-4.0', version: '>=' + target_webkit)
webkit2gtk_web_extension = dependency('webkit2gtk-web-extension-4.0', version: '>=' + target_webkit)
+# Can currently use either Enchant 1 or 2
+if not enchant.found()
+ enchant = dependency('enchant', version: '>=1.6')
+endif
+
+
# Libunwind system dependencies above ensures appropriate versions,
# but this declared depencency is what we actually build against so we
# can include the custom VAPI correctly. We need to add unwind_lib to
diff --git a/org.gnome.Geary.json b/org.gnome.Geary.json
index e956d74d..93c45ff3 100644
--- a/org.gnome.Geary.json
+++ b/org.gnome.Geary.json
@@ -107,19 +107,6 @@
}
]
},
- {
- "name" : "enchant",
- "cleanup" : [
- "/bin"
- ],
- "sources" : [
- {
- "type" : "archive",
- "url" :
"https://github.com/AbiWord/enchant/releases/download/enchant-1-6-1/enchant-1.6.1.tar.gz",
- "sha256" : "bef0d9c0fef2e4e8746956b68e4d6c6641f6b85bd2908d91731efb68eba9e3f5"
- }
- ]
- },
{
"name": "geary",
"buildsystem": "meson",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]