ffi 1.15.4-x64-mingw32 → 1.15.5-x64-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: 3d4336ec918db2f85554d8debbc858d10149ca48c532370ad7dc9a1520533ec2
4
- data.tar.gz: e3e98956a2f892c96938b4aa08b9510439ee18e42f0072412be898935fce5926
3
+ metadata.gz: d2d1d8c4b22198fb067d9e688737cffc49935decbf347b0d4f2c5a8e9cf36e1e
4
+ data.tar.gz: 890257bc99fb989730e3cf1fc0347e59f5987a63bc9acdcbc55c0066b6ca6bd9
5
5
  SHA512:
6
- metadata.gz: 852229ed2c395298760577cbde8858724dc7af11b24b068e3f3bb779f704d64e5738b0a300f30551180a31c27b4e769c12079362bc8569e306a0c56496f0b4c3
7
- data.tar.gz: 25b9d30024e37e5c5512ad14ba8a9746a8dd6d8304b5e9fce74bee3fc7b82f6b06c1e0a7618f20980d766f372d46344d4eee65c2f49a98438f98a46bce3fbe35
6
+ metadata.gz: f44fa050bd8e3626a3607a64e17c432d8852cfb555328ced6c892a913cd81512a8be31b08d95aa6473f1eb22f066480e3fca783dc87119e2ad05a59a7dc0e8ab
7
+ data.tar.gz: d0d0685bbca657190050bf4d8d50e8461bef15b14b7af6429f88a3d32061d7279f3f9e922b02beab241faccfba869cb256e2a6b6635c796afd7c76af8045d041
data/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ 1.15.5 / 2022-01-10
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Fix long double argument or return values on 32bit i686. #849
6
+ * FFI::ConstGenerator: avoid usage of the same binary file simultaneously. #929
7
+
8
+ Added:
9
+ * Add Windows fat binary gem for Ruby-3.1
10
+
11
+ Removed:
12
+ * Remove Windows fat binary gem for Ruby < 2.4
13
+
14
+
1
15
  1.15.4 / 2021-09-01
2
16
  -------------------
3
17
 
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ RSpec::Core::RakeTask.new(:spec => :compile) do |config|
18
18
  end
19
19
 
20
20
  desc "Build all packages"
21
- task :package => %w[ gem:java gem:windows ]
21
+ task :package => %w[ gem:java gem:native ]
22
22
 
23
23
  CLOBBER.include 'lib/ffi/types.conf'
24
24
  CLOBBER.include 'pkg'
@@ -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[x86-mingw32 x64-mingw32]
89
+ Bundler::GemHelper.instance.cross_platforms = %w[x86-mingw32 x64-mingw-ucrt x64-mingw32]
90
90
 
91
91
  if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
92
92
  require 'rake/extensiontask'
@@ -108,11 +108,25 @@ else
108
108
  end
109
109
 
110
110
 
111
- desc "build a windows gem without all the ceremony"
112
- task "gem:windows" do
113
- require "rake_compiler_dock"
114
- sh "bundle package"
115
- RakeCompilerDock.sh "sudo apt-get update && sudo apt-get install -y libltdl-dev && bundle --local && rake cross native gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.2.2/}"
111
+ namespace "gem" do
112
+ task 'prepare' do
113
+ require 'rake_compiler_dock'
114
+ sh "bundle package --all"
115
+ end
116
+
117
+ Bundler::GemHelper.instance.cross_platforms.each do |plat|
118
+ desc "Build all native binary gems in parallel"
119
+ multitask 'native' => plat
120
+
121
+ desc "Build the native gem for #{plat}"
122
+ task plat => ['prepare', 'build'] do
123
+ RakeCompilerDock.sh <<-EOT, platform: plat
124
+ sudo apt-get update &&
125
+ sudo apt-get install -y libltdl-dev && bundle --local &&
126
+ rake cross native gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=${RUBY_CC_VERSION/:2.2.2/}
127
+ EOT
128
+ end
129
+ end
116
130
  end
