glib2 3.1.1 → 3.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +6 -2
- data/ext/glib2/extconf.rb +4 -2
- data/ext/glib2/glib2.def +4 -0
- data/ext/glib2/rbglib-bytes.c +78 -0
- data/ext/glib2/rbglib.c +1 -0
- data/ext/glib2/rbglib.h +2 -2
- data/ext/glib2/rbglib_datetime.c +4 -0
- data/ext/glib2/rbglib_timezone.c +4 -0
- data/ext/glib2/rbgobj_boxed.c +7 -7
- data/ext/glib2/rbgobj_enums.c +4 -4
- data/ext/glib2/rbgobj_flags.c +4 -4
- data/ext/glib2/rbgobj_object.c +6 -6
- data/ext/glib2/rbgobj_type.c +18 -1
- data/ext/glib2/rbgobj_typeinterface.c +2 -2
- data/ext/glib2/rbgobject.h +5 -1
- data/ext/glib2/rbgprivate.h +2 -1
- data/lib/gnome2/rake/package-task.rb +4 -2
- data/lib/mkmf-gnome2.rb +7 -118
- data/test/test-bytes.rb +36 -0
- data/test/test-date-time.rb +5 -1
- data/test/test-match-info.rb +7 -1
- data/test/test-regex.rb +7 -1
- data/test/test-time-zone.rb +7 -1
- data/test/test-type-interface.rb +38 -0
- data/test/test-variant-type.rb +2 -0
- data/test/test_key_file.rb +6 -2
- metadata +20 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d462be0e4a6a612ec2225e654bb2d0a904a5e32
|
4
|
+
data.tar.gz: 98c1268474602947218d0ca851a97c6f6eaec874
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7b223daf9866e5a09a3406dcc8370c016ffa6dc3c71b62cfa5d7c4b2592da785cc3f148550ebf53e85a42b2ee76ca20082cfb2c44c439305a45a947729a59138
|
7
|
+
data.tar.gz: e9fe1e88848f518f8cf04d72e2276828a02e7ac0b52ead04693ed6619a57af2a89c965e6a532a6484de0fc4d2be8569cc06c46fe8850a72e8fee25320552956d
|
data/Rakefile
CHANGED
@@ -36,7 +36,10 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
|
|
36
36
|
|
37
37
|
package.summary = "Ruby/GLib2 is a Ruby binding of GLib-2.x."
|
38
38
|
package.description = "Ruby/GLib2 is a Ruby binding of GLib-2.x."
|
39
|
-
package.dependency.gem.runtime = [
|
39
|
+
package.dependency.gem.runtime = [
|
40
|
+
["pkg-config", ">= 0"],
|
41
|
+
["native-package-installer", ">= 0"],
|
42
|
+
]
|
40
43
|
package.dependency.gem.development = [["test-unit", ">= 2"]]
|
41
44
|
package.windows.packages = []
|
42
45
|
package.windows.dependencies = []
|
@@ -85,12 +88,13 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
|
|
85
88
|
:name => "glib",
|
86
89
|
:download_site => :gnome,
|
87
90
|
:label => "GLib",
|
88
|
-
:version => "2.
|
91
|
+
:version => "2.52.1",
|
89
92
|
:compression_method => "xz",
|
90
93
|
:windows => {
|
91
94
|
:need_autoreconf => true,
|
92
95
|
:patches => [
|
93
96
|
"glib-2.48.0-add-missing-exeext.diff",
|
97
|
+
"glib-2.52.1-fix-build-error.diff",
|
94
98
|
],
|
95
99
|
:built_file => "bin/libglib-2.0-0.dll",
|
96
100
|
},
|
data/ext/glib2/extconf.rb
CHANGED
@@ -17,10 +17,10 @@ require 'mkmf-gnome2'
|
|
17
17
|
setup_windows(module_name, base_dir)
|
18
18
|
|
19
19
|
unless required_pkg_config_package([package_id, 2, 12, 0],
|
20
|
-
:
|
20
|
+
:alt_linux => "glib2-devel",
|
21
21
|
:debian => "libglib2.0-dev",
|
22
22
|
:redhat => "glib2-devel",
|
23
|
-
:
|
23
|
+
:arch_linux => "glib2",
|
24
24
|
:homebrew => "glib",
|
25
25
|
:macports => "glib2")
|
26
26
|
exit(false)
|
@@ -46,6 +46,8 @@ have_func("ruby_native_thread_p", ruby_header)
|
|
46
46
|
have_func("rb_thread_call_with_gvl", ruby_header)
|
47
47
|
have_func("rb_gc_register_mark_object", ruby_header)
|
48
48
|
have_func("rb_exc_new_str", ruby_header)
|
49
|
+
# For Ruby 2.1. TODO: Remove this when we drop Ruby 2.1 support.
|
50
|
+
have_func("rb_enc_str_new_static", ruby_header)
|
49
51
|
|
50
52
|
have_var("curr_thread", [ruby_header, "node.h"])
|
51
53
|
have_var("rb_curr_thread", [ruby_header, "node.h"])
|
data/ext/glib2/glib2.def
CHANGED
@@ -22,6 +22,7 @@ EXPORTS
|
|
22
22
|
rbgobj_create_object
|
23
23
|
rbgobj_gobject_new
|
24
24
|
rbgobj_gobject_initialize
|
25
|
+
rbgobj_boxed_alloc_func
|
25
26
|
rbgobj_boxed_create
|
26
27
|
rbgobj_boxed_get
|
27
28
|
rbgobj_boxed_get_default
|
@@ -47,6 +48,8 @@ EXPORTS
|
|
47
48
|
rbgobj_get_enum
|
48
49
|
rbgobj_make_flags
|
49
50
|
rbgobj_get_flags
|
51
|
+
rbgobj_enum_alloc_func
|
52
|
+
rbgobj_flags_alloc_func
|
50
53
|
rbgobj_register_g2r_func
|
51
54
|
rbgobj_register_r2g_func
|
52
55
|
rbgobj_register_class
|
@@ -54,6 +57,7 @@ EXPORTS
|
|
54
57
|
rbgobj_register_property_setter
|
55
58
|
rbgobj_class_init_func
|
56
59
|
rbgobj_register_type
|
60
|
+
rbgobj_object_alloc_func
|
57
61
|
rbgobj_set_signal_func
|
58
62
|
rbgobj_get_signal_func
|
59
63
|
rbgobj_set_signal_call_func
|
@@ -0,0 +1,78 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2017 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbgprivate.h"
|
22
|
+
|
23
|
+
#define RG_TARGET_NAMESPACE cBytes
|
24
|
+
|
25
|
+
#define _SELF(s) (RVAL2BOXED(s, G_TYPE_BYTES))
|
26
|
+
|
27
|
+
#if GLIB_CHECK_VERSION(2, 32, 0)
|
28
|
+
static VALUE RG_TARGET_NAMESPACE;
|
29
|
+
|
30
|
+
static VALUE
|
31
|
+
rg_initialize(int argc, VALUE *argv, VALUE self)
|
32
|
+
{
|
33
|
+
GBytes *bytes;
|
34
|
+
VALUE rb_data;
|
35
|
+
|
36
|
+
rb_scan_args(argc, argv, "01", &rb_data);
|
37
|
+
if (NIL_P(rb_data)) {
|
38
|
+
bytes = g_bytes_new(NULL, 0);
|
39
|
+
} else {
|
40
|
+
const gchar *data = RVAL2CSTR_PTR(rb_data);
|
41
|
+
bytes = g_bytes_new(data, RSTRING_LEN(rb_data));
|
42
|
+
}
|
43
|
+
G_INITIALIZE(self, bytes);
|
44
|
+
|
45
|
+
return Qnil;
|
46
|
+
}
|
47
|
+
|
48
|
+
static VALUE
|
49
|
+
rg_to_s(VALUE self)
|
50
|
+
{
|
51
|
+
GBytes *bytes;
|
52
|
+
gconstpointer data;
|
53
|
+
gsize size;
|
54
|
+
VALUE rb_data;
|
55
|
+
|
56
|
+
bytes = _SELF(self);
|
57
|
+
data = g_bytes_get_data(bytes, &size);
|
58
|
+
# ifdef HAVE_RB_ENC_STR_NEW_STATIC
|
59
|
+
rb_data = rb_enc_str_new_static(data, size, rb_ascii8bit_encoding());
|
60
|
+
rb_iv_set(rb_data, "@bytes", self);
|
61
|
+
# else
|
62
|
+
rb_data = rb_enc_str_new(data, size, rb_ascii8bit_encoding());
|
63
|
+
# endif
|
64
|
+
return rb_data;
|
65
|
+
}
|
66
|
+
#endif
|
67
|
+
|
68
|
+
void
|
69
|
+
Init_glib_bytes(void)
|
70
|
+
{
|
71
|
+
#if GLIB_CHECK_VERSION(2, 32, 0)
|
72
|
+
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_BYTES, "Bytes", mGLib);
|
73
|
+
|
74
|
+
RG_DEF_METHOD(initialize, -1);
|
75
|
+
RG_DEF_METHOD(to_s, 0);
|
76
|
+
RG_DEF_ALIAS("to_str", "to_s");
|
77
|
+
#endif
|
78
|
+
}
|
data/ext/glib2/rbglib.c
CHANGED
data/ext/glib2/rbglib.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2002-
|
3
|
+
* Copyright (C) 2002-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -36,7 +36,7 @@ extern "C" {
|
|
36
36
|
|
37
37
|
#define RBGLIB_MAJOR_VERSION 3
|
38
38
|
#define RBGLIB_MINOR_VERSION 1
|
39
|
-
#define RBGLIB_MICRO_VERSION
|
39
|
+
#define RBGLIB_MICRO_VERSION 2
|
40
40
|
|
41
41
|
#ifndef RB_ZALLOC
|
42
42
|
# ifdef ZALLOC
|
data/ext/glib2/rbglib_datetime.c
CHANGED
@@ -69,8 +69,10 @@ rg_s_now(int argc, VALUE *argv, G_GNUC_UNUSED VALUE self)
|
|
69
69
|
date = g_date_time_new_now_local();
|
70
70
|
} else if (is_utc_timezone(rb_timezone)) {
|
71
71
|
date = g_date_time_new_now_utc();
|
72
|
+
#if GLIB_CHECK_VERSION(2, 34, 0)
|
72
73
|
} else if (is_timezone(rb_timezone)) {
|
73
74
|
date = g_date_time_new_now(RVAL2GTIMEZONE(rb_timezone));
|
75
|
+
#endif
|
74
76
|
} else {
|
75
77
|
rb_raise(rb_eArgError,
|
76
78
|
"timezone must be nil, :local, :utc or GLib::TimeZone: "
|
@@ -158,6 +160,7 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
158
160
|
hour,
|
159
161
|
minute,
|
160
162
|
second);
|
163
|
+
#if GLIB_CHECK_VERSION(2, 34, 0)
|
161
164
|
} else if (is_timezone(rb_timezone)) {
|
162
165
|
GTimeZone *timezone = NULL;
|
163
166
|
|
@@ -169,6 +172,7 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
169
172
|
hour,
|
170
173
|
minute,
|
171
174
|
second);
|
175
|
+
#endif
|
172
176
|
} else {
|
173
177
|
rb_raise(rb_eArgError,
|
174
178
|
":timezone must be nil, :local, :utc or GLib::TimeZone: "
|
data/ext/glib2/rbglib_timezone.c
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
#define RG_TARGET_NAMESPACE cTimeZone
|
23
23
|
#define _SELF(s) ((GTimeZone*)RVAL2BOXED(s, G_TYPE_TIME_ZONE))
|
24
24
|
|
25
|
+
#if GLIB_CHECK_VERSION(2, 34, 0)
|
25
26
|
static VALUE
|
26
27
|
rg_initialize(gint argc, VALUE *argv, VALUE self)
|
27
28
|
{
|
@@ -68,10 +69,12 @@ rg_offset(VALUE self, VALUE rb_interval)
|
|
68
69
|
gint interval = NUM2INT(rb_interval);
|
69
70
|
return INT2NUM(g_time_zone_get_offset(_SELF(self), interval));
|
70
71
|
}
|
72
|
+
#endif
|
71
73
|
|
72
74
|
void
|
73
75
|
Init_glib_time_zone(void)
|
74
76
|
{
|
77
|
+
#if GLIB_CHECK_VERSION(2, 34, 0)
|
75
78
|
VALUE RG_TARGET_NAMESPACE;
|
76
79
|
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_TIME_ZONE, "TimeZone", mGLib);
|
77
80
|
RG_DEF_METHOD(initialize, -1);
|
@@ -79,4 +82,5 @@ Init_glib_time_zone(void)
|
|
79
82
|
RG_DEF_SMETHOD(utc, 0);
|
80
83
|
RG_DEF_METHOD(abbreviation, 1);
|
81
84
|
RG_DEF_METHOD(offset, 1);
|
85
|
+
#endif
|
82
86
|
}
|
data/ext/glib2/rbgobj_boxed.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -52,8 +52,8 @@ boxed_free(boxed_holder *holder)
|
|
52
52
|
|
53
53
|
/**********************************************************************/
|
54
54
|
|
55
|
-
|
56
|
-
|
55
|
+
VALUE
|
56
|
+
rbgobj_boxed_alloc_func(VALUE klass)
|
57
57
|
{
|
58
58
|
const RGObjClassInfo *cinfo = rbgobj_lookup_class(klass);
|
59
59
|
boxed_holder *holder;
|
@@ -147,7 +147,7 @@ rg_initialize_copy(VALUE self, VALUE orig)
|
|
147
147
|
VALUE
|
148
148
|
rbgobj_boxed_create(VALUE klass)
|
149
149
|
{
|
150
|
-
return
|
150
|
+
return rbgobj_boxed_alloc_func(klass);
|
151
151
|
}
|
152
152
|
|
153
153
|
/**********************************************************************/
|
@@ -199,7 +199,7 @@ rbgobj_make_boxed_raw(gpointer p, GType gtype, VALUE klass, gint flags)
|
|
199
199
|
VALUE result;
|
200
200
|
boxed_holder *holder;
|
201
201
|
|
202
|
-
result =
|
202
|
+
result = rbgobj_boxed_alloc_func(klass);
|
203
203
|
|
204
204
|
Data_Get_Struct(result, boxed_holder, holder);
|
205
205
|
|
@@ -254,7 +254,7 @@ rbgobj_boxed_unown(VALUE boxed)
|
|
254
254
|
|
255
255
|
if (!holder->own) {
|
256
256
|
rb_raise(rb_eArgError,
|
257
|
-
"The boxed is already unowned: %
|
257
|
+
"The boxed is already unowned: %" PRIsVALUE,
|
258
258
|
boxed);
|
259
259
|
}
|
260
260
|
|
@@ -289,7 +289,7 @@ Init_gobject_gboxed(void)
|
|
289
289
|
rbgobj_register_g2r_func(G_TYPE_BOXED, boxed_to_ruby);
|
290
290
|
rbgobj_register_r2g_func(G_TYPE_BOXED, boxed_from_ruby);
|
291
291
|
|
292
|
-
rb_define_alloc_func(RG_TARGET_NAMESPACE,
|
292
|
+
rb_define_alloc_func(RG_TARGET_NAMESPACE, rbgobj_boxed_alloc_func);
|
293
293
|
rbg_define_singleton_method(RG_TARGET_NAMESPACE, "gtype", generic_s_gtype, 0);
|
294
294
|
rbg_define_method(RG_TARGET_NAMESPACE, "gtype", generic_gtype, 0);
|
295
295
|
RG_DEF_METHOD(initialize, 0);
|
data/ext/glib2/rbgobj_enums.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
3
|
+
* Copyright (C) 2011-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2004-2006 Ruby-GNOME2 Project Team
|
5
5
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
6
|
*
|
@@ -254,8 +254,8 @@ rg_s_values(VALUE self)
|
|
254
254
|
enum_s_values_ensure, (VALUE)args.gclass);
|
255
255
|
}
|
256
256
|
|
257
|
-
|
258
|
-
|
257
|
+
VALUE
|
258
|
+
rbgobj_enum_alloc_func(VALUE self)
|
259
259
|
{
|
260
260
|
GType gtype = CLASS2GTYPE(self);
|
261
261
|
|
@@ -426,7 +426,7 @@ Init_gobject_genums(void)
|
|
426
426
|
RG_DEF_SMETHOD(range, 0);
|
427
427
|
RG_DEF_SMETHOD(values, 0);
|
428
428
|
|
429
|
-
rb_define_alloc_func(RG_TARGET_NAMESPACE,
|
429
|
+
rb_define_alloc_func(RG_TARGET_NAMESPACE, rbgobj_enum_alloc_func);
|
430
430
|
|
431
431
|
RG_DEF_METHOD(initialize, -1);
|
432
432
|
RG_DEF_METHOD(to_i, 0);
|
data/ext/glib2/rbgobj_flags.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2004-
|
3
|
+
* Copyright (C) 2004-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -201,8 +201,8 @@ rg_s_values(VALUE klass)
|
|
201
201
|
return result;
|
202
202
|
}
|
203
203
|
|
204
|
-
|
205
|
-
|
204
|
+
VALUE
|
205
|
+
rbgobj_flags_alloc_func(VALUE self)
|
206
206
|
{
|
207
207
|
GType gtype = CLASS2GTYPE(self);
|
208
208
|
|
@@ -533,7 +533,7 @@ Init_gobject_gflags(void)
|
|
533
533
|
RG_DEF_SMETHOD(mask, 0);
|
534
534
|
RG_DEF_SMETHOD(values, 0);
|
535
535
|
|
536
|
-
rb_define_alloc_func(RG_TARGET_NAMESPACE,
|
536
|
+
rb_define_alloc_func(RG_TARGET_NAMESPACE, rbgobj_flags_alloc_func);
|
537
537
|
|
538
538
|
RG_DEF_METHOD(initialize, -1);
|
539
539
|
|
data/ext/glib2/rbgobj_object.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002-2004 Ruby-GNOME2 Project Team
|
5
5
|
* Copyright (C) 2002-2003 Masahiro Sakai
|
6
6
|
* Copyright (C) 1998-2000 Yukihiro Matsumoto,
|
@@ -77,8 +77,8 @@ holder_free(gobj_holder *holder)
|
|
77
77
|
xfree(holder);
|
78
78
|
}
|
79
79
|
|
80
|
-
|
81
|
-
|
80
|
+
VALUE
|
81
|
+
rbgobj_object_alloc_func(VALUE klass)
|
82
82
|
{
|
83
83
|
gobj_holder* holder;
|
84
84
|
VALUE result;
|
@@ -96,7 +96,7 @@ gobj_s_allocate(VALUE klass)
|
|
96
96
|
VALUE
|
97
97
|
rbgobj_create_object(VALUE klass)
|
98
98
|
{
|
99
|
-
return
|
99
|
+
return rbgobj_object_alloc_func(klass);
|
100
100
|
}
|
101
101
|
|
102
102
|
void
|
@@ -135,7 +135,7 @@ rbgobj_get_ruby_object_from_gobject(GObject* gobj, gboolean alloc)
|
|
135
135
|
} else if (alloc) {
|
136
136
|
VALUE obj;
|
137
137
|
|
138
|
-
obj =
|
138
|
+
obj = rbgobj_object_alloc_func(GTYPE2CLASS(G_OBJECT_TYPE(gobj)));
|
139
139
|
gobj = g_object_ref(gobj);
|
140
140
|
rbgobj_gobject_initialize(obj, (gpointer)gobj);
|
141
141
|
return obj;
|
@@ -960,7 +960,7 @@ Init_gobject_gobject(void)
|
|
960
960
|
|
961
961
|
RUBY_GOBJECT_OBJ_KEY = g_quark_from_static_string("__ruby_gobject_object__");
|
962
962
|
|
963
|
-
rb_define_alloc_func(RG_TARGET_NAMESPACE,
|
963
|
+
rb_define_alloc_func(RG_TARGET_NAMESPACE, rbgobj_object_alloc_func);
|
964
964
|
RG_DEF_SMETHOD_BANG(new, -1);
|
965
965
|
|
966
966
|
rbg_define_singleton_method(RG_TARGET_NAMESPACE, "property", &gobj_s_property, 1);
|
data/ext/glib2/rbgobj_type.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2002-
|
3
|
+
* Copyright (C) 2002-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -175,6 +175,23 @@ rbgobj_lookup_class_by_gtype_without_lock(GType gtype, VALUE parent,
|
|
175
175
|
cinfo->klass = rb_funcall(rb_cClass, id_new, 1, parent);
|
176
176
|
}
|
177
177
|
|
178
|
+
switch (fundamental_type){
|
179
|
+
case G_TYPE_BOXED:
|
180
|
+
rb_define_alloc_func(cinfo->klass, rbgobj_boxed_alloc_func);
|
181
|
+
break;
|
182
|
+
case G_TYPE_OBJECT:
|
183
|
+
rb_define_alloc_func(cinfo->klass, rbgobj_object_alloc_func);
|
184
|
+
break;
|
185
|
+
case G_TYPE_ENUM:
|
186
|
+
rb_define_alloc_func(cinfo->klass, rbgobj_enum_alloc_func);
|
187
|
+
break;
|
188
|
+
case G_TYPE_FLAGS:
|
189
|
+
rb_define_alloc_func(cinfo->klass, rbgobj_flags_alloc_func);
|
190
|
+
break;
|
191
|
+
default:
|
192
|
+
break;
|
193
|
+
}
|
194
|
+
|
178
195
|
cinfod = (RGObjClassInfoDynamic *)g_hash_table_lookup(dynamic_gtype_list,
|
179
196
|
g_type_name(gtype));
|
180
197
|
if (cinfod){
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
3
|
+
* Copyright (C) 2011,2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002-2006 Ruby-GNOME2 Project Team
|
5
5
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
6
|
*
|
@@ -30,7 +30,7 @@ VALUE RG_TARGET_NAMESPACE;
|
|
30
30
|
static VALUE
|
31
31
|
rg_append_features(G_GNUC_UNUSED VALUE self, VALUE klass)
|
32
32
|
{
|
33
|
-
if (!
|
33
|
+
if (!RVAL2CBOOL(rb_class_inherited_p(klass, cInstantiatable)))
|
34
34
|
rb_raise(rb_eTypeError, "Not a subclass of GLib::Instantiatable");
|
35
35
|
return rb_call_super(1, &klass);
|
36
36
|
}
|
data/ext/glib2/rbgobject.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011 Ruby-GNOME2 Project Team
|
3
|
+
* Copyright (C) 2011-2017 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2003,2006 Ruby-GNOME2 Project Team
|
5
5
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
6
|
*
|
@@ -247,8 +247,10 @@ extern void rbgobj_register_property_setter(GType gtype, const char* prop_name,
|
|
247
247
|
extern void rbgobj_register_property_getter(GType gtype, const char* prop_name, GValueToRValueFunc func);
|
248
248
|
extern void rbgobj_class_init_func(gpointer g_class, gpointer class_data);
|
249
249
|
extern void rbgobj_register_type(VALUE klass, VALUE type_name, GClassInitFunc class_init);
|
250
|
+
extern VALUE rbgobj_object_alloc_func(VALUE klass);
|
250
251
|
|
251
252
|
/* rbgobj_boxed.c */
|
253
|
+
extern VALUE rbgobj_boxed_alloc_func(VALUE klass);
|
252
254
|
extern VALUE rbgobj_boxed_create(VALUE klass); /* deprecated */
|
253
255
|
extern gpointer rbgobj_boxed_get(VALUE obj, GType gtype);
|
254
256
|
extern gpointer rbgobj_boxed_get_default(VALUE obj, GType gtype);
|
@@ -267,6 +269,8 @@ extern gint rbgobj_get_enum(VALUE obj, GType gtype);
|
|
267
269
|
extern VALUE rbgobj_make_flags(guint n, GType gtype);
|
268
270
|
extern guint rbgobj_get_flags(VALUE obj, GType gtype);
|
269
271
|
extern void rbgobj_define_const(VALUE mod, const char *name, VALUE value);
|
272
|
+
extern VALUE rbgobj_enum_alloc_func(VALUE klass);
|
273
|
+
extern VALUE rbgobj_flags_alloc_func(VALUE klass);
|
270
274
|
|
271
275
|
|
272
276
|
/* rbglib_mainloop.c */
|
data/ext/glib2/rbgprivate.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2007-
|
3
|
+
* Copyright (C) 2007-2017 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -152,6 +152,7 @@ G_GNUC_INTERNAL void Init_glib_regex(void);
|
|
152
152
|
G_GNUC_INTERNAL void Init_glib_matchinfo(void);
|
153
153
|
G_GNUC_INTERNAL void Init_glib_date_time(void);
|
154
154
|
G_GNUC_INTERNAL void Init_glib_time_zone(void);
|
155
|
+
G_GNUC_INTERNAL void Init_glib_bytes(void);
|
155
156
|
|
156
157
|
G_GNUC_INTERNAL void Init_gobject_convert(void);
|
157
158
|
G_GNUC_INTERNAL void Init_gobject_gtype(void);
|
@@ -123,14 +123,16 @@ module GNOME2
|
|
123
123
|
s.author = @author
|
124
124
|
s.email = @email
|
125
125
|
s.homepage = @homepage
|
126
|
-
s.licenses = ["
|
126
|
+
s.licenses = ["LGPL-2.1+"]
|
127
127
|
s.version = version
|
128
|
-
extensions = FileList["ext/#{@name}/extconf.rb"
|
128
|
+
extensions = FileList["ext/#{@name}/extconf.rb",
|
129
|
+
"dependency-check/Rakefile"]
|
129
130
|
extensions.existing!
|
130
131
|
s.extensions = extensions
|
131
132
|
s.require_paths = ["lib"]
|
132
133
|
files = FileList["ChangeLog", "README",
|
133
134
|
"Rakefile", "extconf.rb",
|
135
|
+
"dependency-check/Rakefile",
|
134
136
|
"lib/**/*.rb",
|
135
137
|
"ext/**/depend",
|
136
138
|
"ext/**/*.{c,h,def,rb}",
|
data/lib/mkmf-gnome2.rb
CHANGED
@@ -13,6 +13,7 @@ require 'English'
|
|
13
13
|
require 'mkmf'
|
14
14
|
require 'pkg-config'
|
15
15
|
require 'glib-mkenums'
|
16
|
+
require "native-package-installer"
|
16
17
|
|
17
18
|
$CFLAGS += " #{ENV['CFLAGS']}" if ENV['CFLAGS']
|
18
19
|
|
@@ -106,7 +107,7 @@ include_path = nil
|
|
106
107
|
if ENV['GTK_BASEPATH'] and /cygwin/ !~ RUBY_PLATFORM
|
107
108
|
include_path = (ENV['GTK_BASEPATH'] + "\\INCLUDE").gsub("\\", "/")
|
108
109
|
# $hdrdir += " -I#{include_path} "
|
109
|
-
$
|
110
|
+
$INCFLAGS += " -I#{include_path} "
|
110
111
|
end
|
111
112
|
|
112
113
|
def windows_platform?
|
@@ -123,7 +124,7 @@ def setup_windows(target_name, base_dir=nil)
|
|
123
124
|
base_dir = Pathname(base_dir) if base_dir.is_a?(String)
|
124
125
|
binary_base_dir = base_dir + "vendor" + "local"
|
125
126
|
if binary_base_dir.exist?
|
126
|
-
$
|
127
|
+
$INCFLAGS += " -I#{binary_base_dir}/include"
|
127
128
|
pkg_config_dir = binary_base_dir + "lib" + "pkgconfig"
|
128
129
|
PKGConfig.add_path(pkg_config_dir.to_s)
|
129
130
|
end
|
@@ -147,7 +148,8 @@ def find_gem_spec(package)
|
|
147
148
|
end
|
148
149
|
|
149
150
|
def setup_homebrew_libffi
|
150
|
-
|
151
|
+
platform = NativePackageInstaller::Platform.detect
|
152
|
+
return unless platform.is_a?(NativePackageInstaller::Platform::Homebrew)
|
151
153
|
|
152
154
|
PKGConfig.add_path("/usr/local/opt/libffi/lib/pkgconfig")
|
153
155
|
end
|
@@ -463,127 +465,14 @@ def check_cairo(options={})
|
|
463
465
|
add_depend_package("cairo", "ext/cairo", rcairo_source_dir, options)
|
464
466
|
$defs << "-DRUBY_CAIRO_PLATFORM_WIN32"
|
465
467
|
end
|
466
|
-
$
|
468
|
+
$INCFLAGS += " -I#{rcairo_source_dir}/ext/cairo"
|
467
469
|
end
|
468
470
|
|
469
471
|
PKGConfig.have_package('cairo') and have_header('rb_cairo.h')
|
470
472
|
end
|
471
473
|
|
472
|
-
def package_platform
|
473
|
-
if File.exist?("/etc/debian_version")
|
474
|
-
:debian
|
475
|
-
elsif File.exist?("/etc/fedora-release")
|
476
|
-
:fedora
|
477
|
-
elsif File.exist?("/etc/redhat-release")
|
478
|
-
:redhat
|
479
|
-
elsif File.exist?("/etc/SuSE-release")
|
480
|
-
:suse
|
481
|
-
elsif File.exist?("/etc/altlinux-release")
|
482
|
-
:altlinux
|
483
|
-
elsif find_executable("pacman")
|
484
|
-
:arch
|
485
|
-
elsif find_executable("brew")
|
486
|
-
:homebrew
|
487
|
-
elsif find_executable("port")
|
488
|
-
:macports
|
489
|
-
else
|
490
|
-
:unknown
|
491
|
-
end
|
492
|
-
end
|
493
|
-
|
494
|
-
def super_user?
|
495
|
-
Process.uid.zero?
|
496
|
-
end
|
497
|
-
|
498
|
-
def normalize_native_package_info(native_package_info)
|
499
|
-
native_package_info ||= {}
|
500
|
-
native_package_info = native_package_info.dup
|
501
|
-
native_package_info[:fedora] ||= native_package_info[:redhat]
|
502
|
-
native_package_info[:suse] ||= native_package_info[:fedora]
|
503
|
-
native_package_info
|
504
|
-
end
|
505
|
-
|
506
474
|
def install_missing_native_package(native_package_info)
|
507
|
-
|
508
|
-
native_package_info = normalize_native_package_info(native_package_info)
|
509
|
-
package = native_package_info[platform]
|
510
|
-
return false if package.nil?
|
511
|
-
|
512
|
-
package_name, *options = package
|
513
|
-
package_command_line = [package_name, *options].join(" ")
|
514
|
-
need_super_user_priviledge = true
|
515
|
-
case platform
|
516
|
-
when :debian, :altlinux
|
517
|
-
install_command = "apt-get install -V -y #{package_command_line}"
|
518
|
-
when :fedora, :redhat
|
519
|
-
install_command = "yum install -y #{package_command_line}"
|
520
|
-
when :suse
|
521
|
-
install_command = "zypper --non-interactive install #{package_command_line}"
|
522
|
-
when :arch
|
523
|
-
install_command = "pacman -S --noconfirm #{package_command_line}"
|
524
|
-
when :homebrew
|
525
|
-
need_super_user_priviledge = false
|
526
|
-
install_command = "brew install #{package_command_line}"
|
527
|
-
when :macports
|
528
|
-
install_command = "port install -y #{package_command_line}"
|
529
|
-
else
|
530
|
-
return false
|
531
|
-
end
|
532
|
-
|
533
|
-
have_priviledge = (not need_super_user_priviledge or super_user?)
|
534
|
-
unless have_priviledge
|
535
|
-
sudo = find_executable("sudo")
|
536
|
-
end
|
537
|
-
|
538
|
-
installing_message = "installing '#{package_name}' native package... "
|
539
|
-
message("%s", installing_message)
|
540
|
-
failed_to_get_super_user_priviledge = false
|
541
|
-
if have_priviledge
|
542
|
-
succeeded = xsystem(install_command)
|
543
|
-
else
|
544
|
-
if sudo
|
545
|
-
prompt = "[sudo] password for %u to install <#{package_name}>: "
|
546
|
-
sudo_options = "-p #{Shellwords.escape(prompt)}"
|
547
|
-
install_command = "#{sudo} #{sudo_options} #{install_command}"
|
548
|
-
succeeded = xsystem(install_command)
|
549
|
-
else
|
550
|
-
succeeded = false
|
551
|
-
failed_to_get_super_user_priviledge = true
|
552
|
-
end
|
553
|
-
end
|
554
|
-
|
555
|
-
if failed_to_get_super_user_priviledge
|
556
|
-
result_message = "require super user privilege"
|
557
|
-
else
|
558
|
-
result_message = succeeded ? "succeeded" : "failed"
|
559
|
-
end
|
560
|
-
Logging.postpone do
|
561
|
-
"#{installing_message}#{result_message}\n"
|
562
|
-
end
|
563
|
-
message("#{result_message}\n")
|
564
|
-
|
565
|
-
error_message = nil
|
566
|
-
unless succeeded
|
567
|
-
if failed_to_get_super_user_priviledge
|
568
|
-
error_message = <<-EOM
|
569
|
-
'#{package_name}' native package is required.
|
570
|
-
run the following command as super user to install required native package:
|
571
|
-
\# #{install_command}
|
572
|
-
EOM
|
573
|
-
else
|
574
|
-
error_message = <<-EOM
|
575
|
-
failed to run '#{install_command}'.
|
576
|
-
EOM
|
577
|
-
end
|
578
|
-
end
|
579
|
-
if error_message
|
580
|
-
message("%s", error_message)
|
581
|
-
Logging.message("%s", error_message)
|
582
|
-
end
|
583
|
-
|
584
|
-
Logging.message("--------------------\n\n")
|
585
|
-
|
586
|
-
succeeded
|
475
|
+
NativePackageInstaller.install(native_package_info)
|
587
476
|
end
|
588
477
|
|
589
478
|
def required_pkg_config_package(package_info, native_package_info=nil)
|
data/test/test-bytes.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright (C) 2017 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestGLibBytes < Test::Unit::TestCase
|
18
|
+
include GLibTestUtils
|
19
|
+
|
20
|
+
setup do
|
21
|
+
only_glib_version(2, 32, 0)
|
22
|
+
end
|
23
|
+
|
24
|
+
test "#to_s" do
|
25
|
+
data = "Hello"
|
26
|
+
bytes = GLib::Bytes.new(data)
|
27
|
+
string = bytes.to_s
|
28
|
+
assert_equal([data, Encoding::ASCII_8BIT],
|
29
|
+
[string, string.encoding])
|
30
|
+
end
|
31
|
+
|
32
|
+
test "#to_str" do
|
33
|
+
bytes = GLib::Bytes.new("Hello")
|
34
|
+
assert_equal(bytes.to_s, bytes.to_str)
|
35
|
+
end
|
36
|
+
end
|
data/test/test-date-time.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
1
|
+
# Copyright (C) 2016-2017 Ruby-GNOME2 Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -15,6 +15,8 @@
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
16
|
|
17
17
|
class TestDateTime < Test::Unit::TestCase
|
18
|
+
include GLibTestUtils
|
19
|
+
|
18
20
|
def test_now_local
|
19
21
|
now = GLib::DateTime.now(:local)
|
20
22
|
format = "%Y-%m-%d-%H-%M"
|
@@ -74,6 +76,7 @@ class TestDateTime < Test::Unit::TestCase
|
|
74
76
|
end
|
75
77
|
|
76
78
|
test "timezone: local time zone" do
|
79
|
+
only_glib_version(2, 34, 0)
|
77
80
|
time = Time.now
|
78
81
|
tz = GLib::TimeZone.local
|
79
82
|
datetime = GLib::DateTime.new(:timezone => tz,
|
@@ -92,6 +95,7 @@ class TestDateTime < Test::Unit::TestCase
|
|
92
95
|
end
|
93
96
|
|
94
97
|
test "timezone: UTC time zone" do
|
98
|
+
only_glib_version(2, 34, 0)
|
95
99
|
time = Time.now.utc
|
96
100
|
tz = GLib::TimeZone.utc
|
97
101
|
datetime = GLib::DateTime.new(:timezone => tz,
|
data/test/test-match-info.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
1
|
+
# Copyright (C) 2015-2017 Ruby-GNOME2 Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -15,6 +15,12 @@
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
16
|
|
17
17
|
class TestMatchInfo < Test::Unit::TestCase
|
18
|
+
include GLibTestUtils
|
19
|
+
|
20
|
+
setup do
|
21
|
+
only_glib_version(2, 30, 0)
|
22
|
+
end
|
23
|
+
|
18
24
|
def test_string
|
19
25
|
regex = GLib::Regex.new("[A-Z]+")
|
20
26
|
match_info = regex.match("abc def")
|
data/test/test-regex.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015-
|
1
|
+
# Copyright (C) 2015-2017 Ruby-GNOME2 Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -15,6 +15,12 @@
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
16
|
|
17
17
|
class TestRegex < Test::Unit::TestCase
|
18
|
+
include GLibTestUtils
|
19
|
+
|
20
|
+
setup do
|
21
|
+
only_glib_version(2, 30, 0)
|
22
|
+
end
|
23
|
+
|
18
24
|
def test_enum_match_flags
|
19
25
|
assert_const_defined(GLib, :RegexMatchFlags)
|
20
26
|
assert_kind_of(GLib::RegexMatchFlags, GLib::RegexMatchFlags::PARTIAL_HARD)
|
data/test/test-time-zone.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2016 Ruby-GNOME2 Project Team
|
1
|
+
# Copyright (C) 2016-2017 Ruby-GNOME2 Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -15,6 +15,12 @@
|
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
16
|
|
17
17
|
class TestTimeZone < Test::Unit::TestCase
|
18
|
+
include GLibTestUtils
|
19
|
+
|
20
|
+
setup do
|
21
|
+
only_glib_version(2, 34, 0)
|
22
|
+
end
|
23
|
+
|
18
24
|
sub_test_case "new" do
|
19
25
|
test "local" do
|
20
26
|
local_1 = GLib::TimeZone.local
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Copyright (C) 2017 Ruby-GNOME2 Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestTypeInterface < Test::Unit::TestCase
|
18
|
+
sub_test_case("#append_features") do
|
19
|
+
def test_not_instantiatable
|
20
|
+
plain_class = Class.new
|
21
|
+
assert_raise(TypeError.new("Not a subclass of GLib::Instantiatable")) do
|
22
|
+
plain_class.class_eval do
|
23
|
+
include GLib::TypePlugin
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_instantiatable
|
29
|
+
gobject_class = Class.new(GLib::Object)
|
30
|
+
gobject_class.class_eval do
|
31
|
+
include GLib::TypePlugin
|
32
|
+
end
|
33
|
+
assert do
|
34
|
+
gobject_class.method_defined?(:use)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/test/test-variant-type.rb
CHANGED
@@ -111,6 +111,7 @@ class TestGLibVariantType < Test::Unit::TestCase
|
|
111
111
|
end
|
112
112
|
|
113
113
|
test "OBJECT_PATH_ARRAY" do
|
114
|
+
only_glib_version(2, 30, 0)
|
114
115
|
assert_equal("ao", GLib::VariantType::OBJECT_PATH_ARRAY.to_s)
|
115
116
|
end
|
116
117
|
|
@@ -123,6 +124,7 @@ class TestGLibVariantType < Test::Unit::TestCase
|
|
123
124
|
end
|
124
125
|
|
125
126
|
test "VARDICT" do
|
127
|
+
only_glib_version(2, 30, 0)
|
126
128
|
assert_equal("a{sv}", GLib::VariantType::VARDICT.to_s)
|
127
129
|
end
|
128
130
|
end
|
data/test/test_key_file.rb
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
# You should have received a copy of the GNU Lesser General Public
|
14
14
|
# License along with this library; if not, write to the Free Software
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
-
|
16
|
+
|
17
17
|
require 'tempfile'
|
18
18
|
|
19
19
|
class TestGLibKeyFile < Test::Unit::TestCase
|
@@ -35,10 +35,14 @@ class TestGLibKeyFile < Test::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
if GLib.check_version?(2, 31, 2)
|
37
37
|
assert_equal(temp.path, key_file.load_from_dirs(base_name, search_dirs))
|
38
|
-
|
38
|
+
elsif GLib.check_version?(2, 30, 0)
|
39
39
|
assert_raise(GLib::KeyFileError::NotFound) do
|
40
40
|
key_file.load_from_dirs(base_name, search_dirs)
|
41
41
|
end
|
42
|
+
else
|
43
|
+
assert_raise(GLib::KeyFileError::Parse) do
|
44
|
+
key_file.load_from_dirs(base_name, search_dirs)
|
45
|
+
end
|
42
46
|
end
|
43
47
|
temp.puts(<<-EOK)
|
44
48
|
[General]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- The Ruby-GNOME2 Project Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pkg-config
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: native-package-installer
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: test-unit
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -52,6 +66,7 @@ files:
|
|
52
66
|
- ext/glib2/glib-enum-types.h
|
53
67
|
- ext/glib2/glib2.def
|
54
68
|
- ext/glib2/rbgcompat.h
|
69
|
+
- ext/glib2/rbglib-bytes.c
|
55
70
|
- ext/glib2/rbglib-variant-type.c
|
56
71
|
- ext/glib2/rbglib-variant.c
|
57
72
|
- ext/glib2/rbglib.c
|
@@ -154,10 +169,12 @@ files:
|
|
154
169
|
- test/glib-test-utils.rb
|
155
170
|
- test/run-test.rb
|
156
171
|
- test/test-binding.rb
|
172
|
+
- test/test-bytes.rb
|
157
173
|
- test/test-date-time.rb
|
158
174
|
- test/test-match-info.rb
|
159
175
|
- test/test-regex.rb
|
160
176
|
- test/test-time-zone.rb
|
177
|
+
- test/test-type-interface.rb
|
161
178
|
- test/test-variant-type.rb
|
162
179
|
- test/test-version.rb
|
163
180
|
- test/test_enum.rb
|
@@ -178,7 +195,7 @@ files:
|
|
178
195
|
- test/test_win32.rb
|
179
196
|
homepage: http://ruby-gnome2.sourceforge.jp/
|
180
197
|
licenses:
|
181
|
-
-
|
198
|
+
- LGPL-2.1+
|
182
199
|
metadata: {}
|
183
200
|
post_install_message:
|
184
201
|
rdoc_options: []
|