ffi 1.11.3-x64-mingw32 → 1.12.0-x64-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 +4 -4
- data/.travis.yml +2 -0
- data/CHANGELOG.md +14 -0
- data/Gemfile +2 -2
- data/README.md +10 -1
- data/ffi.gemspec +2 -2
- data/lib/ffi/ffi.rb +1 -0
- data/lib/ffi/struct.rb +1 -1
- data/lib/ffi/version.rb +1 -1
- metadata +8 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d2ce245fbdd4d02defcd88efaa887d20aeb8e3564d15ca2c3ba4a81ace27390
|
4
|
+
data.tar.gz: 9f2f9ccc884e43a150e9ef033d58a3f80b28229596bd96ce8b333aeffa40378d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b737cd72a35eebe49afff4aa99e40845002ee61050ef42524cbfe8c7806e332559608ca715e2ed6cd4c2dcf2b02de4d3f16db2260f25b4162eb7370801eb85a
|
7
|
+
data.tar.gz: 0a2cc5ad7a8a967b2bd109e2a75846d1a8158ee365a067f379ec35fd287873cf3d32f82de692b67a87eb4f9057c1e4f904d4f9e3c0a7a91a3952b8195afa0914
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
1.12.0 / 2020-01-14
|
2
|
+
-------------------
|
3
|
+
|
4
|
+
Added:
|
5
|
+
* FFI::VERSION is defined as part of `require 'ffi'` now.
|
6
|
+
It is no longer necessary to `require 'ffi/version'` .
|
7
|
+
|
8
|
+
Changed:
|
9
|
+
* Update libffi to latest master.
|
10
|
+
|
11
|
+
Deprecated:
|
12
|
+
* Overwriting struct layouts is now warned and will be disallowed in ffi-2.0. #734, #735
|
13
|
+
|
14
|
+
|
1
15
|
1.11.3 / 2019-11-25
|
2
16
|
-------------------
|
3
17
|
|
data/Gemfile
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
group :development do
|
4
|
-
gem 'rake', '~>
|
4
|
+
gem 'rake', '~> 13.0'
|
5
5
|
gem 'rake-compiler', '~> 1.0.3'
|
6
|
-
gem 'rake-compiler-dock', '~>
|
6
|
+
gem 'rake-compiler-dock', '~> 1.0'
|
7
7
|
gem 'rspec', '~> 3.0'
|
8
8
|
gem 'rubygems-tasks', '~> 0.2.4', :require => 'rubygems/tasks'
|
9
9
|
gem "rubysl", "~> 2.0", :platforms => 'rbx'
|
data/README.md
CHANGED
@@ -38,10 +38,19 @@ For less minimalistic and more examples you may look at:
|
|
38
38
|
|
39
39
|
## Requirements
|
40
40
|
|
41
|
-
When installing the gem on CRuby (MRI)
|
41
|
+
When installing the gem on CRuby (MRI), you will need:
|
42
42
|
* A C compiler (e.g., Xcode on macOS, `gcc` or `clang` on everything else)
|
43
|
+
Optionally (speeds up installation):
|
43
44
|
* The `libffi` library and development headers - this is commonly in the `libffi-dev` or `libffi-devel` packages
|
44
45
|
|
46
|
+
The ffi gem comes with a builtin libffi version, which is used, when the system libffi library is not available or too old.
|
47
|
+
Use of the system libffi can be enforced by:
|
48
|
+
```
|
49
|
+
gem install ffi -- --enable-system-libffi # to install the gem manually
|
50
|
+
bundle config build.ffi --enable-system-libffi # for bundle install
|
51
|
+
```
|
52
|
+
or prevented by `--disable-system-libffi`.
|
53
|
+
|
45
54
|
On Linux systems running with [PaX](https://en.wikipedia.org/wiki/PaX) (Gentoo, Alpine, etc.), FFI may trigger `mprotect` errors. You may need to disable [mprotect](https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options#Restrict_mprotect.28.29) for ruby (`paxctl -m [/path/to/ruby]`) for the time being until a solution is found.
|
46
55
|
|
47
56
|
On FreeBSD systems pkgconf must be installed for the gem to be able to compile using clang. Install either via packages `pkg install pkgconf` or from ports via `devel/pkgconf`.
|
data/ffi.gemspec
CHANGED
@@ -35,9 +35,9 @@ Gem::Specification.new do |s|
|
|
35
35
|
s.license = 'BSD-3-Clause'
|
36
36
|
s.require_paths << 'ext/ffi_c'
|
37
37
|
s.required_ruby_version = '>= 2.0'
|
38
|
-
s.add_development_dependency 'rake', '~>
|
38
|
+
s.add_development_dependency 'rake', '~> 13.0'
|
39
39
|
s.add_development_dependency 'rake-compiler', '~> 1.0'
|
40
|
-
s.add_development_dependency 'rake-compiler-dock', '~>
|
40
|
+
s.add_development_dependency 'rake-compiler-dock', '~> 1.0'
|
41
41
|
s.add_development_dependency 'rspec', '~> 2.14.1'
|
42
42
|
s.add_development_dependency 'rubygems-tasks', "~> 0.2.4"
|
43
43
|
end
|
data/lib/ffi/ffi.rb
CHANGED
data/lib/ffi/struct.rb
CHANGED
@@ -204,7 +204,7 @@ module FFI
|
|
204
204
|
# end
|
205
205
|
# @note Creating a layout from a hash +spec+ is supported only for Ruby 1.9.
|
206
206
|
def layout(*spec)
|
207
|
-
|
207
|
+
warn "[DEPRECATION] Struct layout is already defined for class #{self.inspect}. Redefinition as in #{caller[0]} will be disallowed in ffi-2.0." if defined?(@layout)
|
208
208
|
return @layout if spec.size == 0
|
209
209
|
|
210
210
|
builder = StructLayoutBuilder.new
|
data/lib/ffi/version.rb
CHANGED
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.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: x64-mingw32
|
6
6
|
authors:
|
7
7
|
- Wayne Meissner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '13.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '13.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake-compiler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '1.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '1.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,15 +207,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
207
207
|
version: '2.2'
|
208
208
|
- - "<"
|
209
209
|
- !ruby/object:Gem::Version
|
210
|
-
version: 2.
|
210
|
+
version: 2.8.dev
|
211
211
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - ">="
|
214
214
|
- !ruby/object:Gem::Version
|
215
215
|
version: '0'
|
216
216
|
requirements: []
|
217
|
-
|
218
|
-
rubygems_version: 2.7.9
|
217
|
+
rubygems_version: 3.1.2
|
219
218
|
signing_key:
|
220
219
|
specification_version: 4
|
221
220
|
summary: Ruby FFI
|