117
131
 
118
132
  directory "ext/ffi_c/libffi"
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
@@ -105,9 +105,10 @@ module FFI
105
105
  # @return [nil]
106
106
  # @raise if a constant is missing and +:required+ was set to +true+ (see {#initialize})
107
107
  def calculate(options = {})
108
- binary = File.join Dir.tmpdir, "rb_const_gen_bin_#{Process.pid}"
108
+ binary_path = nil
109
109
 
110
110
  Tempfile.open("#{@prefix}.const_generator") do |f|
111
+ binary_path = f.path + ".bin"
111
112
  @includes.each do |inc|
112
113
  f.puts "#include <#{inc}>"
113
114
  end
@@ -125,7 +126,7 @@ module FFI
125
126
  f.flush
126
127
 
127
128
  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`
129
+ 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_path} 2>&1`
129
130
 
130
131
  unless $?.success? then
131
132
  output = output.split("\n").map { |l| "\t#{l}" }.join "\n"
@@ -133,8 +134,8 @@ module FFI
133
134
  end
134
135
  end
135
136
 
136
- output = `#{binary}`
137
- File.unlink(binary + (FFI::Platform.windows? ? ".exe" : ""))
137
+ output = `#{binary_path}`
138
+ File.unlink(binary_path + (FFI::Platform.windows? ? ".exe" : ""))
138
139
  output.each_line do |line|
139
140
  line =~ /^(\S+)\s(.*)$/
140
141
  const = @constants[$1]
data/lib/ffi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FFI
2
- VERSION = '1.15.4'
2
+ VERSION = '1.15.5'
3
3
  end
@@ -13,7 +13,7 @@ class FfiGemHelper < Bundler::GemHelper
13
13
  update_history
14
14
  end
15
15
 
16
- task "release:rubygem_push" => ["gem:windows", "gem:java"]
16
+ task "release:rubygem_push" => ["gem:native", "gem:java"]
17
17
  end
18
18
 
19
19
  def hfile
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.4
4
+ version: 1.15.5
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Wayne Meissner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-01 00:00:00.000000000 Z
11
+ date: 2022-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -80,7 +80,6 @@ files:
80
80
  - README.md
81
81
  - Rakefile
82
82
  - ffi.gemspec
83
- - lib/2.3/ffi_c.so
84
83
  - lib/2.4/ffi_c.so
85
84
  - lib/2.5/ffi_c.so
86
85
  - lib/2.6/ffi_c.so
@@ -185,7 +184,7 @@ metadata:
185
184
  wiki_uri: https://github.com/ffi/ffi/wiki
186
185
  source_code_uri: https://github.com/ffi/ffi/
187
186
  mailing_list_uri: http://groups.google.com/group/ruby-ffi
188
- post_install_message:
187
+ post_install_message:
189
188
  rdoc_options:
190
189
  - "--exclude=ext/ffi_c/.*\\.o$"
191
190
  - "--exclude=ffi_c\\.(bundle|so)$"
@@ -195,18 +194,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
194
  requirements:
196
195
  - - ">="
197
196
  - !ruby/object:Gem::Version
198
- version: '2.3'
197
+ version: '2.4'
199
198
  - - "<"
200
199
  - !ruby/object:Gem::Version
201
- version: 3.1.dev
200
+ version: 3.2.dev
202
201
  required_rubygems_version: !ruby/object:Gem::Requirement
203
202
  requirements:
204
203
  - - ">="
205
204
  - !ruby/object:Gem::Version
206
205
  version: '0'
207
206
  requirements: []
208
- rubygems_version: 3.2.3
209
- signing_key:
207
+ rubygems_version: 3.3.4
208
+ signing_key:
210
209
  specification_version: 4
211
210
  summary: Ruby FFI
212
211
  test_files: []
data/lib/2.3/ffi_c.so DELETED
Binary file