ffi 1.14.2-java → 1.15.4.pre1-java

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: 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