ffi 1.15.0-x86-mingw32 → 1.15.4-x86-mingw32

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: bca90b754dabdecb1981a46109e6f95a1951e57b9f337642aefcf080e16a9188
4
- data.tar.gz: 5784310abafaad3ce60ba0ed8a1c25f6ec0f6ab775ef26fe0f9d5b516a971939
3
+ metadata.gz: 3ac0c66731110d7438867fa88931922a5181bb1f8e4196a74ca3626e00e6d7ef
4
+ data.tar.gz: c65f8aa6c8c872c07ae44d038f249fd2f1edd65b3c9e12b98fd99dff8019fe21
5
5
  SHA512:
6
- metadata.gz: 1548a73bb78eb37e8bd1843833836e9d1fe2b0c2786259220586169053b2cecf767503038afebf24833263fe8b163c6232cfd1a132a8975a9a620002dc4e69ed
7
- data.tar.gz: aa22278bdd9289372df04ef62d0f1c8cede44e9807bd4cd7e58985e9e3c61251f4bbee8cdb50dfad0f5ce4864ae9c29f9004b0c8fdab668b9fa8e5b82bc99170
6
+ metadata.gz: 13f7f4e28c69d8e421629aca40f6b18e54605881104a1390b3eef1a36e19c867ee6236a2c0198eb92e902f66631c6c3beb6ab76b785406809b9ee06fa2e63360
7
+ data.tar.gz: c9348adda6016f893632cf58c206bc0d44221355815037485b00b785b9f8a8112d04a0d4314dc854fb829e21ae9f1607b8f7658f4d7964c1f20dde1f0db56b5f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,41 @@
1
+ 1.15.4 / 2021-09-01
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix build for uClibc. #913
6
+ * Correct module lookup when including `ffi-module` gem. #912
7
+
8
+ Changed:
9
+ * Use ruby code of the ffi gem in JRuby-9.2.20+. #915
10
+
11
+
12
+ 1.15.3 / 2021-06-16
13
+ -------------------
14
+
15
+ Fixed:
16
+ * Fix temporary packaging issue with libffi. #904
17
+
18
+
19
+ 1.15.2 / 2021-06-16
20
+ -------------------
21
+
22
+ Added:
23
+ * Add support for Windows MINGW-UCRT build. #903
24
+ * Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882
25
+
26
+ Changed:
27
+ * Regenerate `types.conf` for FreeBSD12 aarch64. #902
28
+
29
+
30
+ 1.15.1 / 2021-05-22
31
+ -------------------
32
+
33
+ Fixed:
34
+ * Append -pthread to linker options. #893
35
+ * Use arm or aarch64 to identify Apple ARM CPU arch. #899
36
+ * Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`. #897
37
+
38
+
1
39
  1.15.0 / 2021-03-05
2
40
  -------------------
3
41
 
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ group :development do
5
5
  gem 'rake-compiler', '~> 1.0.3'
6
6
  gem 'rake-compiler-dock', '~> 1.0'
7
7
  gem 'rspec', '~> 3.0'
8
- gem 'bundler', '~> 2.0'
8
+ gem 'bundler', '>= 1.16', '< 3'
9
9
  end
10
10
 
11
11
  group :doc do
data/README.md CHANGED
@@ -62,6 +62,10 @@ On JRuby and TruffleRuby, there are no requirements to install the FFI gem, and
62
62
  From rubygems:
63
63
 
64
64
  [sudo] gem install ffi
65
+
66
+ From a Gemfile using git or GitHub
67
+
68
+ gem 'ffi', github: 'ffi/ffi', submodules: true
65
69
 
66
70
  or from the git repository on github:
67
71
 
data/Rakefile CHANGED
@@ -86,7 +86,7 @@ task 'gem:java' => 'java:gem'
86
86
 
87
87
  FfiGemHelper.install_tasks
88
88
  # Register windows gems to be pushed to rubygems.org
89
- Bundler::GemHelper.instance.cross_platforms = %w[i386-mingw32 x64-mingw32]
89
+ Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw32]
90
90
 
91
91
  if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
92
92
  require 'rake/extensiontask'
data/ffi.gemspec CHANGED
@@ -39,5 +39,4 @@ Gem::Specification.new do |s|
39
39
  s.add_development_dependency 'rake-compiler', '~> 1.0'
40
40
  s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
41
41
  s.add_development_dependency 'rspec', '~> 2.14.1'
42
- s.add_development_dependency 'rubygems-tasks', "~> 0.2.4"
43
42
  end
data/lib/2.3/ffi_c.so CHANGED
Binary file
data/lib/2.4/ffi_c.so CHANGED
Binary file
data/lib/2.5/ffi_c.so CHANGED
Binary file
data/lib/2.6/ffi_c.so CHANGED
Binary file
data/lib/2.7/ffi_c.so CHANGED
Binary file
data/lib/3.0/ffi_c.so CHANGED
Binary file
data/lib/ffi/library.rb CHANGED
@@ -84,7 +84,7 @@ module FFI
84
84
  # @raise {RuntimeError} if +mod+ is not a Module
85
85
  # Test if extended object is a Module. If not, raise RuntimeError.
86
86
  def self.extended(mod)
87
- raise RuntimeError.new("must only be extended by module") unless mod.kind_of?(Module)
87
+ raise RuntimeError.new("must only be extended by module") unless mod.kind_of?(::Module)
88
88
  end
89
89
 
90
90
 
@@ -126,7 +126,7 @@ module FFI
126
126
  else
127
127
  # TODO better library lookup logic
128
128
  unless libname.start_with?("/") || FFI::Platform.windows?
129
- path = ['/usr/lib/','/usr/local/lib/','/opt/local/lib/'].find do |pth|
129
+ path = ['/usr/lib/','/usr/local/lib/','/opt/local/lib/', '/opt/homebrew/lib/'].find do |pth|
130
130
  File.exist?(pth + libname)
131
131
  end
132
132
  if path
@@ -39,9 +39,9 @@ rbx.platform.typedef.__segsz_t = int
39
39
  rbx.platform.typedef.__size_t = ulong
40
40
  rbx.platform.typedef.__socklen_t = uint
41
41
  rbx.platform.typedef.__ssize_t = long
42
- rbx.platform.typedef.__suseconds_t = int
42
+ rbx.platform.typedef.__suseconds_t = long
43
43
  rbx.platform.typedef.__swblk_t = int
44
- rbx.platform.typedef.__time_t = int
44
+ rbx.platform.typedef.__time_t = long
45
45
  rbx.platform.typedef.__timer_t = int
46
46
  rbx.platform.typedef.__uid_t = uint
47
47
  rbx.platform.typedef.__uint16_t = ushort
@@ -1,128 +1,181 @@
1
+ rbx.platform.typedef.*) = pointer
2
+ rbx.platform.typedef.___wchar_t = uint
3
+ rbx.platform.typedef.__accmode_t = int
4
+ rbx.platform.typedef.__blkcnt_t = long
5
+ rbx.platform.typedef.__blksize_t = int
6
+ rbx.platform.typedef.__char16_t = ushort
7
+ rbx.platform.typedef.__char32_t = uint
1
8
  rbx.platform.typedef.__clock_t = int
2
9
  rbx.platform.typedef.__clockid_t = int
3
- rbx.platform.typedef.__cpuid_t = ulong
4
- rbx.platform.typedef.__dev_t = ulong_long
5
- rbx.platform.typedef.__fd_mask = int
10
+ rbx.platform.typedef.__cpulevel_t = int
11
+ rbx.platform.typedef.__cpusetid_t = int
12
+ rbx.platform.typedef.__cpuwhich_t = int
13
+ rbx.platform.typedef.__critical_t = long
14
+ rbx.platform.typedef.__ct_rune_t = int
15
+ rbx.platform.typedef.__daddr_t = long
16
+ rbx.platform.typedef.__dev_t = ulong
17
+ rbx.platform.typedef.__fd_mask = ulong
18
+ rbx.platform.typedef.__fflags_t = uint
6
19
  rbx.platform.typedef.__fixpt_t = uint
20
+ rbx.platform.typedef.__fsblkcnt_t = ulong
21
+ rbx.platform.typedef.__fsfilcnt_t = ulong
7
22
  rbx.platform.typedef.__gid_t = uint
8
- rbx.platform.typedef.__id_t = uint
9
- rbx.platform.typedef.__in_addr_t = uint
10
- rbx.platform.typedef.__in_port_t = ushort
11
- rbx.platform.typedef.__ino_t = ulong_long
23
+ rbx.platform.typedef.__id_t = long
24
+ rbx.platform.typedef.__ino_t = ulong
12
25
  rbx.platform.typedef.__int16_t = short
13
26
  rbx.platform.typedef.__int32_t = int
14
- rbx.platform.typedef.__int64_t = long_long
27
+ rbx.platform.typedef.__int64_t = long
15
28
  rbx.platform.typedef.__int8_t = char
16
29
  rbx.platform.typedef.__int_fast16_t = int
17
30
  rbx.platform.typedef.__int_fast32_t = int
18
- rbx.platform.typedef.__int_fast64_t = long_long
31
+ rbx.platform.typedef.__int_fast64_t = long
19
32
  rbx.platform.typedef.__int_fast8_t = int
20
33
  rbx.platform.typedef.__int_least16_t = short
21
34
  rbx.platform.typedef.__int_least32_t = int
22
- rbx.platform.typedef.__int_least64_t = long_long
35
+ rbx.platform.typedef.__int_least64_t = long
23
36
  rbx.platform.typedef.__int_least8_t = char
24
- rbx.platform.typedef.__intmax_t = long_long
37
+ rbx.platform.typedef.__intfptr_t = long
38
+ rbx.platform.typedef.__intmax_t = long
25
39
  rbx.platform.typedef.__intptr_t = long
26
40
  rbx.platform.typedef.__key_t = long
27
- rbx.platform.typedef.__mode_t = uint
28
- rbx.platform.typedef.__nlink_t = ulong_long
29
- rbx.platform.typedef.__off_t = long_long
30
- rbx.platform.typedef.__paddr_t = ulong
41
+ rbx.platform.typedef.__lwpid_t = int
42
+ rbx.platform.typedef.__mode_t = ushort
43
+ rbx.platform.typedef.__nl_item = int
44
+ rbx.platform.typedef.__nlink_t = ulong
45
+ rbx.platform.typedef.__off64_t = long
46
+ rbx.platform.typedef.__off_t = long
31
47
  rbx.platform.typedef.__pid_t = int
32
- rbx.platform.typedef.__psize_t = ulong
33
48
  rbx.platform.typedef.__ptrdiff_t = long
34
- rbx.platform.typedef.__register_t = long_long
35
- rbx.platform.typedef.__rlim_t = ulong_long
49
+ rbx.platform.typedef.__register_t = long
50
+ rbx.platform.typedef.__rlim_t = long
51
+ rbx.platform.typedef.__rman_res_t = ulong
36
52
  rbx.platform.typedef.__rune_t = int
37
53
  rbx.platform.typedef.__sa_family_t = uchar
38
- rbx.platform.typedef.__segsz_t = int
54
+ rbx.platform.typedef.__segsz_t = long
39
55
  rbx.platform.typedef.__size_t = ulong
40
56
  rbx.platform.typedef.__socklen_t = uint
41
57
  rbx.platform.typedef.__ssize_t = long
42
- rbx.platform.typedef.__suseconds_t = int
43
- rbx.platform.typedef.__swblk_t = int
44
- rbx.platform.typedef.__time_t = int
45
- rbx.platform.typedef.__timer_t = int
58
+ rbx.platform.typedef.__suseconds_t = long
59
+ rbx.platform.typedef.__time_t = long
60
+ rbx.platform.typedef.__u_register_t = ulong
46
61
  rbx.platform.typedef.__uid_t = uint
47
62
  rbx.platform.typedef.__uint16_t = ushort
48
63
  rbx.platform.typedef.__uint32_t = uint
49
- rbx.platform.typedef.__uint64_t = ulong_long
64
+ rbx.platform.typedef.__uint64_t = ulong
50
65
  rbx.platform.typedef.__uint8_t = uchar
51
66
  rbx.platform.typedef.__uint_fast16_t = uint
52
67
  rbx.platform.typedef.__uint_fast32_t = uint
53
- rbx.platform.typedef.__uint_fast64_t = ulong_long
68
+ rbx.platform.typedef.__uint_fast64_t = ulong
54
69
  rbx.platform.typedef.__uint_fast8_t = uint
55
70
  rbx.platform.typedef.__uint_least16_t = ushort
56
71
  rbx.platform.typedef.__uint_least32_t = uint
57
- rbx.platform.typedef.__uint_least64_t = ulong_long
72
+ rbx.platform.typedef.__uint_least64_t = ulong
58
73
  rbx.platform.typedef.__uint_least8_t = uchar
59
- rbx.platform.typedef.__uintmax_t = ulong_long
74
+ rbx.platform.typedef.__uintfptr_t = ulong
75
+ rbx.platform.typedef.__uintmax_t = ulong
60
76
  rbx.platform.typedef.__uintptr_t = ulong
61
77
  rbx.platform.typedef.__useconds_t = uint
62
- rbx.platform.typedef.__vaddr_t = ulong
63
- rbx.platform.typedef.__vsize_t = ulong
64
- rbx.platform.typedef.__wchar_t = int
65
- rbx.platform.typedef.__wctrans_t = pointer
66
- rbx.platform.typedef.__wctype_t = pointer
78
+ rbx.platform.typedef.__vm_offset_t = ulong
79
+ rbx.platform.typedef.__vm_paddr_t = ulong
80
+ rbx.platform.typedef.__vm_size_t = ulong
67
81
  rbx.platform.typedef.__wint_t = int
82
+ rbx.platform.typedef.accmode_t = int
83
+ rbx.platform.typedef.blkcnt_t = long
84
+ rbx.platform.typedef.blksize_t = int
85
+ rbx.platform.typedef.c_caddr_t = pointer
68
86
  rbx.platform.typedef.caddr_t = string
87
+ rbx.platform.typedef.cap_ioctl_t = ulong
69
88
  rbx.platform.typedef.clock_t = int
70
89
  rbx.platform.typedef.clockid_t = int
71
- rbx.platform.typedef.cpuid_t = ulong
72
- rbx.platform.typedef.daddr32_t = int
73
- rbx.platform.typedef.daddr64_t = long_long
74
- rbx.platform.typedef.daddr_t = int
75
- rbx.platform.typedef.dev_t = ulong_long
90
+ rbx.platform.typedef.cpulevel_t = int
91
+ rbx.platform.typedef.cpusetid_t = int
92
+ rbx.platform.typedef.cpuwhich_t = int
93
+ rbx.platform.typedef.critical_t = long
94
+ rbx.platform.typedef.daddr_t = long
95
+ rbx.platform.typedef.dev_t = ulong
96
+ rbx.platform.typedef.fd_mask = ulong
97
+ rbx.platform.typedef.fflags_t = uint
76
98
  rbx.platform.typedef.fixpt_t = uint
99
+ rbx.platform.typedef.fsblkcnt_t = ulong
100
+ rbx.platform.typedef.fsfilcnt_t = ulong
77
101
  rbx.platform.typedef.gid_t = uint
78
- rbx.platform.typedef.id_t = uint
102
+ rbx.platform.typedef.id_t = long
79
103
  rbx.platform.typedef.in_addr_t = uint
80
104
  rbx.platform.typedef.in_port_t = ushort
81
- rbx.platform.typedef.ino_t = ulong_long
105
+ rbx.platform.typedef.ino_t = ulong
82
106
  rbx.platform.typedef.int16_t = short
83
107
  rbx.platform.typedef.int32_t = int
84
- rbx.platform.typedef.int64_t = long_long
108
+ rbx.platform.typedef.int64_t = long
85
109
  rbx.platform.typedef.int8_t = char
110
+ rbx.platform.typedef.int_fast16_t = int
111
+ rbx.platform.typedef.int_fast32_t = int
112
+ rbx.platform.typedef.int_fast64_t = long
113
+ rbx.platform.typedef.int_fast8_t = int
114
+ rbx.platform.typedef.int_least16_t = short
115
+ rbx.platform.typedef.int_least32_t = int
116
+ rbx.platform.typedef.int_least64_t = long
117
+ rbx.platform.typedef.int_least8_t = char
118
+ rbx.platform.typedef.intmax_t = long
86
119
  rbx.platform.typedef.intptr_t = long
87
120
  rbx.platform.typedef.key_t = long
88
- rbx.platform.typedef.mode_t = uint
89
- rbx.platform.typedef.nlink_t = ulong_long
90
- rbx.platform.typedef.off_t = long_long
91
- rbx.platform.typedef.paddr_t = ulong
121
+ rbx.platform.typedef.kpaddr_t = ulong
122
+ rbx.platform.typedef.ksize_t = ulong
123
+ rbx.platform.typedef.kssize_t = long
124
+ rbx.platform.typedef.kvaddr_t = ulong
125
+ rbx.platform.typedef.lwpid_t = int
126
+ rbx.platform.typedef.mode_t = ushort
127
+ rbx.platform.typedef.nlink_t = ulong
128
+ rbx.platform.typedef.off64_t = long
129
+ rbx.platform.typedef.off_t = long
92
130
  rbx.platform.typedef.pid_t = int
93
- rbx.platform.typedef.psize_t = ulong
131
+ rbx.platform.typedef.pthread_key_t = int
132
+ rbx.platform.typedef.ptrdiff_t = long
94
133
  rbx.platform.typedef.qaddr_t = pointer
95
- rbx.platform.typedef.quad_t = long_long
96
- rbx.platform.typedef.register_t = long_long
97
- rbx.platform.typedef.rlim_t = ulong_long
134
+ rbx.platform.typedef.quad_t = long
135
+ rbx.platform.typedef.register_t = long
136
+ rbx.platform.typedef.rlim_t = long
137
+ rbx.platform.typedef.rman_res_t = ulong
138
+ rbx.platform.typedef.rsize_t = ulong
139
+ rbx.platform.typedef.rune_t = int
98
140
  rbx.platform.typedef.sa_family_t = uchar
99
- rbx.platform.typedef.segsz_t = int
141
+ rbx.platform.typedef.sbintime_t = long
142
+ rbx.platform.typedef.segsz_t = long
100
143
  rbx.platform.typedef.size_t = ulong
101
144
  rbx.platform.typedef.socklen_t = uint
102
145
  rbx.platform.typedef.ssize_t = long
103
- rbx.platform.typedef.suseconds_t = int
104
- rbx.platform.typedef.swblk_t = int
105
- rbx.platform.typedef.time_t = int
106
- rbx.platform.typedef.timer_t = int
146
+ rbx.platform.typedef.suseconds_t = long
147
+ rbx.platform.typedef.time_t = long
107
148
  rbx.platform.typedef.u_char = uchar
108
149
  rbx.platform.typedef.u_int = uint
109
150
  rbx.platform.typedef.u_int16_t = ushort
110
151
  rbx.platform.typedef.u_int32_t = uint
111
- rbx.platform.typedef.u_int64_t = ulong_long
152
+ rbx.platform.typedef.u_int64_t = ulong
112
153
  rbx.platform.typedef.u_int8_t = uchar
113
154
  rbx.platform.typedef.u_long = ulong
114
- rbx.platform.typedef.u_quad_t = ulong_long
155
+ rbx.platform.typedef.u_quad_t = ulong
156
+ rbx.platform.typedef.u_register_t = ulong
115
157
  rbx.platform.typedef.u_short = ushort
116
158
  rbx.platform.typedef.uid_t = uint
117
159
  rbx.platform.typedef.uint = uint
118
160
  rbx.platform.typedef.uint16_t = ushort
119
161
  rbx.platform.typedef.uint32_t = uint
120
- rbx.platform.typedef.uint64_t = ulong_long
162
+ rbx.platform.typedef.uint64_t = ulong
121
163
  rbx.platform.typedef.uint8_t = uchar
164
+ rbx.platform.typedef.uint_fast16_t = uint
165
+ rbx.platform.typedef.uint_fast32_t = uint
166
+ rbx.platform.typedef.uint_fast64_t = ulong
167
+ rbx.platform.typedef.uint_fast8_t = uint
168
+ rbx.platform.typedef.uint_least16_t = ushort
169
+ rbx.platform.typedef.uint_least32_t = uint
170
+ rbx.platform.typedef.uint_least64_t = ulong
171
+ rbx.platform.typedef.uint_least8_t = uchar
172
+ rbx.platform.typedef.uintmax_t = ulong
122
173
  rbx.platform.typedef.uintptr_t = ulong
123
- rbx.platform.typedef.ulong = ulong
124
- rbx.platform.typedef.unchar = uchar
125
174
  rbx.platform.typedef.useconds_t = uint
126
175
  rbx.platform.typedef.ushort = ushort
127
- rbx.platform.typedef.vaddr_t = ulong
128
- rbx.platform.typedef.vsize_t = ulong
176
+ rbx.platform.typedef.vm_offset_t = ulong
177
+ rbx.platform.typedef.vm_ooffset_t = ulong
178
+ rbx.platform.typedef.vm_paddr_t = ulong
179
+ rbx.platform.typedef.vm_pindex_t = ulong
180
+ rbx.platform.typedef.vm_size_t = ulong
181
+ rbx.platform.typedef.wchar_t = uint
data/lib/ffi/platform.rb CHANGED
@@ -132,11 +132,8 @@ module FFI
132
132
  end
133
133
 
134
134
  LIBC = if IS_WINDOWS
135
- if RbConfig::CONFIG['host_os'] =~ /mingw/i
136
- RbConfig::CONFIG['RUBY_SO_NAME'].split('-')[-2] + '.dll'
137
- else
138
- "ucrtbase.dll"
139
- end
135
+ crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
136
+ "#{crtname}.dll"
140
137
  elsif IS_GNU
141
138
  GNU_LIBC
142
139
  elsif OS == 'cygwin'
@@ -124,7 +124,8 @@ module FFI
124
124
  f.puts "\n\treturn 0;\n}"
125
125
  f.flush
126
126
 
127
- output = `gcc #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
127
+ cc = ENV['CC'] || 'gcc'
128
+ output = `#{cc} #{options[:cppflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
128
129
 
129
130
  unless $?.success? then
130
131
  output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
@@ -82,7 +82,8 @@ module FFI
82
82
  f.puts "\n return 0;\n}"
83
83
  f.flush
84
84
 
85
- output = `gcc #{options[:cppflags]} #{options[:cflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
85
+ cc = ENV['CC'] || 'gcc'
86
+ output = `#{cc} #{options[:cppflags]} #{options[:cflags]} -D_DARWIN_USE_64_BIT_INODE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -x c -Wall -Werror #{f.path} -o #{binary} 2>&1`
86
87
 
