ffi 1.15.4-x86-mingw32 → 1.15.5-x86-mingw32

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: 3ac0c66731110d7438867fa88931922a5181bb1f8e4196a74ca3626e00e6d7ef
4
- data.tar.gz: c65f8aa6c8c872c07ae44d038f249fd2f1edd65b3c9e12b98fd99dff8019fe21
3
+ metadata.gz: 15635c7892b958aa4ff3cfcd91aad942d6a8df1d5f7fdaa0705694d600f40722
4
+ data.tar.gz: cc8ea4cc2ef76a3612fb5367b13e79b41efd19e3969c45c3938047c016813be5
5
5
  SHA512:
6
- metadata.gz: 13f7f4e28c69d8e421629aca40f6b18e54605881104a1390b3eef1a36e19c867ee6236a2c0198eb92e902f66631c6c3beb6ab76b785406809b9ee06fa2e63360
7
- data.tar.gz: c9348adda6016f893632cf58c206bc0d44221355815037485b00b785b9f8a8112d04a0d4314dc854fb829e21ae9f1607b8f7658f4d7964c1f20dde1f0db56b5f
6
+ metadata.gz: 13e01c5bbf7c462bd92c002d773b2c9ada7c7c5d289177a0f6bf5c9957070fd47935c98d872710f645a5049e85ecf3e8877998c33d046dc8a5951aa9f110ec68
7
+ data.tar.gz: 4ed42b3fc8876d3e35fb9979c025b5e1db54c656bf4125ef935a09277827be397e0672a558c52de74872db693f6d94179957ad99725d7efcffba9a39cfddc352
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
data/lib/3.1/ffi_c.so ADDED
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: x86-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,12 +80,12 @@ 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
87
86
  - lib/2.7/ffi_c.so
88
87
  - lib/3.0/ffi_c.so
88
+ - lib/3.1/ffi_c.so
89
89
  - lib/ffi.rb
90
90
  - lib/ffi/abstract_memory.rb
91
91
  - lib/ffi/autopointer.rb
@@ -185,7 +185,7 @@ metadata:
185
185
  wiki_uri: https://github.com/ffi/ffi/wiki
186
186
  source_code_uri: https://github.com/ffi/ffi/
187
187
  mailing_list_uri: http://groups.google.com/group/ruby-ffi
188
- post_install_message:
188
+ post_install_message:
189
189
  rdoc_options:
190
190
  - "--exclude=ext/ffi_c/.*\\.o$"
191
191
  - "--exclude=ffi_c\\.(bundle|so)$"
@@ -195,18 +195,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
195
195
  requirements:
196
196
  - - ">="
197
197
  - !ruby/object:Gem::Version
198
- version: '2.3'
198
+ version: '2.4'
199
199
  - - "<"
200
200
  - !ruby/object:Gem::Version
201
- version: 3.1.dev
201
+ version: 3.2.dev
202
202
  required_rubygems_version: !ruby/object:Gem::Requirement
203
203
  requirements:
204
204
  - - ">="
205
205
  - !ruby/object:Gem::Version
206
206
  version: '0'
207
207
  requirements: []
208
- rubygems_version: 3.2.3
209
- signing_key:
208
+ rubygems_version: 3.3.4
209
+ signing_key:
210
210
  specification_version: 4
211
211
  summary: Ruby FFI
212
212
  test_files: []
data/lib/2.3/ffi_c.so DELETED
Binary file