glib2 4.2.4 → 4.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75f66210f00c8c877df17742b6e6e0648bce06d88b427b59671a7953d5c90bc0
4
- data.tar.gz: 9485c80fd6515568f1f7e3eca427b940c23308e1998875d9475d4f9e6877a466
3
+ metadata.gz: 1ce8e0b69eabe0515d6f899e3811fa77ac794481531500e84fdea9fb33b28fec
4
+ data.tar.gz: 4ab29fea64953b54d7d903bef16ec0572276b4f892312f475b37af8eb70ef246
5
5
  SHA512:
6
- metadata.gz: 334279af523347fca47aa14d0e7a68e0159994eec798135c0fa383815a8e206aeb6c07c149bc51c63b5c446b6791a060890ff1a77ec6d254360986e85d9d75c8
7
- data.tar.gz: ce13e24f8b66e55ccc47639494c97aac8c5dd2b9d8fc28a385bca7f2bd39acfae349375ba75d146bb0849efd41c165febaf6697fefa87586a4ff6cf0bb8ee378
6
+ metadata.gz: 1af9b09699eeeff8fbce562c64be5c19514b4ce0d59a9d0ff7798b5c675215e54a853a7d6546b1f21aac122150256ed48714f2cd9b883f564a1a2d775367dce2
7
+ data.tar.gz: '079135b962c74881c9a24e110dae2de86792281817321ff42ee96dfabe34741b1a815e386043de63c8b647c110cb5718a7a5a3268e65ca7af06ceca6daa3a346'
data/Rakefile CHANGED
@@ -19,10 +19,10 @@
19
19
  base_dir = __dir__
20
20
 
21
21
  $LOAD_PATH.unshift(File.join(base_dir, "lib"))
22
- require "gnome2/rake/package-task"
22
+ require "gnome/rake/package-task"
23
23
 
24
24
  package_name = File.basename(base_dir)
25
25
  spec = Gem::Specification.load(File.join(base_dir, "#{package_name}.gemspec"))
26
26
 
27
- GNOME2::Rake::PackageTask.define(spec, __dir__) do |package|
27
+ GNOME::Rake::PackageTask.define(spec, __dir__) do |package|
28
28
  end
data/ext/glib2/glib2.def CHANGED
@@ -175,7 +175,6 @@ EXPORTS
175
175
  rbglib_num_to_uint64
176
176
  rbglib_uint64_to_num
177
177
  rbglib_num_to_int64
178
- rbglib_int64_to_num
179
178
  rbg_variant_to_ruby
180
179
  rbg_variant_from_ruby
181
180
  rbg_variant_type_from_ruby
data/ext/glib2/rbglib.c CHANGED
@@ -1248,7 +1248,6 @@ union GDoubleIEEE754;
1248
1248
  Init_gutil_callback();
1249
1249
 
1250
1250
  Init_glib_gettext();
1251
- Init_glib_int64();
1252
1251
  Init_glib_error();
1253
1252
  Init_glib_threads();
1254
1253
  Init_glib_convert();
data/ext/glib2/rbglib.h CHANGED
@@ -33,49 +33,14 @@ G_BEGIN_DECLS
33
33
 
34
34
  #define RBGLIB_MAJOR_VERSION 4
35
35
  #define RBGLIB_MINOR_VERSION 2
36
- #define RBGLIB_MICRO_VERSION 4
36
+ #define RBGLIB_MICRO_VERSION 5
37
37
 
38
- #ifndef RB_ZALLOC
39
- # ifdef ZALLOC
40
- # define RB_ZALLOC(type) ZALLOC(type)
41
- # else
42
- # define RB_ZALLOC(type) rbg_memzero(ALLOC(type), sizeof(type))
43
- # endif
38
+ /* For Ruby < 3.0 */
39
+ #ifndef RB_LL2NUM
40
+ # define RB_LL2NUM LL2NUM
44
41
  #endif