87
88
  unless $?.success? then
88
89
  @found = false
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.15.0'
2
+ VERSION = '1.15.4'
3
3
  end
data/lib/ffi.rb CHANGED
@@ -1,5 +1,4 @@
1
- if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
2
- Object.send(:remove_const, :FFI) if defined?(::FFI)
1
+ if RUBY_ENGINE == 'ruby'
3
2
  begin
4
3
  require RUBY_VERSION.split('.')[0, 2].join('.') + '/ffi_c'
5
4
  rescue Exception
@@ -8,7 +7,7 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
8
7
 
9
8
  require 'ffi/ffi'
10
9
 
11
- elsif RUBY_ENGINE == 'jruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [9, 3]) >= 0
10
+ elsif RUBY_ENGINE == 'jruby' && (RUBY_ENGINE_VERSION.split('.').map(&:to_i) <=> [9, 2, 20]) >= 0
12
11
  JRuby::Util.load_ext("org.jruby.ext.ffi.FFIService")
13
12
  require 'ffi/ffi'
14
13
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.15.4
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-05 00:00:00.000000000 Z
11
+ date: 2021-09-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.14.1
69
- - !ruby/object:Gem::Dependency
70
- name: rubygems-tasks
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 0.2.4
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 0.2.4
83
69
  description: Ruby FFI library
84
70
  email: wmeissner@gmail.com
85
71
  executables: []