ffi 1.11.3-x64-mingw32 → 1.12.0-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- 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
|