45
-
46
- #ifndef RB_ALLOC
47
- # define RB_ALLOC(type) ALLOC(type)
48
- #endif
49
-
50
- #ifndef RB_ALLOC_N
51
- # define RB_ALLOC_N(type, n) ALLOC_N(type, n)
52
- #endif
53
-
54
- /* For Ruby < 2.3 */
55
- #ifndef RB_OBJ_FROZEN
56
- # define RB_OBJ_FROZEN(obj) OBJ_FROZEN(obj)
57
- #endif
58
-
59
- #ifndef RSTRING_PTR
60
- # define RSTRING_PTR(s) (RSTRING(s)->ptr)
61
- # define RSTRING_LEN(s) (RSTRING(s)->len)
62
- #endif
63
-
64
- #ifndef RARRAY_PTR
65
- # define RARRAY_PTR(a) (RARRAY(a)->ptr)
66
- # define RARRAY_LEN(a) (RARRAY(a)->len)
67
- #endif
68
-
69
- #ifndef RARRAY_CONST_PTR
70
- # define RARRAY_CONST_PTR(a) RARRAY_PTR(a)
71
- #endif
72
-
73
- #ifndef DBL2NUM
74
- # define DBL2NUM(v) (rb_float_new(v))
75
- #endif
76
-
77
- #ifndef RBASIC_CLASS
78
- # define RBASIC_CLASS(obj) (RBASIC(obj)->klass)
42
+ #ifndef RB_ULL2NUM
43
+ # define RB_ULL2NUM ULL2NUM
79
44
  #endif
80
45
 
81
46
  #ifndef G_SOURCE_REMOVE
@@ -143,11 +108,11 @@ G_BEGIN_DECLS
143
108
  #define POINTER2RVAL(pointer) ((VALUE)(pointer))
144
109
 
145
110
  #if SIZEOF_VOIDP == SIZEOF_LONG
146
- # define NUM2POINTER(number) ((gpointer)NUM2ULONG(number))
147
- # define POINTER2NUM(pointer) ULONG2NUM((unsigned long)pointer)
111
+ # define NUM2POINTER(number) ((gpointer)RB_NUM2ULONG(number))
112
+ # define POINTER2NUM(pointer) RB_ULONG2NUM((unsigned long)pointer)
148
113
  #else
149
- # define NUM2POINTER(number) ((gpointer)NUM2ULL(number))
150
- # define POINTER2NUM(pointer) ULL2NUM((unsigned LONG_LONG)pointer)
114
+ # define NUM2POINTER(number) ((gpointer)RB_NUM2ULL(number))
115
+ # define POINTER2NUM(pointer) RB_ULL2NUM((unsigned LONG_LONG)pointer)
151
116
  #endif
152
117
 
153
118
  #define GINTS2RVAL(ary, n) rbg_gints2rval(ary, n)
@@ -245,6 +210,8 @@ extern GQuark rbgerr_ruby_error_quark(void);
245
210
  extern VALUE rbgerr_gerror2exception(GError *error);
246
211
  extern VALUE rbgerr_define_gerror(GQuark domain, const gchar* name, VALUE module, VALUE parent, GType gtype);
247
212
 
213
+ /* Deprecated. Use RB_LL2NUM()/RB_ULL2NUM()/RB_NUM2LL()/RB_NUM2ULL()
214
+ * directly. */
248
215
  extern VALUE rbglib_int64_to_num(guint64 val);
249
216
  extern VALUE rbglib_uint64_to_num(guint64 val);
250
217
  extern gint64 rbglib_num_to_int64(VALUE val);
