Skip to content

Commit 484465d

Browse files
committed
add wraps for dependencies
allows us to build VLS in more environments
1 parent 361fe45 commit 484465d

File tree

5 files changed

+270
-4
lines changed

5 files changed

+270
-4
lines changed

meson.build

+13-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ project('vala-language-server', 'vala', 'c',
22
version: '0.48.4',
33
license: 'LGPL2.1+',
44
default_options: [
5-
'default_library=static'
5+
'default_library=static',
6+
'c_std=gnu11' # for C subprojects
67
]
78
)
89

@@ -12,10 +13,18 @@ if not libvala_version.version_compare('>=0.48' )
1213
error('libvala needs to be 0.48 or above')
1314
endif
1415

16+
extra_vala_sources = []
17+
1518
libvala = dependency('libvala-@0@'.format(libvala_version), version: '>= 0.48.12')
1619

1720
libgobject_dep = dependency('gobject-2.0')
18-
libjsonrpc_glib_dep = dependency('jsonrpc-glib-1.0', version: '>= 3.28')
21+
libjsonrpc_glib_dep = dependency('jsonrpc-glib-1.0', version: '>= 3.28', required: false)
22+
if not libjsonrpc_glib_dep.found()
23+
# don't use introspection with static library as it requires a recent version of GIR
24+
jsonrpc_glib = subproject('jsonrpc-glib', default_options: ['with_introspection=false'])
25+
libjsonrpc_glib_dep = jsonrpc_glib.get_variable('libjsonrpc_glib_dep')
26+
extra_vala_sources += files('vapi/jsonrpc-glib-1.0.vapi')
27+
endif
1928

