ffi 1.14.2-java → 1.15.4.pre1-java

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: 0bff6b764ee96e1b33db643522c7b3f89c903ac1fc1422f41b66f1cf601711fc
4
- data.tar.gz: 845a681f7537a7d3c5533d241456f6a430bd2f1cccba58b8c03f48bdf4dc8687
3
+ metadata.gz: d8aaa7ee089e76ab7d59c5f8101b3b1c55d01606a8d0361be6708d9b8d75f0f6
4
+ data.tar.gz: d252cc6fffda43c14a1b20587d7592e496f529419ad7ea902df593042b95ce20
5
5
  SHA512:
6
- metadata.gz: d0207509609d10fb9ebae3652e844ef33422812992fa9791ac39741fc93a75c6534a3a4c8951937e0a5af7968a7d3640de7f302faf946bf8ee37f39483c59d28
7
- data.tar.gz: adc882521c77e61803b5cd3d4ecbb9543f9f6ab0beae7094350ce96cf69e5297cf8b2002b7c9957a8679c2d4fba95bf2f2d0638d211e1ed6be0d632c475caf12
6
+ metadata.gz: 95da8feaf366bec792ef01d5363efed9c371625a014c50920803873ec2895105ef5801d7ef7fb42ee14319846e2226d925ba19d50e59351eb1f31941490e9263
7
+ data.tar.gz: c6e6190980b5d22857b745d8afa471f0b8d8fc78cff838700187290937a673dffe83fc6c825d8a93bb384205303128d9b80c022b8b2232e87ecaf67f676fa856
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ �A["��e�g��x��$̩i�W2����o>��S����u�GPq@�����Ƅ��`p�3Sw�K}�~dAi
2
+ ;�E/��� ��,L���6U��s�h]���|���db,t��z��ywb&���z�I�i�u��� �$�Fi�Q�6a�� �o��͸b��J32ɳa�wg���?t�[i M[d�
data/CHANGELOG.md CHANGED
@@ -1,3 +1,53 @@
1
+ 1.15.3 / 2021-06-16
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix temporary packaging issue with libffi. #904
6
+
7
+
8
+ 1.15.2 / 2021-06-16
9
+ -------------------
10
+
11
+ Added:
12
+ * Add support for Windows MINGW-UCRT build. #903
13
+ * Add `/opt/homebrew/lib/` to fallback search paths to improve homebrew support. #880 #882
14
+
15
+ Changed:
16
+ * Regenerate `types.conf` for FreeBSD12 aarch64. #902
17
+
18
+
19
+ 1.15.1 / 2021-05-22
20
+ -------------------
21
+
22
+ Fixed:
23
+ * Append -pthread to linker options. #893
24
+ * Use arm or aarch64 to identify Apple ARM CPU arch. #899
25
+ * Allow overriding `gcc` with the `CC` env var in `const_generator.rb` and `struct_generator.rb`. #897
26
+
27
+
28
+ 1.15.0 / 2021-03-05
29
+ -------------------
30
+
31
+ Fixed:
32
+ * Fix MSVC build
33
+ * Fix async callbacks in conjunction with fork(). #884
34
+
35
+ Added:
36
+ * Allow to pass callbacks in varargs. #885
37
+ * Name the threads for FFI callback dispatcher and async thread calls for easier debugging. #883
38
+ The name can be retrieved by Thread.name and is shown by Thread.list.inspect etc.
39
+ Even gdb shows the thread name on supported operating systems.
40
+ * Add types.conf for powerpc64le-linux
41
+ * Add types.conf for riscv64-linux
42
+ * More release automation of ffi gems
43
+
44
+ Changed:
45
+ * Switch from rubygems-tasks to bundler/gem_helper
46
+
47
+ Removed:
48
+ * Remove unused VariadicInvoker#init
49
+
50
+
1
51
  1.14.2 / 2020-12-21
2
52
  -------------------
3
53
 
data/Gemfile CHANGED
@@ -5,10 +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
- # irb is a dependency of rubygems-tasks 0.2.5.
9
- # irb versions > 1.1.1 depend on reline,
10
- # which sometimes causes 'bundle install' to fail on Ruby <= 2.4: https://github.com/rubygems/rubygems/issues/3463
11
- gem 'rubygems-tasks', '>= 0.2', '< 0.2.5', :require => 'rubygems/tasks'
8
+ gem 'bundler', '>= 1.16', '< 3'
12
9
  end
13
10
 
14
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
@@ -1,20 +1,17 @@
1
- require 'rubygems/tasks'
2
1
  require 'rbconfig'
3
- require 'rake/clean'
4
- require_relative "lib/ffi/version"
5
-
6
2
  require 'date'
7
3
  require 'fileutils'
8
4
  require 'rbconfig'
9
5
  require 'rspec/core/rake_task'
10
6
  require 'rubygems/package_task'
7
+ require 'rake/extensiontask'
8
+ require_relative "lib/ffi/version"
9
+ require_relative "rakelib/ffi_gem_helper"
11
10
 
12
11
  BUILD_DIR = "build"
13
12
  BUILD_EXT_DIR = File.join(BUILD_DIR, "#{RbConfig::CONFIG['arch']}", 'ffi_c', RUBY_VERSION)
14
13
 
15
- def gem_spec
16
- @gem_spec ||= Gem::Specification.load('ffi.gemspec')
17
- end
14
+ gem_spec = Bundler.load_gemspec('ffi.gemspec')
18
15
 
19
16
  RSpec::Core::RakeTask.new(:spec => :compile) do |config|
20
17
  config.rspec_opts = YAML.load_file 'spec/spec.opts'
@@ -87,6 +84,10 @@ end
87
84
 
88
85
  task 'gem:java' => 'java:gem'
89
86
 
87
+ FfiGemHelper.install_tasks
88
+ # Register windows gems to be pushed to rubygems.org
89
+ Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw32]
90
+
90
91
  if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
91
92
  require 'rake/extensiontask'
92
93
  Rake::ExtensionTask.new('ffi_c', gem_spec) do |ext|
@@ -94,21 +95,11 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
94
95
  # ext.lib_dir = BUILD_DIR # put binaries into this folder.
95
96
  ext.tmp_dir = BUILD_DIR # temporary folder used during compilation.
96
97
  ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
97
- ext.cross_platform = %w[i386-mingw32 x64-mingw32] # forces the Windows platform instead of the default one
98
+ ext.cross_platform = Bundler::GemHelper.instance.cross_platforms
98
99
  ext.cross_compiling do |spec|
99
100
  spec.files.reject! { |path| File.fnmatch?('ext/*', path) }
100
101
  end
101
- end
102
-
103
- # To reduce the gem file size strip mingw32 dlls before packaging
104
- ENV['RUBY_CC_VERSION'].to_s.split(':').each do |ruby_version|
105
- task "build/i386-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/ffi_c.so" do |t|
106
- sh "i686-w64-mingw32-strip -S build/i386-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/ffi_c.so"
107
- end
108
102
 
109
- task "build/x64-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/ffi_c.so" do |t|
110
- sh "x86_64-w64-mingw32-strip -S build/x64-mingw32/stage/lib/#{ruby_version[/^\d+\.\d+/]}/ffi_c.so"
111
- end
112
103
  end
113
104
  else
114
105
  task :compile do
@@ -116,6 +107,7 @@ else
116
107
  end
117
108
  end
118
109
 
110
+
119
111
  desc "build a windows gem without all the ceremony"
120
112
  task "gem:windows" do
121
113
  require "rake_compiler_dock"
@@ -132,7 +124,7 @@ task :libffi => "ext/ffi_c/libffi/autogen.sh"
132
124
 
133
125
  LIBFFI_GIT_FILES = `git --git-dir ext/ffi_c/libffi/.git ls-files -z`.split("\x0")
134
126
 
135
- # Generate files in gemspec but not in libffi's git repo by running autogen.sh
127
+ # Generate files which are in the gemspec but not in libffi's git repo by running autogen.sh
136
128
  gem_spec.files.select do |f|
137
129
  f =~ /ext\/ffi_c\/libffi\/(.*)/ && !LIBFFI_GIT_FILES.include?($1)
138
130
  end.each do |f|
@@ -148,6 +140,11 @@ end.each do |f|
148
140
  end
149
141
  end
150
142
 
143
+ # Make sure we have all gemspec files before packaging
144
+ task :build => gem_spec.files
145
+ task :gem => :build
146
+
147
+
151
148
  require_relative "lib/ffi/platform"
152
149
  types_conf = File.expand_path(File.join(FFI::Platform::CONF_DIR, 'types.conf'))
153
150
  logfile = File.join(File.dirname(__FILE__), 'types_log')
@@ -168,10 +165,6 @@ end
168
165
  desc "Create or update type information for platform #{FFI::Platform::NAME}"
169
166
  task :types_conf => types_conf
170
167
 
171
- Gem::Tasks.new do |t|
172
- t.scm.tag.format = '%s'
173
- end
174
-
175
168
  begin
176
169
  require 'yard'
177
170
 
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
 
data/lib/ffi/library.rb CHANGED
@@ -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
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'
@@ -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
@@ -0,0 +1,100 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.*__qaddr_t = long
3
+ rbx.platform.typedef.__blkcnt64_t = long
4
+ rbx.platform.typedef.__blkcnt_t = long
5
+ rbx.platform.typedef.__blksize_t = long
6
+ rbx.platform.typedef.__clock_t = long
7
+ rbx.platform.typedef.__clockid_t = int
8
+ rbx.platform.typedef.__daddr_t = int
9
+ rbx.platform.typedef.__dev_t = ulong
10
+ rbx.platform.typedef.__fd_mask = long
11
+ rbx.platform.typedef.__fsblkcnt64_t = ulong
12
+ rbx.platform.typedef.__fsblkcnt_t = ulong
13
+ rbx.platform.typedef.__fsfilcnt64_t = ulong
14
+ rbx.platform.typedef.__fsfilcnt_t = ulong
15
+ rbx.platform.typedef.__gid_t = uint
16
+ rbx.platform.typedef.__id_t = uint
17
+ rbx.platform.typedef.__ino64_t = ulong
18
+ rbx.platform.typedef.__ino_t = ulong
19
+ rbx.platform.typedef.__int16_t = short
20
+ rbx.platform.typedef.__int32_t = int
21
+ rbx.platform.typedef.__int64_t = long
22
+ rbx.platform.typedef.__int8_t = char
23
+ rbx.platform.typedef.__intptr_t = long
24
+ rbx.platform.typedef.__key_t = int
25
+ rbx.platform.typedef.__loff_t = long
26
+ rbx.platform.typedef.__mode_t = uint
27
+ rbx.platform.typedef.__nlink_t = ulong
28
+ rbx.platform.typedef.__off64_t = long
29
+ rbx.platform.typedef.__off_t = long
30
+ rbx.platform.typedef.__pid_t = int
31
+ rbx.platform.typedef.__priority_which_t = int
32
+ rbx.platform.typedef.__quad_t = long
33
+ rbx.platform.typedef.__rlim64_t = ulong
34
+ rbx.platform.typedef.__rlim_t = ulong
35
+ rbx.platform.typedef.__rlimit_resource_t = int
36
+ rbx.platform.typedef.__rusage_who_t = int
37
+ rbx.platform.typedef.__sig_atomic_t = int
38
+ rbx.platform.typedef.__socklen_t = uint
39
+ rbx.platform.typedef.__ssize_t = long
40
+ rbx.platform.typedef.__suseconds_t = long
41
+ rbx.platform.typedef.__swblk_t = long
42
+ rbx.platform.typedef.__time_t = long
43
+ rbx.platform.typedef.__timer_t = pointer
44
+ rbx.platform.typedef.__u_char = uchar
45
+ rbx.platform.typedef.__u_int = uint
46
+ rbx.platform.typedef.__u_long = ulong
47
+ rbx.platform.typedef.__u_quad_t = ulong
48
+ rbx.platform.typedef.__u_short = ushort
49
+ rbx.platform.typedef.__uid_t = uint
50
+ rbx.platform.typedef.__uint16_t = ushort
51
+ rbx.platform.typedef.__uint32_t = uint
52
+ rbx.platform.typedef.__uint64_t = ulong
53
+ rbx.platform.typedef.__uint8_t = uchar
54
+ rbx.platform.typedef.__useconds_t = uint
55
+ rbx.platform.typedef.blkcnt_t = long
56
+ rbx.platform.typedef.clockid_t = int
57
+ rbx.platform.typedef.daddr_t = int
58
+ rbx.platform.typedef.dev_t = ulong
59
+ rbx.platform.typedef.fd_mask = long
60
+ rbx.platform.typedef.fsblkcnt_t = ulong
61
+ rbx.platform.typedef.fsfilcnt_t = ulong
62
+ rbx.platform.typedef.gid_t = uint
63
+ rbx.platform.typedef.id_t = uint
64
+ rbx.platform.typedef.ino_t = ulong
65
+ rbx.platform.typedef.int16_t = short
66
+ rbx.platform.typedef.int32_t = int
67
+ rbx.platform.typedef.int64_t = long
68
+ rbx.platform.typedef.int8_t = char
69
+ rbx.platform.typedef.key_t = int
70
+ rbx.platform.typedef.loff_t = long
71
+ rbx.platform.typedef.mode_t = uint
72
+ rbx.platform.typedef.nlink_t = ulong
73
+ rbx.platform.typedef.off_t = long
74
+ rbx.platform.typedef.pid_t = int
75
+ rbx.platform.typedef.pthread_key_t = uint
76
+ rbx.platform.typedef.pthread_once_t = int
77
+ rbx.platform.typedef.pthread_t = ulong
78
+ rbx.platform.typedef.quad_t = long
79
+ rbx.platform.typedef.register_t = long
80
+ rbx.platform.typedef.rlim_t = ulong
81
+ rbx.platform.typedef.sa_family_t = ushort
82
+ rbx.platform.typedef.size_t = ulong
83
+ rbx.platform.typedef.socklen_t = uint
84
+ rbx.platform.typedef.ssize_t = long
85
+ rbx.platform.typedef.suseconds_t = long
86
+ rbx.platform.typedef.time_t = long
87
+ rbx.platform.typedef.timer_t = pointer
88
+ rbx.platform.typedef.u_char = uchar
89
+ rbx.platform.typedef.u_int = uint
90
+ rbx.platform.typedef.u_int16_t = ushort
91
+ rbx.platform.typedef.u_int32_t = uint
92
+ rbx.platform.typedef.u_int64_t = ulong
93
+ rbx.platform.typedef.u_int8_t = uchar
94
+ rbx.platform.typedef.u_long = ulong
95
+ rbx.platform.typedef.u_quad_t = ulong
96
+ rbx.platform.typedef.u_short = ushort
97
+ rbx.platform.typedef.uid_t = uint
98
+ rbx.platform.typedef.uint = uint
99
+ rbx.platform.typedef.ulong = ulong
100
+ rbx.platform.typedef.ushort = ushort
@@ -0,0 +1,104 @@
1
+ rbx.platform.typedef.*__caddr_t = char
2
+ rbx.platform.typedef.*__qaddr_t = long
3
+ rbx.platform.typedef.__blkcnt64_t = long
4
+ rbx.platform.typedef.__blkcnt_t = long
5
+ rbx.platform.typedef.__blksize_t = int
6
+ rbx.platform.typedef.__clock_t = long
7
+ rbx.platform.typedef.__clockid_t = int
8
+ rbx.platform.typedef.__daddr_t = int
9
+ rbx.platform.typedef.__dev_t = ulong
10
+ rbx.platform.typedef.__fd_mask = long
11
+ rbx.platform.typedef.__fsblkcnt64_t = ulong
12
+ rbx.platform.typedef.__fsblkcnt_t = ulong
13
+ rbx.platform.typedef.__fsfilcnt64_t = ulong
14
+ rbx.platform.typedef.__fsfilcnt_t = ulong
15
+ rbx.platform.typedef.__fsword_t = long
16
+ rbx.platform.typedef.__gid_t = uint
17
+ rbx.platform.typedef.__id_t = uint
18
+ rbx.platform.typedef.__ino64_t = ulong
19
+ rbx.platform.typedef.__ino_t = ulong
20
+ rbx.platform.typedef.__int16_t = short
21
+ rbx.platform.typedef.__int32_t = int
22
+ rbx.platform.typedef.__int64_t = long
23
+ rbx.platform.typedef.__int8_t = char
24
+ rbx.platform.typedef.__intptr_t = long
25
+ rbx.platform.typedef.__key_t = int
26
+ rbx.platform.typedef.__loff_t = long
27
+ rbx.platform.typedef.__mode_t = uint
28
+ rbx.platform.typedef.__nlink_t = uint
29
+ rbx.platform.typedef.__off64_t = long
30
+ rbx.platform.typedef.__off_t = long
31
+ rbx.platform.typedef.__pid_t = int
32
+ rbx.platform.typedef.__priority_which_t = int
33
+ rbx.platform.typedef.__quad_t = long
34
+ rbx.platform.typedef.__rlim64_t = ulong
35
+ rbx.platform.typedef.__rlim_t = ulong
36
+ rbx.platform.typedef.__rlimit_resource_t = int
37
+ rbx.platform.typedef.__rusage_who_t = int
38
+ rbx.platform.typedef.__sig_atomic_t = int
39
+ rbx.platform.typedef.__socklen_t = uint
40
+ rbx.platform.typedef.__ssize_t = long
41
+ rbx.platform.typedef.__suseconds_t = long
42
+ rbx.platform.typedef.__syscall_slong_t = long
43
+ rbx.platform.typedef.__syscall_ulong_t = ulong
44
+ rbx.platform.typedef.__time_t = long
45
+ rbx.platform.typedef.__timer_t = pointer
46
+ rbx.platform.typedef.__u_char = uchar
47
+ rbx.platform.typedef.__u_int = uint
48
+ rbx.platform.typedef.__u_long = ulong
49
+ rbx.platform.typedef.__u_quad_t = ulong
50
+ rbx.platform.typedef.__u_short = ushort
51
+ rbx.platform.typedef.__uid_t = uint
52
+ rbx.platform.typedef.__uint16_t = ushort
53
+ rbx.platform.typedef.__uint32_t = uint
54
+ rbx.platform.typedef.__uint64_t = ulong
55
+ rbx.platform.typedef.__uint8_t = uchar
56
+ rbx.platform.typedef.__useconds_t = uint
57
+ rbx.platform.typedef.blkcnt_t = long
58
+ rbx.platform.typedef.blksize_t = int
59
+ rbx.platform.typedef.clock_t = long
60
+ rbx.platform.typedef.clockid_t = int
61
+ rbx.platform.typedef.daddr_t = int
62
+ rbx.platform.typedef.dev_t = ulong
63
+ rbx.platform.typedef.fd_mask = long
64
+ rbx.platform.typedef.fsblkcnt_t = ulong
65
+ rbx.platform.typedef.fsfilcnt_t = ulong
66
+ rbx.platform.typedef.gid_t = uint
67
+ rbx.platform.typedef.id_t = uint
68
+ rbx.platform.typedef.ino_t = ulong
69
+ rbx.platform.typedef.int16_t = short
70
+ rbx.platform.typedef.int32_t = int
71
+ rbx.platform.typedef.int64_t = long
72
+ rbx.platform.typedef.int8_t = char
73
+ rbx.platform.typedef.key_t = int
74
+ rbx.platform.typedef.loff_t = long
75
+ rbx.platform.typedef.mode_t = uint
76
+ rbx.platform.typedef.nlink_t = uint
77
+ rbx.platform.typedef.off_t = long
78
+ rbx.platform.typedef.pid_t = int
79
+ rbx.platform.typedef.pthread_key_t = uint
80
+ rbx.platform.typedef.pthread_once_t = int
81
+ rbx.platform.typedef.pthread_t = ulong
82
+ rbx.platform.typedef.quad_t = long
83
+ rbx.platform.typedef.register_t = long
84
+ rbx.platform.typedef.rlim_t = ulong
85
+ rbx.platform.typedef.sa_family_t = ushort
86
+ rbx.platform.typedef.size_t = ulong
87
+ rbx.platform.typedef.socklen_t = uint
88
+ rbx.platform.typedef.ssize_t = long
89
+ rbx.platform.typedef.suseconds_t = long
90
+ rbx.platform.typedef.time_t = long
91
+ rbx.platform.typedef.timer_t = pointer
92
+ rbx.platform.typedef.u_char = uchar
93
+ rbx.platform.typedef.u_int = uint
94
+ rbx.platform.typedef.u_int16_t = ushort
95
+ rbx.platform.typedef.u_int32_t = uint
96
+ rbx.platform.typedef.u_int64_t = ulong
97
+ rbx.platform.typedef.u_int8_t = uchar
98
+ rbx.platform.typedef.u_long = ulong
99
+ rbx.platform.typedef.u_quad_t = ulong
100
+ rbx.platform.typedef.u_short = ushort
101
+ rbx.platform.typedef.uid_t = uint
102
+ rbx.platform.typedef.uint = uint
103
+ rbx.platform.typedef.ulong = ulong
104
+ rbx.platform.typedef.ushort = ushort
@@ -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/variadic.rb CHANGED
@@ -32,15 +32,6 @@
32
32
 
33
33
  module FFI
34
34
  class VariadicInvoker
35
- def init(arg_types, type_map)
36
- @fixed = Array.new
37
- @type_map = type_map
38
- arg_types.each_with_index do |type, i|
39
- @fixed << type unless type == Type::VARARGS
40
- end
41
- end
42
-
43
-
44
35
  def call(*args, &block)
45
36
  param_types = Array.new(@fixed)
46
37
  param_values = Array.new
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.14.2'
2
+ VERSION = '1.15.4.pre1'
3
3
  end
@@ -0,0 +1,65 @@
1
+ require 'bundler'
2
+ require 'bundler/gem_helper'
3
+
4
+ class FfiGemHelper < Bundler::GemHelper
5
+ attr_accessor :cross_platforms
6
+
7
+ def install
8
+ super
9
+
10
+ task "release:guard_clean" => ["release:update_history"]
11
+
12
+ task "release:update_history" do
13
+ update_history
14
+ end
15
+
16
+ task "release:rubygem_push" => ["gem:windows", "gem:java"]
17
+ end
18
+
19
+ def hfile
20
+ "CHANGELOG.md"
21
+ end
22
+
23
+ def headline
24
+ '([^\w]*)(\d+\.\d+\.\d+(?:\.\w+)?)([^\w]+)([2Y][0Y][0-9Y][0-9Y]-[0-1M][0-9M]-[0-3D][0-9D])([^\w]*|$)'
25
+ end
26
+
27
+ def reldate
28
+ Time.now.strftime("%Y-%m-%d")
29
+ end
30
+
31
+ def update_history
32
+ hin = File.read(hfile)
33
+ hout = hin.sub(/#{headline}/) do
34
+ raise "#{hfile} isn't up-to-date for version #{version}" unless $2==version.to_s
35
+ $1 + $2 + $3 + reldate + $5
36
+ end
37
+ if hout != hin
38
+ Bundler.ui.confirm "Updating #{hfile} for release."
39
+ File.write(hfile, hout)
40
+ Rake::FileUtilsExt.sh "git", "commit", hfile, "-m", "Update release date in #{hfile}"
41
+ end
42
+ end
43
+
44
+ def tag_version
45
+ Bundler.ui.confirm "Tag release with annotation:"
46
+ m = File.read(hfile).match(/(?<annotation>#{headline}.*?)#{headline}/m) || raise("Unable to find release notes in #{hfile}")
47
+ Bundler.ui.info(m[:annotation].gsub(/^/, " "))
48
+ IO.popen(["git", "tag", "--file=-", version_tag], "w") do |fd|
49
+ fd.write m[:annotation]
50
+ end
51
+ yield if block_given?
52
+ rescue
53
+ Bundler.ui.error "Untagging #{version_tag} due to error."
54
+ sh_with_code "git tag -d #{version_tag}"
55
+ raise
56
+ end
57
+
58
+ def rubygem_push(path)
59
+ cross_platforms.each do |ruby_platform|
60
+ super(path.gsub(/\.gem\z/, "-#{ruby_platform}.gem"))
61
+ end
62
+ super(path.gsub(/\.gem\z/, "-java.gem"))
63
+ super(path)
64
+ end
65
+ end
metadata CHANGED
@@ -1,14 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.2
4
+ version: 1.15.4.pre1
5
5
  platform: java
6
6
  authors:
7
7
  - Wayne Meissner
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2020-12-21 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIC/DCCAeSgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAkMSIwIAYDVQQDDBl0cmF2
14
+ aXMtY2kvREM9ZHVtbXkvREM9b3JnMB4XDTIxMDUyMjA3MjgxNFoXDTIyMDUyMjA3
15
+ MjgxNFowJDEiMCAGA1UEAwwZdHJhdmlzLWNpL0RDPWR1bW15L0RDPW9yZzCCASIw
16
+ DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+5uh+zqCXKho0zXIaLmJD6YDpa
17
+ l07nJ+PQFcMBYgsKA2ip01THj3DVYwP/va6hYgqPmxEJB3tsEthKnHVHm0dgqqg/
18
+ gfyDFU0ZfbSYKeNlZQRIdddKPc6dNbmtY2gBWFt6YOZnBccsgJmSUAbh0a9xhVbm
19
+ qAStn/q7eq9iW9+12AB9HM+QCWrsCAXEHGGNENDAK9HtHwBs4KsneiIQY5rd/Mzs
20
+ Ii25XXnDUa1NjC4u/mMuJXBpWLw2rEAQkzEFQBZR0W0ehm9Mi4TokhLy/QH8GRaH
21
+ 0KADzpk1cxuOrEBIhy6ISQs7g/tI6YTePAmDMTsodov02FZCcMpoxOifpFkCAwEA
22
+ AaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFOTn5ek+QtcI
23
+ g+ZglIvRPAPGoXvLMA0GCSqGSIb3DQEBCwUAA4IBAQCkYZdWhRDXD2i1x+i9ldUt
24
+ seNbE+9n742DLgTeQoGyrGO8qabcfM/DBC5iohpFfXa6tJ/ufT2G4xwJq9CVgkY9
25
+ JQWZfxrqzRwY69Rq7MA5lAJ9/HpzkjEiZjPO0jYEhy7iznnhWCzmUFFO9++hH5Mj
26
+ SviDbWEcg72gtdu53KTk+dlWFRMK/zVXX2LsxdJ8+oL/HrPUKIPaMuvaPiOxZ85i
27
+ 6k/UaTHptue0Rj8i8Xv3VmPvYrk3LacY/rmUvJAv+rrd5vBxYI8HZ+VPZD+IcLVL
28
+ bF2Y4mTGMgJ2+MB9E838+Rh6U7sDsKfP5d9102VfpDaueM4jxBHxeY7g/UIyYS/1
29
+ -----END CERTIFICATE-----
30
+ date: 2021-07-09 00:00:00.000000000 Z
12
31
  dependencies:
13
32
  - !ruby/object:Gem::Dependency
14
33
  name: rake
@@ -140,6 +159,8 @@ files:
140
159
  - lib/ffi/platform/powerpc-linux/types.conf
141
160
  - lib/ffi/platform/powerpc-openbsd/types.conf
142
161
  - lib/ffi/platform/powerpc64-linux/types.conf
162
+ - lib/ffi/platform/powerpc64le-linux/types.conf
163
+ - lib/ffi/platform/riscv64-linux/types.conf
143
164
  - lib/ffi/platform/s390-linux/types.conf
144
165
  - lib/ffi/platform/s390x-linux/types.conf
145
166
  - lib/ffi/platform/sparc-linux/types.conf
@@ -173,6 +194,7 @@ files:
173
194
  - lib/ffi/union.rb
174
195
  - lib/ffi/variadic.rb
175
196
  - lib/ffi/version.rb
197
+ - rakelib/ffi_gem_helper.rb
176
198
  - samples/getlogin.rb
177
199
  - samples/getpid.rb
178
200
  - samples/gettimeofday.rb
@@ -203,11 +225,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
225
  version: '2.3'
204
226
  required_rubygems_version: !ruby/object:Gem::Requirement
205
227
  requirements:
206
- - - ">="
228
+ - - ">"
207
229
  - !ruby/object:Gem::Version
208
- version: '0'
230
+ version: 1.3.1
209
231
  requirements: []
210
- rubygems_version: 3.1.4
232
+ rubygems_version: 3.2.3
211
233
  signing_key:
212
234
  specification_version: 4
213
235
  summary: Ruby FFI
metadata.gz.sig ADDED
Binary file