@@ -1,9 +1,6 @@
1
1
  /* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
2
2
  /*
3
- * Copyright (C) 2011 Ruby-GNOME2 Project Team
4
- * Copyright (C) 2003 Masahiro Sakai
5
- * Copyright (C) 2002 Masahiro Sakai
6
- * Kenichi Komiya
3
+ * Copyright (C) 2011-2024 Ruby-GNOME Project Team
7
4
  *
8
5
  * This library is free software; you can redistribute it and/or
9
6
  * modify it under the terms of the GNU Lesser General Public
@@ -23,143 +20,30 @@
23
20
 
24
21
  #include "rbgprivate.h"
25
22
 
26
- static ID id_and;
27
- static ID id_rshift;
28
- static ID id_lshift;
29
- static ID id_lt;
30
- static ID id_plus;
31
- static ID id_uminus;
32
- static ID id_abs;
33
- static VALUE max_PRUint32;
34
-
35
- typedef guint64 PRUint64;
36
- typedef gint64 PRInt64;
37
-
38
- #define LL_ZERO G_GINT64_CONSTANT(0)
39
- #define LL_UI2L(lhs,rhs) ((lhs)=(rhs))
40
- #define LL_L2UI(lhs,rhs) ((lhs)=(guint32)(rhs))
41
- #define LL_SHL(lhs,v1,v2) ((lhs)=(v1)<<(v2))
42
- #define LL_SHR(lhs,v1,v2) ((lhs)=(v1)>>(v2))
43
- #define LL_ADD(lhs,v1,v2) ((lhs)=(v1)+(v2))
44
- #define LL_NEG(lhs,rhs) ((lhs)=-(rhs))
45
- #define LL_CMP(v1,op,v2) ((v1) op (v2))
46
-
47
- /**********************************************************************/
48
- /*
49
- following is ripped from rbXPCOM-0.0.3
50
- http://www.ruby-lang.org/en/raa-list.rhtml?name=rbXPCOM
51
- Copyright (C) 2001 Kenichi Komiya <kom@mail1.accsnet.ne.jp>
52
- */
53
-
54
- static PRUint64
55
- RubyTo64BitInt(VALUE aRuby)
56
- {
57
- VALUE bitMask = max_PRUint32;
58
- VALUE lo = rb_funcall(aRuby, id_and, 1, bitMask);
59
- VALUE hi = rb_funcall(aRuby, id_rshift, 1, INT2FIX(32));
60
- PRUint64 result, hi64, lo64;
61
- LL_UI2L(hi64, NUM2UINT(hi));
62
- LL_UI2L(lo64, NUM2UINT(lo));
63
- LL_SHL(result, hi64, 32);
64
- LL_ADD(result, result, lo64);
65
- return result;
66
- }
67
-
68
-
69
- static inline PRUint64
70
- RubyToPRUint64(VALUE aRuby)
71
- {
72
- return RubyTo64BitInt(aRuby);
73
- }
74
-
75
-
76
- static PRInt64
77
- RubyToPRInt64(VALUE aRuby)
78
- {
79
- if(RVAL2CBOOL(rb_funcall(aRuby, id_lt, 1, INT2FIX(0))))
80
- {
81
- VALUE absRuby = rb_funcall(aRuby, id_abs, 0);
82
- PRInt64 result;
83
- LL_NEG(result, RubyTo64BitInt(absRuby));
84
- return result;
85
- } else
86
- return (PRInt64)RubyTo64BitInt(aRuby);
87
-
88
- }
89
-
90
- static VALUE
91
- RubyFrom64BitInt(PRUint64 aNative)
92
- {
93
- PRUint64 lo64, hi64;
94
- LL_L2UI(lo64, aNative);
95
- LL_SHR(hi64, aNative, 32);
96
- {
97
- VALUE lo = UINT2NUM(lo64);
98
- VALUE hi = UINT2NUM(hi64);
99
- VALUE hiRuby = rb_funcall(hi, id_lshift, 1, INT2FIX(32));
100
- return rb_funcall(hiRuby, id_plus, 1, lo);
101
- }
102
- }
103
-
104
- static inline VALUE
105
- PRUint64ToRuby(PRUint64 aNative)
106
- {
107
- return RubyFrom64BitInt(aNative);
108
- }
109
-
110
- static VALUE
111
- PRInt64ToRuby(PRInt64 aNative)
112
- {
113
- if(LL_CMP(aNative, <, LL_ZERO))
114
- {
115
- PRUint64 abs64;
116
- LL_NEG(abs64, aNative);
117
- return rb_funcall(RubyFrom64BitInt(abs64), id_uminus, 0);
118
- }
119
- else
120
- return RubyFrom64BitInt((PRUint64)aNative);
121
- }
122
-
123
- /* end of ripping */
124
- /**********************************************************************/
125
-
23
+ /* Deprecated. Use RB_LL2NUM() directly. */
126
24
  VALUE
127
25
  rbglib_int64_to_num(guint64 val)
128
26
  {
129
- return PRInt64ToRuby(val);
27
+ return RB_LL2NUM(val);
130
28
  }
131
29
 
30
+ /* Deprecated. Use RB_ULL2NUM() directly. */
132
31
  VALUE
133
32
  rbglib_uint64_to_num(guint64 val)
134
33
  {
135
- return PRUint64ToRuby(val);
34
+ return RB_ULL2NUM(val);
136
35
  }
137
36
 
37
+ /* Deprecated. Use RB_NUM2LL() directly. */
138
38
  gint64
139
39
  rbglib_num_to_int64(VALUE val)
140
40
  {
141
- return RubyToPRInt64(val);
41
+ return RB_NUM2LL(val);
142
42
  }
143
43
 
44
+ /* Deprecated. Use RB_NUM2ULL() directly. */
144
45
  guint64
145
46
  rbglib_num_to_uint64(VALUE val)
