ffi 1.13.0-x86-mingw32 → 1.15.0-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 +4 -4
- data/CHANGELOG.md +75 -0
- data/Gemfile +1 -4
- data/README.md +10 -2
- data/Rakefile +23 -23
- data/ffi.gemspec +1 -1
- data/lib/2.3/ffi_c.so +0 -0
- data/lib/2.4/ffi_c.so +0 -0
- data/lib/2.5/ffi_c.so +0 -0
- data/lib/2.6/ffi_c.so +0 -0
- data/lib/2.7/ffi_c.so +0 -0
- data/lib/3.0/ffi_c.so +0 -0
- data/lib/ffi.rb +2 -2
- data/lib/ffi/abstract_memory.rb +44 -0
- data/lib/ffi/autopointer.rb +1 -1
- data/lib/ffi/ffi.rb +1 -0
- data/lib/ffi/io.rb +3 -3
- data/lib/ffi/library.rb +1 -1
- data/lib/ffi/managedstruct.rb +2 -2
- data/lib/ffi/platform.rb +20 -7
- data/lib/ffi/platform/aarch64-darwin/types.conf +130 -0
- data/lib/ffi/platform/aarch64-openbsd/types.conf +134 -0
- data/lib/ffi/platform/powerpc64le-linux/types.conf +100 -0
- data/lib/ffi/platform/riscv64-linux/types.conf +104 -0
- data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +4 -22
- data/lib/ffi/platform/x86_64-haiku/types.conf +117 -0
- data/lib/ffi/platform/x86_64-msys/types.conf +119 -0
- data/lib/ffi/pointer.rb +2 -2
- data/lib/ffi/variadic.rb +1 -10
- data/lib/ffi/version.rb +1 -1
- data/rakelib/ffi_gem_helper.rb +65 -0
- metadata +13 -10
- data/.appveyor.yml +0 -30
- data/.github/workflows/ci.yml +0 -64
- data/.gitignore +0 -25
- data/.gitmodules +0 -4
- data/.travis.yml +0 -58
- data/.yardopts +0 -5
data/.appveyor.yml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
install:
|
2
|
-
- SET PATH=C:\Ruby%RUBYVER%\bin;%PATH%
|
3
|
-
- SET RAKEOPT=-rdevkit
|
4
|
-
- ps: |
|
5
|
-
if ($env:RUBYVER -like "*head*") {
|
6
|
-
$(new-object net.webclient).DownloadFile("https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-head/rubyinstaller-$env:RUBYVER.exe", "$pwd/ruby-setup.exe")
|
7
|
-
cmd /c ruby-setup.exe /verysilent /dir=C:/Ruby$env:RUBYVER
|
8
|
-
}
|
9
|
-
- ridk version
|
10
|
-
- gem --version
|
11
|
-
- gem install bundler --quiet --no-document
|
12
|
-
- bundle install
|
13
|
-
# Update to libffi-3.3 since Appveyor version fails on LongDouble specs
|
14
|
-
- ridk exec pacman --sync --refresh --needed --noconfirm mingw-w64-x86_64-libffi mingw-w64-i686-libffi
|
15
|
-
build: off
|
16
|
-
build_script:
|
17
|
-
- bundle exec rake libffi compile -- %EXTCONFOPTS% || bundle exec rake compile -- %EXTCONFOPTS%
|
18
|
-
test_script:
|
19
|
-
- bundle exec rake test
|
20
|
-
- bundle exec rake types_conf && git --no-pager diff
|
21
|
-
environment:
|
22
|
-
matrix:
|
23
|
-
- RUBYVER: "head-x64"
|
24
|
-
EXTCONFOPTS: "--disable-system-libffi"
|
25
|
-
- RUBYVER: 24
|
26
|
-
EXTCONFOPTS: "--disable-system-libffi"
|
27
|
-
- RUBYVER: 25-x64
|
28
|
-
EXTCONFOPTS: "--enable-system-libffi"
|
29
|
-
- RUBYVER: 26
|
30
|
-
EXTCONFOPTS: "--enable-system-libffi"
|
data/.github/workflows/ci.yml
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
name: CI
|
2
|
-
on: [push, pull_request]
|
3
|
-
jobs:
|
4
|
-
system-libffi:
|
5
|
-
# Run on latest MRI with explicit selection of system or builtin libffi
|
6
|
-
strategy:
|
7
|
-
fail-fast: false
|
8
|
-
matrix:
|
9
|
-
os: [ ubuntu, macos, windows ]
|
10
|
-
extconfopts: [ --disable-system-libffi, --enable-system-libffi ]
|
11
|
-
runs-on: ${{ matrix.os }}-latest
|
12
|
-
steps:
|
13
|
-
- uses: actions/checkout@v2
|
14
|
-
- uses: ruby/setup-ruby@v1
|
15
|
-
with:
|
16
|
-
ruby-version: 2.7
|
17
|
-
|
18
|
-
- run: brew install automake libffi pkg-config
|
19
|
-
if: matrix.os == 'macos'
|
20
|
-
- run: ridk exec pacman --sync --refresh --needed --noconfirm mingw-w64-x86_64-libffi
|
21
|
-
if: matrix.os == 'windows' && matrix.extconfopts == '--enable-system-libffi'
|
22
|
-
|
23
|
-
- run: bundle install
|
24
|
-
- run: bundle exec rake libffi
|
25
|
-
- run: bundle exec rake compile -- ${{ matrix.extconfopts }}
|
26
|
-
env:
|
27
|
-
# work around misconfiguration of libffi on MacOS with homebrew
|
28
|
-
PKG_CONFIG_PATH: ${{ env.PKG_CONFIG_PATH }}:/usr/local/opt/libffi/lib/pkgconfig
|
29
|
-
- run: bundle exec rake test
|
30
|
-
- run: bundle exec rake types_conf && git --no-pager diff
|
31
|
-
|
32
|
-
specs:
|
33
|
-
# Run all specs on all ruby implementations
|
34
|
-
# Use automatic libffi selection on MRI
|
35
|
-
strategy:
|
36
|
-
fail-fast: false
|
37
|
-
matrix:
|
38
|
-
os: [ ubuntu, macos, windows ]
|
39
|
-
ruby: [ 2.3, 2.4, 2.5, 2.6, 2.7, ruby-head, truffleruby-head ]
|
40
|
-
exclude:
|
41
|
-
- os: windows
|
42
|
-
ruby: truffleruby-head
|
43
|
-
- os: windows
|
44
|
-
ruby: 2.3 # compilation fails
|
45
|
-
runs-on: ${{ matrix.os }}-latest
|
46
|
-
steps:
|
47
|
-
- uses: actions/checkout@v2
|
48
|
-
- uses: ruby/setup-ruby@v1
|
49
|
-
with:
|
50
|
-
ruby-version: ${{ matrix.ruby }}
|
51
|
-
|
52
|
-
- run: brew install automake
|
53
|
-
if: matrix.os == 'macos'
|
54
|
-
|
55
|
-
- run: bundle install
|
56
|
-
- run: bundle exec rake libffi
|
57
|
-
- run: bundle exec rake compile
|
58
|
-
|
59
|
-
- run: bundle exec rake test
|
60
|
-
|
61
|
-
- run: bundle exec rake bench:all
|
62
|
-
if: matrix.ruby != 'truffleruby-head'
|
63
|
-
env:
|
64
|
-
ITER: 10
|
data/.gitignore
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
doc/
|
2
|
-
bin/
|
3
|
-
.yardoc
|
4
|
-
*.orig
|
5
|
-
nbproject/private
|
6
|
-
pkg
|
7
|
-
*.orig
|
8
|
-
*.rej
|
9
|
-
*.patch
|
10
|
-
*.diff
|
11
|
-
build
|
12
|
-
*.so
|
13
|
-
*.[oa]
|
14
|
-
core
|
15
|
-
lib/ffi/types.conf
|
16
|
-
lib/ffi_c.bundle
|
17
|
-
lib/ffi_c.so
|
18
|
-
vendor
|
19
|
-
.bundle
|
20
|
-
Gemfile.lock
|
21
|
-
types_log
|
22
|
-
*.gem
|
23
|
-
embed-test.log
|
24
|
-
spec/ffi/embed-test/ext/Makefile
|
25
|
-
spec/ffi/embed-test/ext/embed_test.bundle
|
data/.gitmodules
DELETED
data/.travis.yml
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
dist: trusty
|
2
|
-
group: beta
|
3
|
-
language: ruby
|
4
|
-
git:
|
5
|
-
submodules: false
|
6
|
-
|
7
|
-
script:
|
8
|
-
- bundle exec rake libffi
|
9
|
-
- bundle exec rake compile
|
10
|
-
- bundle exec rake test
|
11
|
-
- |
|
12
|
-
if [[ $(ruby -v) != *truffleruby* ]]; then
|
13
|
-
ITER=10 bundle exec rake bench:all
|
14
|
-
fi
|
15
|
-
- bundle exec rake types_conf && git --no-pager diff
|
16
|
-
os:
|
17
|
-
- linux
|
18
|
-
- osx
|
19
|
-
rvm:
|
20
|
-
- 2.3.8
|
21
|
-
- 2.4.6
|
22
|
-
- 2.5.5
|
23
|
-
- 2.6.5
|
24
|
-
- 2.7.0
|
25
|
-
- ruby-head
|
26
|
-
- truffleruby-head
|
27
|
-
|
28
|
-
env:
|
29
|
-
- CC=gcc
|
30
|
-
- CC=clang
|
31
|
-
matrix:
|
32
|
-
allow_failures:
|
33
|
-
- os: osx
|
34
|
-
rvm: ruby-head
|
35
|
-
- os: osx
|
36
|
-
rvm: 2.3.8
|
37
|
-
- os: linux
|
38
|
-
rvm: ruby-head
|
39
|
-
include:
|
40
|
-
- name: powerpc
|
41
|
-
language: generic
|
42
|
-
before_install: |
|
43
|
-
docker run --rm --privileged multiarch/qemu-user-static:register --reset &&
|
44
|
-
docker build --rm -t ffi-powerpc -f spec/env/Dockerfile.powerpc .
|
45
|
-
script: |
|
46
|
-
docker run --rm -t -v `pwd`:/ffi ffi-powerpc
|
47
|
-
- name: armhf
|
48
|
-
language: generic
|
49
|
-
before_install: |
|
50
|
-
docker run --rm --privileged multiarch/qemu-user-static:register --reset &&
|
51
|
-
docker build --rm -t ffi-armhf -f spec/env/Dockerfile.armhf .
|
52
|
-
script: |
|
53
|
-
docker run --rm -t -v `pwd`:/ffi ffi-armhf
|
54
|
-
exclude:
|
55
|
-
- os: osx
|
56
|
-
rvm: truffleruby-head
|
57
|
-
after_failure:
|
58
|
-
- "find build -name mkmf.log | xargs cat"
|