gobject-introspection 4.2.4 → 4.2.6
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d88a4a6128c816a6b3748a8de4604759a2b2cee0395a2fda92e2ce18c16095d1
|
|
4
|
+
data.tar.gz: 160aa66ce37fb5448a1d7d0fdc752e7fc29a268f6e9689efd51ac19f6ffd96c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0093faeaaebf617a75bd552f23d29456cc3c8a4e43878414d8faaf7c8b13eaf1fef25799cecf73df6df2f7dfaf60fd675dd988b30206d7fb6ef02e74bdd6932b'
|
|
7
|
+
data.tar.gz: '0532796d74b9faf5a6fbf44005c234bb5dc51825b40b6b6bdd7ef4175d7778f8cca3eb2ab3fc0db2be081bdb136cc482f20eac26d95edef4f42170c19d5feb82'
|
data/Rakefile
CHANGED
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
18
18
|
|
|
19
19
|
$LOAD_PATH.unshift("./../glib2/lib")
|
|
20
|
-
require "
|
|
20
|
+
require "gnome/rake/package-task"
|
|
21
21
|
|
|
22
22
|
package_name = File.basename(__dir__)
|
|
23
23
|
spec = Gem::Specification.load("#{package_name}.gemspec")
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
GNOME::Rake::PackageTask.define(spec, __dir__) do |package|
|
|
26
26
|
end
|
|
@@ -103,14 +103,20 @@ rb_gi_arguments_out_free_array_c_interface(RBGIArguments *args,
|
|
|
103
103
|
g_free(*target);
|
|
104
104
|
break;
|
|
105
105
|
case GI_TRANSFER_EVERYTHING:
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
106
|
+
if (metadata->element_type.interface_gtype == G_TYPE_NONE) {
|
|
107
|
+
/* This assumes that this memory was allocated by
|
|
108
|
+
* g_new0(MyStruct, n). */
|
|
109
|
+
g_free(*target);
|
|
110
|
+
} else {
|
|
111
|
+
rb_raise(rb_eNotImpError,
|
|
112
|
+
"TODO: [%s] %s free GIArgument(%s/%s)[%s]",
|
|
113
|
+
metadata->name,
|
|
114
|
+
rb_gi_direction_to_string(metadata->direction),
|
|
115
|
+
g_type_tag_to_string(metadata->type.tag),
|
|
116
|
+
rb_gi_array_type_to_string(metadata->array_type),
|
|
117
|
+
rb_gi_transfer_to_string(metadata->transfer));
|
|
118
|
+
}
|
|
119
|
+
break;
|
|
114
120
|
}
|
|
115
121
|
xfree(target);
|
|
116
122
|
}
|
|
@@ -337,6 +343,7 @@ rb_gi_arguments_out_init_arg_array_c(RBGIArguments *args,
|
|
|
337
343
|
break;
|
|
338
344
|
case GI_TYPE_TAG_UTF8:
|
|
339
345
|
argument->v_pointer = ALLOC(gchar **);
|
|
346
|
+
*((gchar **)(argument->v_pointer)) = NULL;
|
|
340
347
|
metadata->free_func = rb_gi_arguments_out_free_array_c_string;
|
|
341
348
|
break;
|
|
342
349
|
case GI_TYPE_TAG_FILENAME:
|
|
@@ -349,6 +356,7 @@ rb_gi_arguments_out_init_arg_array_c(RBGIArguments *args,
|
|
|
349
356
|
break;
|
|
350
357
|
case GI_TYPE_TAG_INTERFACE:
|
|
351
358
|
argument->v_pointer = ALLOC(gpointer *);
|
|
359
|
+
*((gpointer *)(argument->v_pointer)) = NULL;
|
|
352
360
|
metadata->free_func = rb_gi_arguments_out_free_array_c_interface;
|
|
353
361
|
break;
|
|
354
362
|
case GI_TYPE_TAG_GLIST:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (C) 2012-
|
|
3
|
+
* Copyright (C) 2012-2024 Ruby-GNOME 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
|
|
@@ -602,6 +602,12 @@ rb_gi_arguments_convert_arg_interface_body(VALUE user_data)
|
|
|
602
602
|
}
|
|
603
603
|
case GI_INFO_TYPE_OBJECT:
|
|
604
604
|
case GI_INFO_TYPE_INTERFACE:
|
|
605
|
+
if (!G_IS_OBJECT(data->arg->v_pointer)) {
|
|
606
|
+
GIObjectInfoRefFunction ref = g_object_info_get_ref_function_pointer(data->arg_metadata->type.interface_info);
|
|
607
|
+
if (ref) {
|
|
608
|
+
ref(data->arg->v_pointer);
|
|
609
|
+
}
|
|
610
|
+
}
|
|
605
611
|
return GOBJ2RVAL(data->arg->v_pointer);
|
|
606
612
|
case GI_INFO_TYPE_CONSTANT:
|
|
607
613
|
rb_raise(rb_eNotImpError,
|
|
@@ -683,10 +689,10 @@ rb_gi_arguments_convert_arg_array_like_ensure(VALUE user_data)
|
|
|
683
689
|
return Qnil;
|
|
684
690
|
}
|
|
685
691
|
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
692
|
+
gint64
|
|
693
|
+
rb_gi_argument_out_array_get_length(GIArgument *arg,
|
|
694
|
+
RBGIArgMetadata *metadata,
|
|
695
|
+
gboolean is_pointer)
|
|
690
696
|
{
|
|
691
697
|
switch (metadata->type.tag) {
|
|
692
698
|
case GI_TYPE_TAG_VOID:
|
|
@@ -697,49 +703,49 @@ rb_gi_arguments_convert_arg_array_body_extract_length(GIArgument *arg,
|
|
|
697
703
|
return -1;
|
|
698
704
|
case GI_TYPE_TAG_INT8:
|
|
699
705
|
if (is_pointer) {
|
|
700
|
-
return *((gint8 *)arg->v_pointer);
|
|
706
|
+
return *((gint8 *)(arg->v_pointer));
|
|
701
707
|
} else {
|
|
702
708
|
return arg->v_int8;
|
|
703
709
|
}
|
|
704
710
|
case GI_TYPE_TAG_UINT8:
|
|
705
711
|
if (is_pointer) {
|
|
706
|
-
return *((guint8 *)arg->v_pointer);
|
|
712
|
+
return *((guint8 *)(arg->v_pointer));
|
|
707
713
|
} else {
|
|
708
714
|
return arg->v_uint8;
|
|
709
715
|
}
|
|
710
716
|
case GI_TYPE_TAG_INT16:
|
|
711
717
|
if (is_pointer) {
|
|
712
|
-
return *((gint16 *)arg->v_pointer);
|
|
718
|
+
return *((gint16 *)(arg->v_pointer));
|
|
713
719
|
} else {
|
|
714
720
|
return arg->v_int16;
|
|
715
721
|
}
|
|
716
722
|
case GI_TYPE_TAG_UINT16:
|
|
717
723
|
if (is_pointer) {
|
|
718
|
-
return *((guint16 *)arg->v_pointer);
|
|
724
|
+
return *((guint16 *)(arg->v_pointer));
|
|
719
725
|
} else {
|
|
720
726
|
return arg->v_uint16;
|
|
721
727
|
}
|
|
722
728
|
case GI_TYPE_TAG_INT32:
|
|
723
729
|
if (is_pointer) {
|
|
724
|
-
return *((gint32 *)arg->v_pointer);
|
|
730
|
+
return *((gint32 *)(arg->v_pointer));
|
|
725
731
|
} else {
|
|
726
732
|
return arg->v_int32;
|
|
727
733
|
}
|
|
728
734
|
case GI_TYPE_TAG_UINT32:
|
|
729
735
|
if (is_pointer) {
|
|
730
|
-
return *((guint32 *)arg->v_pointer);
|
|
736
|
+
return *((guint32 *)(arg->v_pointer));
|
|
731
737
|
} else {
|
|
732
738
|
return arg->v_uint32;
|
|
733
739
|
}
|
|
734
740
|
case GI_TYPE_TAG_INT64:
|
|
735
741
|
if (is_pointer) {
|
|
736
|
-
return *((gint64 *)arg->v_pointer);
|
|
742
|
+
return *((gint64 *)(arg->v_pointer));
|
|
737
743
|
} else {
|
|
738
744
|
return arg->v_int64;
|
|
739
745
|
}
|
|
740
746
|
case GI_TYPE_TAG_UINT64:
|
|
741
747
|
if (is_pointer) {
|
|
742
|
-
return *((guint64 *)arg->v_pointer);
|
|
748
|
+
return *((guint64 *)(arg->v_pointer));
|
|
743
749
|
} else {
|
|
744
750
|
return arg->v_uint64;
|
|
745
751
|
}
|
|
@@ -789,10 +795,9 @@ rb_gi_arguments_convert_arg_array_body_get_length(ArrayLikeToRubyData *data)
|
|
|
789
795
|
data->arg_metadata->struct_info,
|
|
790
796
|
data->arg_metadata->struct_memory);
|
|
791
797
|
int64_t length =
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
FALSE);
|
|
798
|
+
rb_gi_argument_out_array_get_length(&value,
|
|
799
|
+
&length_metadata,
|
|
800
|
+
FALSE);
|
|
796
801
|
/* TODO: Use ensure */
|
|
797
802
|
rb_gi_arg_metadata_clear(&length_metadata);
|
|
798
803
|
g_base_info_unref(field_info);
|
|
@@ -816,20 +821,16 @@ rb_gi_arguments_convert_arg_array_body_get_length(ArrayLikeToRubyData *data)
|
|
|
816
821
|
gboolean is_pointer =
|
|
817
822
|
!(length_metadata->array_metadata &&
|
|
818
823
|
length_metadata->array_metadata->output_buffer_p);
|
|
819
|
-
return
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
length_metadata,
|
|
823
|
-
is_pointer);
|
|
824
|
+
return rb_gi_argument_out_array_get_length(length_arg,
|
|
825
|
+
length_metadata,
|
|
826
|
+
is_pointer);
|
|
824
827
|
} else {
|
|
825
828
|
length_arg = &g_array_index(data->args->in_args,
|
|
826
829
|
GIArgument,
|
|
827
830
|
length_metadata->in_arg_index);
|
|
828
|
-
return
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
length_metadata,
|
|
832
|
-
FALSE);
|
|
831
|
+
return rb_gi_argument_out_array_get_length(length_arg,
|
|
832
|
+
length_metadata,
|
|
833
|
+
FALSE);
|
|
833
834
|
}
|
|
834
835
|
}
|
|
835
836
|
|
|
@@ -1105,26 +1106,116 @@ static VALUE
|
|
|
1105
1106
|
rb_gi_arguments_convert_arg_array_body_c_fixed_size(ArrayLikeToRubyData *data,
|
|
1106
1107
|
gint fixed_size)
|
|
1107
1108
|
{
|
|
1108
|
-
const char *array_c_type = "
|
|
1109
|
+
const char *array_c_type = "fixed-size";
|
|
1109
1110
|
switch (data->element_type_tag) {
|
|
1110
1111
|
case GI_TYPE_TAG_VOID:
|
|
1111
1112
|
case GI_TYPE_TAG_BOOLEAN:
|
|
1113
|
+
rb_raise(rb_eNotImpError,
|
|
1114
|
+
"TODO: GIArgument(array)[c][%s][%s] -> Ruby",
|
|
1115
|
+
array_c_type,
|
|
1116
|
+
g_type_tag_to_string(data->element_type_tag));
|
|
1117
|
+
return Qnil;
|
|
1112
1118
|
case GI_TYPE_TAG_INT8:
|
|
1119
|
+
{
|
|
1120
|
+
gint8 *array = (gint8 *)(data->arg->v_pointer);
|
|
1121
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1122
|
+
gint i;
|
|
1123
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1124
|
+
rb_ary_push(rb_array, RB_INT2NUM(array[i]));
|
|
1125
|
+
}
|
|
1126
|
+
return rb_array;
|
|
1127
|
+
}
|
|
1113
1128
|
case GI_TYPE_TAG_UINT8:
|
|
1129
|
+
{
|
|
1130
|
+
guint8 *array = (guint8 *)(data->arg->v_pointer);
|
|
1131
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1132
|
+
gint i;
|
|
1133
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1134
|
+
rb_ary_push(rb_array, RB_UINT2NUM(array[i]));
|
|
1135
|
+
}
|
|
1136
|
+
return rb_array;
|
|
1137
|
+
}
|
|
1114
1138
|
case GI_TYPE_TAG_INT16:
|
|
1139
|
+
{
|
|
1140
|
+
gint16 *array = (gint16 *)(data->arg->v_pointer);
|
|
1141
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1142
|
+
gint i;
|
|
1143
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1144
|
+
rb_ary_push(rb_array, RB_INT2NUM(array[i]));
|
|
1145
|
+
}
|
|
1146
|
+
return rb_array;
|
|
1147
|
+
}
|
|
1115
1148
|
case GI_TYPE_TAG_UINT16:
|
|
1149
|
+
{
|
|
1150
|
+
guint16 *array = (guint16 *)(data->arg->v_pointer);
|
|
1151
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1152
|
+
gint i;
|
|
1153
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1154
|
+
rb_ary_push(rb_array, RB_UINT2NUM(array[i]));
|
|
1155
|
+
}
|
|
1156
|
+
return rb_array;
|
|
1157
|
+
}
|
|
1116
1158
|
case GI_TYPE_TAG_INT32:
|
|
1159
|
+
{
|
|
1160
|
+
gint32 *array = (gint32 *)(data->arg->v_pointer);
|
|
1161
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1162
|
+
gint i;
|
|
1163
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1164
|
+
rb_ary_push(rb_array, RB_INT2NUM(array[i]));
|
|
1165
|
+
}
|
|
1166
|
+
return rb_array;
|
|
1167
|
+
}
|
|
1117
1168
|
case GI_TYPE_TAG_UINT32:
|
|
1169
|
+
{
|
|
1170
|
+
guint32 *array = (guint32 *)(data->arg->v_pointer);
|
|
1171
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1172
|
+
gint i;
|
|
1173
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1174
|
+
rb_ary_push(rb_array, RB_UINT2NUM(array[i]));
|
|
1175
|
+
}
|
|
1176
|
+
return rb_array;
|
|
1177
|
+
}
|
|
1118
1178
|
case GI_TYPE_TAG_INT64:
|
|
1179
|
+
{
|
|
1180
|
+
gint64 *array = (gint64 *)(data->arg->v_pointer);
|
|
1181
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1182
|
+
gint i;
|
|
1183
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1184
|
+
rb_ary_push(rb_array, RB_LL2NUM(array[i]));
|
|
1185
|
+
}
|
|
1186
|
+
return rb_array;
|
|
1187
|
+
}
|
|
1119
1188
|
case GI_TYPE_TAG_UINT64:
|
|
1189
|
+
{
|
|
1190
|
+
guint64 *array = (guint64 *)(data->arg->v_pointer);
|
|
1191
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1192
|
+
gint i;
|
|
1193
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1194
|
+
rb_ary_push(rb_array, RB_ULL2NUM(array[i]));
|
|
1195
|
+
}
|
|
1196
|
+
return rb_array;
|
|
1197
|
+
}
|
|
1120
1198
|
case GI_TYPE_TAG_FLOAT:
|
|
1199
|
+
{
|
|
1200
|
+
float *array = (float *)(data->arg->v_pointer);
|
|
1201
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1202
|
+
gint i;
|
|
1203
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1204
|
+
rb_ary_push(rb_array, rb_float_new(array[i]));
|
|
1205
|
+
}
|
|
1206
|
+
return rb_array;
|
|
1207
|
+
}
|
|
1121
1208
|
case GI_TYPE_TAG_DOUBLE:
|
|
1209
|
+
{
|
|
1210
|
+
double *array = (double *)(data->arg->v_pointer);
|
|
1211
|
+
VALUE rb_array = rb_ary_new_capa(fixed_size);
|
|
1212
|
+
gint i;
|
|
1213
|
+
for (i = 0; i < fixed_size; i++) {
|
|
1214
|
+
rb_ary_push(rb_array, rb_float_new(array[i]));
|
|
1215
|
+
}
|
|
1216
|
+
return rb_array;
|
|
1217
|
+
}
|
|
1122
1218
|
case GI_TYPE_TAG_GTYPE:
|
|
1123
|
-
rb_raise(rb_eNotImpError,
|
|
1124
|
-
"TODO: GIArgument(array)[c][%s][%s] -> Ruby",
|
|
1125
|
-
array_c_type,
|
|
1126
|
-
g_type_tag_to_string(data->element_type_tag));
|
|
1127
|
-
return Qnil;
|
|
1128
1219
|
case GI_TYPE_TAG_UTF8:
|
|
1129
1220
|
case GI_TYPE_TAG_FILENAME:
|
|
1130
1221
|
case GI_TYPE_TAG_ARRAY:
|
|
@@ -2063,10 +2154,17 @@ rb_gi_arguments_convert_return_value_free_everything_interface(
|
|
|
2063
2154
|
case GI_INFO_TYPE_OBJECT:
|
|
2064
2155
|
{
|
|
2065
2156
|
GObject *object = data->value->v_pointer;
|
|
2066
|
-
if (
|
|
2067
|
-
|
|
2157
|
+
if (G_IS_OBJECT(object)) {
|
|
2158
|
+
if (g_object_is_floating(object)) {
|
|
2159
|
+
g_object_ref_sink(object);
|
|
2160
|
+
}
|
|
2161
|
+
g_object_unref(object);
|
|
2162
|
+
} else {
|
|
2163
|
+
GIObjectInfoUnrefFunction unref = g_object_info_get_unref_function_pointer(data->metadata->type.interface_info);
|
|
2164
|
+
if (unref) {
|
|
2165
|
+
unref(object);
|
|
2166
|
+
}
|
|
2068
2167
|
}
|
|
2069
|
-
g_object_unref(object);
|
|
2070
2168
|
}
|
|
2071
2169
|
break;
|
|
2072
2170
|
case GI_INFO_TYPE_INTERFACE:
|
|
@@ -2378,6 +2476,8 @@ rb_gi_arguments_convert_return_value_free_everything(ReturnValueToRubyData *data
|
|
|
2378
2476
|
case GI_TYPE_TAG_UINT64:
|
|
2379
2477
|
case GI_TYPE_TAG_FLOAT:
|
|
2380
2478
|
case GI_TYPE_TAG_DOUBLE:
|
|
2479
|
+
/* We need to do nothing. */
|
|
2480
|
+
break;
|
|
2381
2481
|
case GI_TYPE_TAG_GTYPE:
|
|
2382
2482
|
rb_raise(rb_eNotImpError,
|
|
2383
2483
|
"TODO: free GIArgument(%s) everything",
|
|
@@ -56,7 +56,8 @@ initialize_receiver(VALUE receiver,
|
|
|
56
56
|
switch (interface_type) {
|
|
57
57
|
case GI_INFO_TYPE_OBJECT:
|
|
58
58
|
G_INITIALIZE(receiver, value->v_pointer);
|
|
59
|
-
|
|
59
|
+
/* GTypeInstance * is also GI_INFO_TYPE_OBJECT. */
|
|
60
|
+
if (G_IS_OBJECT(value->v_pointer)) {
|
|
60
61
|
gboolean was_floating;
|
|
61
62
|
was_floating = g_object_is_floating(value->v_pointer);
|
|
62
63
|
g_object_ref_sink(value->v_pointer);
|
|
@@ -101,6 +101,11 @@ rb_gi_arg_metadata_clear(RBGIArgMetadata *metadata);
|
|
|
101
101
|
G_GNUC_INTERNAL void
|
|
102
102
|
rb_gi_arg_metadata_free(RBGIArgMetadata *metadata);
|
|
103
103
|
|
|
104
|
+
G_GNUC_INTERNAL gint64
|
|
105
|
+
rb_gi_argument_out_array_get_length(GIArgument *arg,
|
|
106
|
+
RBGIArgMetadata *metadata,
|
|
107
|
+
gboolean is_pointer);
|
|
108
|
+
|
|
104
109
|
G_GNUC_INTERNAL void
|
|
105
110
|
rb_gi_arguments_init(RBGIArguments *args,
|
|
106
111
|
GICallableInfo *info,
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gobject-introspection
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.2.
|
|
4
|
+
version: 4.2.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- The Ruby-GNOME Project Team
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 2025-01-25 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: glib2
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 4.2.
|
|
18
|
+
version: 4.2.6
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 4.2.
|
|
25
|
+
version: 4.2.6
|
|
26
26
|
description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
|
|
27
27
|
and a loader module that can generate dynamically Ruby bindings of any GObject C
|
|
28
28
|
libraries
|
|
@@ -148,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
148
148
|
- !ruby/object:Gem::Version
|
|
149
149
|
version: '0'
|
|
150
150
|
requirements: []
|
|
151
|
-
rubygems_version: 3.6.
|
|
151
|
+
rubygems_version: 3.6.2
|
|
152
152
|
specification_version: 4
|
|
153
153
|
summary: Ruby/GObjectIntrospection is a Ruby binding of GObject Introspection.
|
|
154
154
|
test_files: []
|