2029
deps = [
2130
dependency('glib-2.0'),
@@ -55,8 +64,8 @@ version_file = vcs_tag(input: 'version.vala.in',
5564

5665
add_project_arguments(['--enable-gobject-tracing', '--fatal-warnings'], language: 'vala')
5766

58-
extra_vala_sources = files([
59-
'src/util.vala',
67+
extra_vala_sources += files([
68+
'src/util.vala'
6069
])
6170

6271
if host_machine.system() == 'windows'

subprojects/json-glib.wrap

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[wrap-git]
2+
url = https://gitlab.gnome.org/GNOME/json-glib
3+
revision = 1.6.6
4+
5+
[provide]
6+
json-glib-1.0 = json_glib_dep

subprojects/jsonrpc-glib.wrap

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[wrap-git]
2+
url = https://gitlab.gnome.org/GNOME/jsonrpc-glib
3+
revision = 3.42.0
4+
5+
[provide]
6+
jsonrpc-glib-1.0 = libjsonrpc_glib_dep

subprojects/libgee.wrap

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[wrap-git]
2+
url = https://gitlab.gnome.org/GNOME/libgee
3+
revision = wip/tintou/meson
4+
5+
[provide]
6+
gee-0.8 = gee_dep

vapi/jsonrpc-glib-1.0.vapi

+239
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
/* jsonrpc-glib-1.0.vapi generated by vapigen, do not modify. */
2+
3+
[CCode (cprefix = "Jsonrpc", gir_namespace = "Jsonrpc", gir_version = "1.0", lower_case_cprefix = "jsonrpc_")]
4+
namespace Jsonrpc {
5+
namespace Message {
6+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
7+
[GIR (name = "MessageGetBoolean")]
8+
public struct GetBoolean {
9+
public Jsonrpc.MessageMagic magic;
10+
public bool valptr;
11+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_BOOLEAN")]
12+
public static void* create (ref bool val);
13+
}
14+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
15+
[GIR (name = "MessageGetDict")]
16+
public struct GetDict {
17+
public Jsonrpc.MessageMagic magic;
18+
public weak GLib.VariantDict dictptr;
19+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_DICT")]
20+
public static void* create (ref GLib.VariantDict val);
21+
}
22+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
23+
[GIR (name = "MessageGetDouble")]
24+
public struct GetDouble {
25+
public Jsonrpc.MessageMagic magic;
26+
public double valptr;
27+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_DOUBLE")]
28+
public static void* create (ref double val);
29+
}
30+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
31+
[GIR (name = "MessageGetInt32")]
32+
public struct GetInt32 {
33+
public Jsonrpc.MessageMagic magic;
34+
public int32 valptr;
35+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_INT32")]
36+
public static void* create (ref int32 val);
37+
}
38+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
39+
[GIR (name = "MessageGetInt64")]
40+
public struct GetInt64 {
41+
public Jsonrpc.MessageMagic magic;
42+
public int64 valptr;
43+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_INT64")]
44+
public static void* create (ref int64 val);
45+
}
46+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
47+
[GIR (name = "MessageGetIter")]
48+
public struct GetIter {
49+
public Jsonrpc.MessageMagic magic;
50+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_ITER")]
51+
public static void* create (ref GLib.VariantIter val);
52+
}
53+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
54+
[GIR (name = "MessageGetString")]
55+
public struct GetString {
56+
public Jsonrpc.MessageMagic magic;
57+
public weak string valptr;
58+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_STRING")]
59+
public static void* create (ref unowned string val);
60+
}
61+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
62+
[GIR (name = "MessageGetStrv")]
63+
public struct GetStrv {
64+
public Jsonrpc.MessageMagic magic;
65+
[CCode (array_length = false)]
66+
public weak string[] valptr;
67+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_STRV")]
68+
public static void* create ([CCode (array_length = false)] ref string[] val);
69+
}
70+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
71+
[GIR (name = "MessageGetVariant")]
72+
public struct GetVariant {
73+
public Jsonrpc.MessageMagic magic;
74+
public weak GLib.Variant variantptr;
75+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_GET_VARIANT")]
76+
public static void* create (ref GLib.Variant val);
77+
}
78+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
79+
[GIR (name = "MessagePutBoolean")]
80+
public struct PutBoolean {
81+
public Jsonrpc.MessageMagic magic;
82+
public bool val;
83+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_BOOLEAN")]
84+
public static void* create (bool val);
85+
}
86+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
87+
[GIR (name = "MessagePutDouble")]
88+
public struct PutDouble {
89+
public Jsonrpc.MessageMagic magic;
90+
public double val;
91+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_DOUBLE")]
92+
public static void* create (double val);
93+
}
94+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
95+
[GIR (name = "MessagePutInt32")]
96+
public struct PutInt32 {
97+
public Jsonrpc.MessageMagic magic;
98+
public int32 val;
99+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_INT32")]
100+
public static void* create (int32 val);
101+
}
102+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
103+
[GIR (name = "MessagePutInt64")]
104+
public struct PutInt64 {
105+
public Jsonrpc.MessageMagic magic;
106+
public int64 val;
107+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_INT64")]
108+
public static void* create (int64 val);
109+
}
110+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
111+
[GIR (name = "MessagePutString")]
112+
public struct PutString {
113+
public Jsonrpc.MessageMagic magic;
114+
public weak string val;
115+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_STRING")]
116+
public static void* create (string val);
117+
}
118+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
119+
[GIR (name = "MessagePutStrv")]
120+
public struct PutStrv {
121+
public Jsonrpc.MessageMagic magic;
122+
[CCode (array_length = false)]
123+
public weak string[] val;
124+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MESSAGE_PUT_STRV")]
125+
public static void* create ([CCode (array_length = false)] string[] val);
126+
}
127+
[CCode (cheader_filename = "jsonrpc-glib.h")]
128+
public static GLib.Variant @new (...);
129+
[CCode (cheader_filename = "jsonrpc-glib.h")]
130+
public static GLib.Variant new_array (...);
131+
[CCode (cheader_filename = "jsonrpc-glib.h")]
132+
public static bool parse (GLib.Variant message, ...);
133+
[CCode (cheader_filename = "jsonrpc-glib.h")]
134+
public static bool parse_array (GLib.VariantIter iter, ...);
135+
}
136+
[CCode (cheader_filename = "jsonrpc-glib.h", type_id = "jsonrpc_client_get_type ()")]
137+
[Version (since = "3.26")]
138+
public class Client : GLib.Object {
139+
[CCode (has_construct_function = false)]
140+
public Client (GLib.IOStream io_stream);
141+
public bool call (string method, GLib.Variant? @params, GLib.Cancellable? cancellable, out GLib.Variant? return_value) throws GLib.Error;
142+
public async bool call_async (string method, GLib.Variant? @params, GLib.Cancellable? cancellable, out GLib.Variant? return_value) throws GLib.Error;
143+
[CCode (finish_name = "jsonrpc_client_call_finish")]
144+
[Version (since = "3.30")]
145+
public async bool call_with_id_async (string method, GLib.Variant? @params, GLib.Variant* id, GLib.Cancellable? cancellable, out GLib.Variant? return_value) throws GLib.Error;
146+
public bool close (GLib.Cancellable? cancellable = null) throws GLib.Error;
147+
public async bool close_async (GLib.Cancellable? cancellable) throws GLib.Error;
148+
public static GLib.Quark error_quark ();
149+
public bool get_use_gvariant ();
150+
public bool reply (GLib.Variant id, GLib.Variant? result, GLib.Cancellable? cancellable = null) throws GLib.Error;
151+
public async bool reply_async (GLib.Variant id, GLib.Variant result, GLib.Cancellable? cancellable) throws GLib.Error;
152+
[Version (since = "3.28")]
153+
public async bool reply_error_async (GLib.Variant id, int code, string? message, GLib.Cancellable? cancellable) throws GLib.Error;
154+
public bool send_notification (string method, GLib.Variant? @params, GLib.Cancellable? cancellable = null) throws GLib.Error;
155+
public async bool send_notification_async (string method, GLib.Variant? @params, GLib.Cancellable? cancellable) throws GLib.Error;
156+
public void set_use_gvariant (bool use_gvariant);
157+
public void start_listening ();
158+
[NoAccessorMethod]
159+
public GLib.IOStream io_stream { construct; }
160+
public bool use_gvariant { get; set; }
161+
[Version (since = "3.28")]
162+
public virtual signal void failed ();
163+
public virtual signal bool handle_call (string method, GLib.Variant id, GLib.Variant? @params);
164+
public virtual signal void notification (string method_name, GLib.Variant? @params);
165+
}
166+
[CCode (cheader_filename = "jsonrpc-glib.h", type_id = "jsonrpc_input_stream_get_type ()")]
167+
public class InputStream : GLib.DataInputStream, GLib.Seekable {
168+
[CCode (has_construct_function = false)]
169+
public InputStream (GLib.InputStream base_stream);
170+
public bool read_message (GLib.Cancellable? cancellable, GLib.Variant message) throws GLib.Error;
171+
public async bool read_message_async (GLib.Cancellable? cancellable) throws GLib.Error;
172+
}
173+
[CCode (cheader_filename = "jsonrpc-glib.h", type_id = "jsonrpc_output_stream_get_type ()")]
174+
public class OutputStream : GLib.DataOutputStream, GLib.Seekable {
175+
[CCode (has_construct_function = false)]
176+
public OutputStream (GLib.OutputStream base_stream);
177+
public bool get_use_gvariant ();
178+
public void set_use_gvariant (bool use_gvariant);
179+
[Version (since = "3.26")]
180+
public bool write_message (GLib.Variant message, GLib.Cancellable? cancellable = null) throws GLib.Error;
181+
[Version (since = "3.26")]
182+
public async bool write_message_async (GLib.Variant message, GLib.Cancellable? cancellable) throws GLib.Error;
183+
public bool use_gvariant { get; set; }
184+
}
185+
[CCode (cheader_filename = "jsonrpc-glib.h", type_id = "jsonrpc_server_get_type ()")]
186+
public class Server : GLib.Object {
187+
[CCode (has_construct_function = false)]
188+
[Version (since = "3.26")]
189+
public Server ();
190+
[Version (since = "3.26")]
191+
public void accept_io_stream (GLib.IOStream io_stream);
192+
[Version (since = "3.26")]
193+
public uint add_handler (string method, owned Jsonrpc.ServerHandler handler);
194+
[Version (since = "3.28")]
195+
public void @foreach (GLib.Func foreach_func);
196+
[Version (since = "3.26")]
197+
public void remove_handler (uint handler_id);
198+
[Version (since = "3.28")]
199+
public virtual signal void client_accepted (Jsonrpc.Client client);
200+
[Version (since = "3.30")]
201+
public virtual signal void client_closed (Jsonrpc.Client client);
202+
[Version (since = "3.26")]
203+
public virtual signal bool handle_call (Jsonrpc.Client client, string method, GLib.Variant id, GLib.Variant @params);
204+
[Version (since = "3.26")]
205+
public virtual signal void notification (Jsonrpc.Client client, string method, GLib.Variant @params);
206+
}
207+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
208+
public struct MessageAny {
209+
public Jsonrpc.MessageMagic magic;
210+
}
211+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
212+
public struct MessageMagic {
213+
[CCode (array_length = false)]
214+
public weak char bytes[8];
215+
}
216+
[CCode (cheader_filename = "jsonrpc-glib.h", has_type_id = false)]
217+
public struct MessagePutVariant {
218+
public Jsonrpc.MessageMagic magic;
219+
public weak GLib.Variant val;
220+
}
221+
[CCode (cheader_filename = "jsonrpc-glib.h", cprefix = "JSONRPC_CLIENT_ERROR_", has_type_id = false)]
222+
public enum ClientError {
223+
PARSE_ERROR,
224+
INVALID_REQUEST,
225+
METHOD_NOT_FOUND,
226+
INVALID_PARAMS,
227+
INTERNAL_ERROR
228+
}
229+
[CCode (cheader_filename = "jsonrpc-glib.h", instance_pos = 5.9)]
230+
public delegate void ServerHandler (Jsonrpc.Server self, Jsonrpc.Client client, string method, GLib.Variant id, GLib.Variant @params);
231+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MAJOR_VERSION")]
232+
public const int MAJOR_VERSION;
233+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MICRO_VERSION")]
234+
public const int MICRO_VERSION;
235+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_MINOR_VERSION")]
236+
public const int MINOR_VERSION;
237+
[CCode (cheader_filename = "jsonrpc-glib.h", cname = "JSONRPC_VERSION_S")]
238+
public const string VERSION_S;
239+
}

0 commit comments

Comments
 (0)