gir_ffi 0.16.1 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +19 -0
- data/lib/ffi-glib/bytes.rb +2 -2
- data/lib/ffi-gobject/object.rb +8 -8
- data/lib/ffi-gobject.rb +2 -2
- data/lib/ffi-gobject_introspection/gobject_type_init.rb +1 -1
- data/lib/ffi-gobject_introspection/lib.rb +1 -1
- data/lib/gir_ffi/array_element_convertor.rb +1 -1
- data/lib/gir_ffi/builders/argument_builder.rb +2 -2
- data/lib/gir_ffi/builders/argument_builder_collection.rb +1 -0
- data/lib/gir_ffi/builders/method_template.rb +1 -1
- data/lib/gir_ffi/builders/user_defined_builder.rb +1 -1
- data/lib/gir_ffi/class_base.rb +4 -4
- data/lib/gir_ffi/enum_like_base.rb +2 -2
- data/lib/gir_ffi/in_pointer.rb +2 -2
- data/lib/gir_ffi/info_ext/i_signal_info.rb +2 -2
- data/lib/gir_ffi/interface_base.rb +2 -2
- data/lib/gir_ffi/module_base.rb +2 -2
- data/lib/gir_ffi/type_map.rb +1 -1
- data/lib/gir_ffi/unintrospectable_signal_info.rb +2 -2
- data/lib/gir_ffi/version.rb +1 -1
- data/lib/gir_ffi-base/gobject/lib.rb +1 -1
- metadata +30 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a0a971b16d81d55e25b0944aaaf1ae8c28e8546a416b699902e7f254e5ae79d
|
4
|
+
data.tar.gz: 5ef09a4c0f0e2f3fbf9afc7c0de7878fa9e44e65a4808a5f0489119139dcc8b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35c6e4c0d8f99d790685fc7c4f3a7ad1dcd602696b204c52dc837cc361c7843e0b57887f06e3aca96c55d75e651dac26add7c677d01ddbe3ae275e91615c84fd
|
7
|
+
data.tar.gz: a516176df5475cdc56995c20c84f50bc906e9c3c299c577d3354d9059db07b1deb412a1902c9ca1bc07f43849524a5b93c3659fc6489e172b5b8f24f03aba4c2
|
data/Changelog.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 0.18.0 / 2025-02-07
|
4
|
+
|
5
|
+
* Update contribution guidelines ([#360] by [mvz])
|
6
|
+
* Support Ruby 3.1 through 3.4, dripping support for Ruby 3.0 ([#366] by [mvz])
|
7
|
+
* Load gobject-2.0 library in a way that does not require the dev package
|
8
|
+
([#367] by [mvz])
|
9
|
+
* Update tests for compatibility with GObjectIntrospection 1.81.2 ([#378] by [mvz])
|
10
|
+
|
11
|
+
[#360]: https://github.com/mvz/gir_ffi/pull/360
|
12
|
+
[#366]: https://github.com/mvz/gir_ffi/pull/366
|
13
|
+
[#367]: https://github.com/mvz/gir_ffi/pull/367
|
14
|
+
[#378]: https://github.com/mvz/gir_ffi/pull/378
|
15
|
+
|
16
|
+
## 0.17.0 / 2023-12-31
|
17
|
+
|
18
|
+
* Support Ruby 3.0 and up, dropping support for Ruby 2.7 ([#356] by [mvz])
|
19
|
+
|
20
|
+
[#356]: https://github.com/mvz/gir_ffi/pull/356
|
21
|
+
|
3
22
|
## 0.16.1 / 2023-10-07
|
4
23
|
|
5
24
|
* Support Ruby 3.2 ([#331] by [mvz])
|
data/lib/ffi-glib/bytes.rb
CHANGED
data/lib/ffi-gobject/object.rb
CHANGED
@@ -11,9 +11,9 @@ module GObject
|
|
11
11
|
[:size_t, :uint32, :pointer, :pointer],
|
12
12
|
:pointer)
|
13
13
|
|
14
|
-
def self.new_with_properties(
|
14
|
+
def self.new_with_properties(...)
|
15
15
|
obj = allocate
|
16
|
-
obj.__send__
|
16
|
+
obj.__send__(:initialize_with_properties, ...)
|
17
17
|
obj
|
18
18
|
end
|
19
19
|
|
@@ -37,9 +37,9 @@ module GObject
|
|
37
37
|
alias_method :initialize, :initialize_with_properties
|
38
38
|
remove_method :old_initialze
|
39
39
|
|
40
|
-
def self.new(
|
40
|
+
def self.new(...)
|
41
41
|
obj = allocate
|
42
|
-
obj.__send__
|
42
|
+
obj.__send__(:initialize, ...)
|
43
43
|
obj
|
44
44
|
end
|
45
45
|
|
@@ -71,12 +71,12 @@ module GObject
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
def signal_connect(event, data = nil, &
|
75
|
-
GObject.signal_connect(self, event, data, &
|
74
|
+
def signal_connect(event, data = nil, &)
|
75
|
+
GObject.signal_connect(self, event, data, &)
|
76
76
|
end
|
77
77
|
|
78
|
-
def signal_connect_after(event, data = nil, &
|
79
|
-
GObject.signal_connect_after(self, event, data, &
|
78
|
+
def signal_connect_after(event, data = nil, &)
|
79
|
+
GObject.signal_connect_after(self, event, data, &)
|
80
80
|
end
|
81
81
|
|
82
82
|
setup_instance_method! "get_property"
|
data/lib/ffi-gobject.rb
CHANGED
@@ -60,8 +60,8 @@ module GObject
|
|
60
60
|
signal_connect_closure object, detailed_signal, closure, after
|
61
61
|
end
|
62
62
|
|
63
|
-
def self.signal_connect_after(object, detailed_signal, data = nil, &
|
64
|
-
signal_connect
|
63
|
+
def self.signal_connect_after(object, detailed_signal, data = nil, &)
|
64
|
+
signal_connect(object, detailed_signal, data, true, &)
|
65
65
|
end
|
66
66
|
|
67
67
|
load_class :Callback
|
@@ -258,7 +258,7 @@ module GObjectIntrospection
|
|
258
258
|
|
259
259
|
# Union type representing an argument value
|
260
260
|
class GIArgument < FFI::Union
|
261
|
-
signed_size_t = "int#{FFI.type_size(:size_t) * 8}"
|
261
|
+
signed_size_t = :"int#{FFI.type_size(:size_t) * 8}"
|
262
262
|
|
263
263
|
layout :v_boolean, :int,
|
264
264
|
:v_int8, :int8,
|
@@ -164,7 +164,7 @@ module GirFFI
|
|
164
164
|
end
|
165
165
|
|
166
166
|
def has_output_value?
|
167
|
-
|
167
|
+
[:inout, :out].include?(direction) && !skipped_out?
|
168
168
|
end
|
169
169
|
|
170
170
|
def has_input_value?
|
@@ -172,7 +172,7 @@ module GirFFI
|
|
172
172
|
end
|
173
173
|
|
174
174
|
def has_ingoing_component?
|
175
|
-
|
175
|
+
[:inout, :in].include?(direction)
|
176
176
|
end
|
177
177
|
|
178
178
|
def array_length_assignment
|
@@ -76,6 +76,7 @@ module GirFFI
|
|
76
76
|
@base_argument_builders.each do |bldr|
|
77
77
|
if (idx = bldr.closure_idx) >= 0
|
78
78
|
target_bldr = @base_argument_builders[idx]
|
79
|
+
# NOTE: Only needed for GObjectIntrospection versions 1.67.1 through 1.80.1
|
79
80
|
unless target_bldr.specialized_type_tag == :void
|
80
81
|
target_bldr, bldr = bldr, target_bldr
|
81
82
|
end
|
@@ -18,7 +18,7 @@ module GirFFI
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def method_definition
|
21
|
-
code =
|
21
|
+
code = "def #{qualified_method_name}"
|
22
22
|
code << "(#{method_arguments.join(", ")})" if method_arguments.any?
|
23
23
|
method_lines.each { |line| code << "\n #{line}" }
|
24
24
|
code << "\nend\n"
|
@@ -128,7 +128,7 @@ module GirFFI
|
|
128
128
|
|
129
129
|
def property_setter_func
|
130
130
|
setter = proc do |object, _property_id, value, pspec|
|
131
|
-
object.send("#{pspec.accessor_name}=", value.get_value)
|
131
|
+
object.send(:"#{pspec.accessor_name}=", value.get_value)
|
132
132
|
end
|
133
133
|
GObject::ObjectSetPropertyFunc.from setter
|
134
134
|
end
|
data/lib/gir_ffi/class_base.rb
CHANGED
@@ -21,24 +21,24 @@ module GirFFI
|
|
21
21
|
|
22
22
|
def_delegators :@struct, :to_ptr
|
23
23
|
|
24
|
-
def setup_and_call(method, arguments, &
|
24
|
+
def setup_and_call(method, arguments, &)
|
25
25
|
method_name = self.class.try_in_ancestors(:setup_instance_method, method.to_s)
|
26
26
|
|
27
27
|
raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
|
28
28
|
|
29
|
-
send
|
29
|
+
send(method_name, *arguments, &)
|
30
30
|
end
|
31
31
|
|
32
32
|
def ==(other)
|
33
33
|
other.class == self.class && to_ptr == other.to_ptr
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.setup_and_call(method, arguments, &
|
36
|
+
def self.setup_and_call(method, arguments, &)
|
37
37
|
method_name = try_in_ancestors(:setup_method, method.to_s)
|
38
38
|
|
39
39
|
raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
|
40
40
|
|
41
|
-
send
|
41
|
+
send(method_name, *arguments, &)
|
42
42
|
end
|
43
43
|
|
44
44
|
def self.try_in_ancestors(method, *arguments)
|
@@ -30,12 +30,12 @@ module GirFFI
|
|
30
30
|
from_native pointer.get_int32(offset), nil
|
31
31
|
end
|
32
32
|
|
33
|
-
def setup_and_call(method, arguments, &
|
33
|
+
def setup_and_call(method, arguments, &)
|
34
34
|
result = setup_method method.to_s
|
35
35
|
|
36
36
|
raise "Unable to set up method #{method} in #{self}" unless result
|
37
37
|
|
38
|
-
send
|
38
|
+
send(method, *arguments, &)
|
39
39
|
end
|
40
40
|
|
41
41
|
def to_ffi_type
|
data/lib/gir_ffi/in_pointer.rb
CHANGED
@@ -57,7 +57,7 @@ module GirFFI
|
|
57
57
|
ffi_type = TypeMap.type_specification_to_ffi_type type
|
58
58
|
FFI::MemoryPointer.new(ffi_type).tap do |block|
|
59
59
|
block.autorelease = false
|
60
|
-
block.send "put_#{ffi_type}", 0, value
|
60
|
+
block.send :"put_#{ffi_type}", 0, value
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
@@ -137,7 +137,7 @@ module GirFFI
|
|
137
137
|
type_size = FFI.type_size(ffi_type)
|
138
138
|
FFI::MemoryPointer.new(type_size * (ary.length + 1)).tap do |block|
|
139
139
|
block.autorelease = false
|
140
|
-
block.send "put_array_of_#{ffi_type}", 0, ary
|
140
|
+
block.send :"put_array_of_#{ffi_type}", 0, ary
|
141
141
|
end
|
142
142
|
end
|
143
143
|
end
|
@@ -11,9 +11,9 @@ module GirFFI
|
|
11
11
|
#
|
12
12
|
# @return [GObject::RubyClosure] The signal handler closure, ready to be
|
13
13
|
# passed as a GClosure to C.
|
14
|
-
def wrap_in_closure(&
|
14
|
+
def wrap_in_closure(&)
|
15
15
|
bldr = Builders::SignalClosureBuilder.new(self)
|
16
|
-
bldr.build_class.new(&
|
16
|
+
bldr.build_class.new(&)
|
17
17
|
end
|
18
18
|
|
19
19
|
def arguments_to_gvalues(instance, arguments)
|
@@ -11,11 +11,11 @@ module GirFFI
|
|
11
11
|
include MethodSetup
|
12
12
|
include InstanceMethodSetup
|
13
13
|
|
14
|
-
def setup_and_call(method, arguments, &
|
14
|
+
def setup_and_call(method, arguments, &)
|
15
15
|
method_name = setup_method method.to_s
|
16
16
|
raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
|
17
17
|
|
18
|
-
send
|
18
|
+
send(method_name, *arguments, &)
|
19
19
|
end
|
20
20
|
|
21
21
|
# TODO: Unify with implementation in ObjectBase
|
data/lib/gir_ffi/module_base.rb
CHANGED
@@ -7,11 +7,11 @@ module GirFFI
|
|
7
7
|
module ModuleBase
|
8
8
|
include MethodSetup
|
9
9
|
|
10
|
-
def method_missing(method,
|
10
|
+
def method_missing(method, ...)
|
11
11
|
result = setup_method method.to_s
|
12
12
|
return super unless result
|
13
13
|
|
14
|
-
send
|
14
|
+
send(method, ...)
|
15
15
|
end
|
16
16
|
|
17
17
|
def respond_to_missing?(method, *)
|
data/lib/gir_ffi/type_map.rb
CHANGED
data/lib/gir_ffi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gir_ffi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matijs van Zuijlen
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-02-07 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: ffi
|
@@ -58,6 +57,26 @@ dependencies:
|
|
58
57
|
- - "~>"
|
59
58
|
- !ruby/object:Gem::Version
|
60
59
|
version: '2.0'
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: cucumber
|
62
|
+
requirement: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '9.2'
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 9.2.1
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '9.2'
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 9.2.1
|
61
80
|
- !ruby/object:Gem::Dependency
|
62
81
|
name: minitest
|
63
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -154,28 +173,28 @@ dependencies:
|
|
154
173
|
requirements:
|
155
174
|
- - "~>"
|
156
175
|
- !ruby/object:Gem::Version
|
157
|
-
version: '1.
|
176
|
+
version: '1.63'
|
158
177
|
type: :development
|
159
178
|
prerelease: false
|
160
179
|
version_requirements: !ruby/object:Gem::Requirement
|
161
180
|
requirements:
|
162
181
|
- - "~>"
|
163
182
|
- !ruby/object:Gem::Version
|
164
|
-
version: '1.
|
183
|
+
version: '1.63'
|
165
184
|
- !ruby/object:Gem::Dependency
|
166
185
|
name: rubocop-minitest
|
167
186
|
requirement: !ruby/object:Gem::Requirement
|
168
187
|
requirements:
|
169
188
|
- - "~>"
|
170
189
|
- !ruby/object:Gem::Version
|
171
|
-
version: 0.
|
190
|
+
version: 0.36.0
|
172
191
|
type: :development
|
173
192
|
prerelease: false
|
174
193
|
version_requirements: !ruby/object:Gem::Requirement
|
175
194
|
requirements:
|
176
195
|
- - "~>"
|
177
196
|
- !ruby/object:Gem::Version
|
178
|
-
version: 0.
|
197
|
+
version: 0.36.0
|
179
198
|
- !ruby/object:Gem::Dependency
|
180
199
|
name: rubocop-packaging
|
181
200
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,14 +215,14 @@ dependencies:
|
|
196
215
|
requirements:
|
197
216
|
- - "~>"
|
198
217
|
- !ruby/object:Gem::Version
|
199
|
-
version: '1.
|
218
|
+
version: '1.20'
|
200
219
|
type: :development
|
201
220
|
prerelease: false
|
202
221
|
version_requirements: !ruby/object:Gem::Requirement
|
203
222
|
requirements:
|
204
223
|
- - "~>"
|
205
224
|
- !ruby/object:Gem::Version
|
206
|
-
version: '1.
|
225
|
+
version: '1.20'
|
207
226
|
- !ruby/object:Gem::Dependency
|
208
227
|
name: simplecov
|
209
228
|
requirement: !ruby/object:Gem::Requirement
|
@@ -423,7 +442,6 @@ metadata:
|
|
423
442
|
source_code_uri: https://github.com/mvz/gir_ffi
|
424
443
|
changelog_uri: https://github.com/mvz/gir_ffi/blob/master/Changelog.md
|
425
444
|
rubygems_mfa_required: 'true'
|
426
|
-
post_install_message:
|
427
445
|
rdoc_options:
|
428
446
|
- "--main"
|
429
447
|
- README.md
|
@@ -433,15 +451,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
433
451
|
requirements:
|
434
452
|
- - ">="
|
435
453
|
- !ruby/object:Gem::Version
|
436
|
-
version:
|
454
|
+
version: 3.1.0
|
437
455
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
438
456
|
requirements:
|
439
457
|
- - ">="
|
440
458
|
- !ruby/object:Gem::Version
|
441
459
|
version: '0'
|
442
460
|
requirements: []
|
443
|
-
rubygems_version: 3.
|
444
|
-
signing_key:
|
461
|
+
rubygems_version: 3.6.2
|
445
462
|
specification_version: 4
|
446
463
|
summary: FFI-based GObject binding using the GObject Introspection Repository
|
447
464
|
test_files: []
|