146
47
  {
147
- return RubyToPRUint64(val);
148
- }
149
-
150
- /**********************************************************************/
151
-
152
- void
153
- Init_glib_int64(void)
154
- {
155
- id_and = rb_intern("&");
156
- id_rshift = rb_intern(">>");
157
- id_lshift = rb_intern("<<");
158
- id_lt = rb_intern("<");
159
- id_plus = rb_intern("+");
160
- id_uminus = rb_intern("-@");
161
- id_abs = rb_intern("abs");
162
-
163
- rb_global_variable(&max_PRUint32);
164
- max_PRUint32 = UINT2NUM(0xffffffffL);
48
+ return RB_NUM2ULL(val);
165
49
  }
@@ -638,7 +638,7 @@ rg_s_try_convert(VALUE self, VALUE value)
638
638
  return value;
639
639
 
640
640
  if (RVAL2CBOOL(rb_obj_is_kind_of(value, rb_cInteger))) {
641
- GType gtype = NUM2ULONG(value);
641
+ GType gtype = NUM2SIZET(value);
642
642
  if (!g_type_name(gtype))
643
643
  return Qnil;
644
644
  return rb_funcall(self, id_new, 1, value);
@@ -672,7 +672,7 @@ rg_s_try_convert(VALUE self, VALUE value)
672
672
  } else {
673
673
  Data_Get_Struct(data, RGObjClassInfo, cinfo);
674
674
  }
675
- return rb_funcall(self, id_new, 1, ULONG2NUM(cinfo->gtype));
675
+ return rb_funcall(self, id_new, 1, SIZET2NUM(cinfo->gtype));
676
676
  }
677
677
  return Qnil;
678
678
  }
@@ -374,7 +374,7 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
374
374
 
375
375
  rb_scan_args(argc, argv, "11", &rb_gtype, &rb_value);
376
376
 
377
- g_value_init(&value, NUM2ULONG(rb_to_int(rb_gtype)));
377
+ g_value_init(&value, NUM2SIZET(rb_to_int(rb_gtype)));
378
378
  if (argc == 2) {
379
379
  rbgobj_rvalue_to_gvalue(rb_value, &value);
380
380
  }
@@ -146,7 +146,6 @@ G_GNUC_INTERNAL void Init_glib_gc(void);
146
146
  G_GNUC_INTERNAL void Init_gutil(void);
147
147
  G_GNUC_INTERNAL void Init_gutil_callback(void);
148
148
  G_GNUC_INTERNAL void Init_glib_gettext(void);
149
- G_GNUC_INTERNAL void Init_glib_int64(void);
150
149
  G_GNUC_INTERNAL void Init_glib_error(void);
151
150
  G_GNUC_INTERNAL void Init_glib_error_conversions(void);
152
151
  G_GNUC_INTERNAL void Init_glib_threads(void);
data/test/test-glib2.rb CHANGED
@@ -1,6 +1,4 @@
1
- # coding: ascii-8bit
2
- #
3
- # Copyright (C) 2015-2022 Ruby-GNOME Project Team
1
+ # Copyright (C) 2015-2024 Ruby-GNOME Project Team
4
2
  #
5
3
  # This library is free software; you can redistribute it and/or
6
4
  # modify it under the terms of the GNU Lesser General Public
@@ -49,9 +47,12 @@ class TestGLib < Test::Unit::TestCase
49
47
  def test_convert
50
48
  assert_kind_of(String, GLib.charset)
51
49
 
52
- sjis = "\202\261\202\361\202\311\202\277\202\315\220\242\212E".force_encoding("Shift_JIS")
53
- euc = "\244\263\244\363\244\313\244\301\244\317\300\244\263\246".force_encoding("EUC-JP")
54
- utf8 = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257\344\270\226\347\225\214".force_encoding("UTF-8")
50
+ # U+3042 HIRAGANA LETTER A
51
+ # U+3044 HIRAGANA LETTER I
52
+ # U+3046 HIRAGANA LETTER U
53
+ utf8 = "\u3042\u3044\u3046"
54
+ sjis = utf8.encode("Shift_JIS")
55
+ euc = utf8.encode("EUC-JP")
55
56
  assert_equal(utf8, GLib.convert(sjis, "UTF-8", "SHIFT_JIS"))
56
57
  assert_equal(euc, GLib.convert(sjis, "EUC-JP", "SHIFT_JIS"))
57
58
  assert_equal(sjis, GLib.convert(sjis, "SHIFT_JIS", "SHIFT_JIS"))
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glib2
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.2.4
4
+ version: 4.2.5
5
5
  platform: ruby
6
+ original_platform: ''
6
7
  authors:
7
8
  - The Ruby-GNOME Project Team
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2024-09-23 00:00:00.000000000 Z
11
+ date: 2024-12-15 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: pkg-config