ffi 1.15.4 → 1.15.5
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 +14 -0
- data/Rakefile +21 -7
- data/ext/ffi_c/Call.c +1 -1
- data/ext/ffi_c/libffi/Makefile.in +19 -28
- data/ext/ffi_c/libffi/configure +8 -4
- data/ext/ffi_c/libffi/doc/Makefile.in +2 -2
- data/ext/ffi_c/libffi/include/Makefile.in +2 -2
- data/ext/ffi_c/libffi/install-sh +69 -92
- data/ext/ffi_c/libffi/ltmain.sh +2 -2
- data/ext/ffi_c/libffi/man/Makefile.in +2 -2
- data/ext/ffi_c/libffi/missing +1 -1
- data/ext/ffi_c/libffi/testsuite/Makefile.in +3 -3
- data/lib/ffi/tools/const_generator.rb +5 -4
- data/lib/ffi/version.rb +1 -1
- data/rakelib/ffi_gem_helper.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d6f15f4e38ad34949be88341216eed2ea132c4e5763d333c20c240491b033ff6
|
|
4
|
+
data.tar.gz: deefb7285ccae7d7248ee2697709e859d4c0017e3aab7e183ce7fc2a824bd395
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7b2c32adb0af3689632c9b6113389245dba13d5f9e622efd2f322b0226933185ae0fbc128cb33c278dd2ef7fddda106fe8158904e95d1fa7d53b14ff72722ff6
|
|
7
|
+
data.tar.gz: 60ca6ad01c3d977b8b6efe0329683d4105cae8147848c9fcb0cabe643f5957e7a6ab6a06716e1f579ada6e0c3795f4fd4c0f16bda783342310a305423a5d7a60
|
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:
|
|
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
|
-
|
|
112
|
-
task
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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/ext/ffi_c/Call.c
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
#define FLOAT32_ADJ (4)
|
|
72
72
|
#define FLOAT64_ADJ (8)
|
|
73
73
|
#define ADDRESS_ADJ (sizeof(void *))
|
|
74
|
-
#define LONGDOUBLE_ADJ (ffi_type_longdouble.alignment)
|
|
74
|
+
#define LONGDOUBLE_ADJ (ffi_type_longdouble.alignment > sizeof(long double) ? ffi_type_longdouble.alignment : sizeof(long double))
|
|
75
75
|
|
|
76
76
|
#endif /* USE_RAW */
|
|
77
77
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.16.
|
|
1
|
+
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
|
-
# Copyright (C) 1994-
|
|
4
|
+
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
|
5
5
|
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -305,8 +305,8 @@ am__recursive_targets = \
|
|
|
305
305
|
$(am__extra_recursive_targets)
|
|
306
306
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
|
307
307
|
cscope distdir distdir-am dist dist-all distcheck
|
|
308
|
-
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES)
|
|
309
|
-
fficonfig.h.in
|
|
308
|
+
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
|
309
|
+
$(LISP)fficonfig.h.in
|
|
310
310
|
# Read a list of newline-separated strings from the standard input,
|
|
311
311
|
# and print each of them once, without duplicates. Input order is
|
|
312
312
|
# *not* preserved.
|
|
@@ -368,8 +368,6 @@ am__relativize = \
|
|
|
368
368
|
DIST_ARCHIVES = $(distdir).tar.gz
|
|
369
369
|
GZIP_ENV = --best
|
|
370
370
|
DIST_TARGETS = dist-gzip
|
|
371
|
-
# Exists only to be overridden by the user if desired.
|
|
372
|
-
AM_DISTCHECK_DVI_TARGET = dvi
|
|
373
371
|
distuninstallcheck_listfiles = find . -type f -print
|
|
374
372
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
|
375
373
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
|
@@ -1554,10 +1552,6 @@ dist-xz: distdir
|
|
|
1554
1552
|
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
|
1555
1553
|
$(am__post_remove_distdir)
|
|
1556
1554
|
|
|
1557
|
-
dist-zstd: distdir
|
|
1558
|
-
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
|
1559
|
-
$(am__post_remove_distdir)
|
|
1560
|
-
|
|
1561
1555
|
dist-tarZ: distdir
|
|
1562
1556
|
@echo WARNING: "Support for distribution archives compressed with" \
|
|
1563
1557
|
"legacy program 'compress' is deprecated." >&2
|
|
@@ -1600,8 +1594,6 @@ distcheck: dist
|
|
|
1600
1594
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
|
1601
1595
|
*.zip*) \
|
|
1602
1596
|
unzip $(distdir).zip ;;\
|
|
1603
|
-
*.tar.zst*) \
|
|
1604
|
-
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
|
1605
1597
|
esac
|
|
1606
1598
|
chmod -R a-w $(distdir)
|
|
1607
1599
|
chmod u+w $(distdir)
|
|
@@ -1617,7 +1609,7 @@ distcheck: dist
|
|
|
1617
1609
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
|
1618
1610
|
--srcdir=../.. --prefix="$$dc_install_base" \
|
|
1619
1611
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
|
1620
|
-
&& $(MAKE) $(AM_MAKEFLAGS)
|
|
1612
|
+
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
|
1621
1613
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
|
1622
1614
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
|
1623
1615
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
|
@@ -2030,21 +2022,20 @@ uninstall-am: uninstall-pkgconfigDATA uninstall-toolexeclibLTLIBRARIES
|
|
|
2030
2022
|
clean-generic clean-libtool clean-noinstLTLIBRARIES \
|
|
2031
2023
|
clean-toolexeclibLTLIBRARIES cscope cscopelist-am ctags \
|
|
2032
2024
|
ctags-am dist dist-all dist-bzip2 dist-gzip dist-hook \
|
|
2033
|
-
dist-lzip dist-shar dist-tarZ dist-xz dist-zip
|
|
2034
|
-
|
|
2035
|
-
distclean-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
install-dvi
|
|
2039
|
-
install-html
|
|
2040
|
-
install-
|
|
2041
|
-
install-ps
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
uninstall-toolexeclibLTLIBRARIES
|
|
2025
|
+
dist-lzip dist-shar dist-tarZ dist-xz dist-zip distcheck \
|
|
2026
|
+
distclean distclean-compile distclean-generic distclean-hdr \
|
|
2027
|
+
distclean-libtool distclean-tags distcleancheck distdir \
|
|
2028
|
+
distuninstallcheck dvi dvi-am html html-am info info-am \
|
|
2029
|
+
install install-am install-data install-data-am install-dvi \
|
|
2030
|
+
install-dvi-am install-exec install-exec-am install-html \
|
|
2031
|
+
install-html-am install-info install-info-am install-man \
|
|
2032
|
+
install-pdf install-pdf-am install-pkgconfigDATA install-ps \
|
|
2033
|
+
install-ps-am install-strip install-toolexeclibLTLIBRARIES \
|
|
2034
|
+
installcheck installcheck-am installdirs installdirs-am \
|
|
2035
|
+
maintainer-clean maintainer-clean-generic mostlyclean \
|
|
2036
|
+
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
|
2037
|
+
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
|
|
2038
|
+
uninstall-pkgconfigDATA uninstall-toolexeclibLTLIBRARIES
|
|
2048
2039
|
|
|
2049
2040
|
.PRECIOUS: Makefile
|
|
2050
2041
|
|
data/ext/ffi_c/libffi/configure
CHANGED
|
@@ -3094,7 +3094,12 @@ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
|
|
|
3094
3094
|
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
|
|
3095
3095
|
|
|
3096
3096
|
if test x"${MISSING+set}" != xset; then
|
|
3097
|
-
|
|
3097
|
+
case $am_aux_dir in
|
|
3098
|
+
*\ * | *\ *)
|
|
3099
|
+
MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
|
|
3100
|
+
*)
|
|
3101
|
+
MISSING="\${SHELL} $am_aux_dir/missing" ;;
|
|
3102
|
+
esac
|
|
3098
3103
|
fi
|
|
3099
3104
|
# Use eval to expand $SHELL
|
|
3100
3105
|
if eval "$MISSING --is-lightweight"; then
|
|
@@ -21274,9 +21279,7 @@ $as_echo X/"$am_mf" |
|
|
|
21274
21279
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
|
21275
21280
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
|
21276
21281
|
as_fn_error $? "Something went wrong bootstrapping makefile fragments
|
|
21277
|
-
for automatic dependency tracking.
|
|
21278
|
-
re-running the configure script with MAKE=\"gmake\" (or whatever is
|
|
21279
|
-
necessary). You can also try re-running configure with the
|
|
21282
|
+
for automatic dependency tracking. Try re-running configure with the
|
|
21280
21283
|
'--disable-dependency-tracking' option to at least be able to build
|
|
21281
21284
|
the package (albeit without support for automatic dependency tracking).
|
|
21282
21285
|
See \`config.log' for more details" "$LINENO" 5; }
|
|
@@ -21303,6 +21306,7 @@ See \`config.log' for more details" "$LINENO" 5; }
|
|
|
21303
21306
|
cat <<_LT_EOF >> "$cfgfile"
|
|
21304
21307
|
#! $SHELL
|
|
21305
21308
|
# Generated automatically by $as_me ($PACKAGE) $VERSION
|
|
21309
|
+
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
|
|
21306
21310
|
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
|
|
21307
21311
|
|
|
21308
21312
|
# Provide generalized library-building support services.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.16.
|
|
1
|
+
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
|
-
# Copyright (C) 1994-
|
|
4
|
+
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
|
5
5
|
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.16.
|
|
1
|
+
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
|
-
# Copyright (C) 1994-
|
|
4
|
+
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
|
5
5
|
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
data/ext/ffi_c/libffi/install-sh
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
# install - install a program, script, or datafile
|
|
3
3
|
|
|
4
|
-
scriptversion=
|
|
4
|
+
scriptversion=2018-03-11.20; # UTC
|
|
5
5
|
|
|
6
6
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
|
7
7
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
|
@@ -69,11 +69,6 @@ posix_mkdir=
|
|
|
69
69
|
# Desired mode of installed file.
|
|
70
70
|
mode=0755
|
|
71
71
|
|
|
72
|
-
# Create dirs (including intermediate dirs) using mode 755.
|
|
73
|
-
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
|
74
|
-
mkdir_umask=22
|
|
75
|
-
|
|
76
|
-
backupsuffix=
|
|
77
72
|
chgrpcmd=
|
|
78
73
|
chmodcmd=$chmodprog
|
|
79
74
|
chowncmd=
|
|
@@ -104,28 +99,18 @@ Options:
|
|
|
104
99
|
--version display version info and exit.
|
|
105
100
|
|
|
106
101
|
-c (ignored)
|
|
107
|
-
-C install only if different (preserve data modification time)
|
|
102
|
+
-C install only if different (preserve the last data modification time)
|
|
108
103
|
-d create directories instead of installing files.
|
|
109
104
|
-g GROUP $chgrpprog installed files to GROUP.
|
|
110
105
|
-m MODE $chmodprog installed files to MODE.
|
|
111
106
|
-o USER $chownprog installed files to USER.
|
|
112
|
-
-p pass -p to $cpprog.
|
|
113
107
|
-s $stripprog installed files.
|
|
114
|
-
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
|
115
108
|
-t DIRECTORY install into DIRECTORY.
|
|
116
109
|
-T report an error if DSTFILE is a directory.
|
|
117
110
|
|
|
118
111
|
Environment variables override the default commands:
|
|
119
112
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
|
120
113
|
RMPROG STRIPPROG
|
|
121
|
-
|
|
122
|
-
By default, rm is invoked with -f; when overridden with RMPROG,
|
|
123
|
-
it's up to you to specify -f if you want it.
|
|
124
|
-
|
|
125
|
-
If -S is not specified, no backups are attempted.
|
|
126
|
-
|
|
127
|
-
Email bug reports to bug-automake@gnu.org.
|
|
128
|
-
Automake home page: https://www.gnu.org/software/automake/
|
|
129
114
|
"
|
|
130
115
|
|
|
131
116
|
while test $# -ne 0; do
|
|
@@ -152,13 +137,8 @@ while test $# -ne 0; do
|
|
|
152
137
|
-o) chowncmd="$chownprog $2"
|
|
153
138
|
shift;;
|
|
154
139
|
|
|
155
|
-
-p) cpprog="$cpprog -p";;
|
|
156
|
-
|
|
157
140
|
-s) stripcmd=$stripprog;;
|
|
158
141
|
|
|
159
|
-
-S) backupsuffix="$2"
|
|
160
|
-
shift;;
|
|
161
|
-
|
|
162
142
|
-t)
|
|
163
143
|
is_target_a_directory=always
|
|
164
144
|
dst_arg=$2
|
|
@@ -275,10 +255,6 @@ do
|
|
|
275
255
|
dstdir=$dst
|
|
276
256
|
test -d "$dstdir"
|
|
277
257
|
dstdir_status=$?
|
|
278
|
-
# Don't chown directories that already exist.
|
|
279
|
-
if test $dstdir_status = 0; then
|
|
280
|
-
chowncmd=""
|
|
281
|
-
fi
|
|
282
258
|
else
|
|
283
259
|
|
|
284
260
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
|
@@ -325,6 +301,22 @@ do
|
|
|
325
301
|
if test $dstdir_status != 0; then
|
|
326
302
|
case $posix_mkdir in
|
|
327
303
|
'')
|
|
304
|
+
# Create intermediate dirs using mode 755 as modified by the umask.
|
|
305
|
+
# This is like FreeBSD 'install' as of 1997-10-28.
|
|
306
|
+
umask=`umask`
|
|
307
|
+
case $stripcmd.$umask in
|
|
308
|
+
# Optimize common cases.
|
|
309
|
+
*[2367][2367]) mkdir_umask=$umask;;
|
|
310
|
+
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
|
311
|
+
|
|
312
|
+
*[0-7])
|
|
313
|
+
mkdir_umask=`expr $umask + 22 \
|
|
314
|
+
- $umask % 100 % 40 + $umask % 20 \
|
|
315
|
+
- $umask % 10 % 4 + $umask % 2
|
|
316
|
+
`;;
|
|
317
|
+
*) mkdir_umask=$umask,go-w;;
|
|
318
|
+
esac
|
|
319
|
+
|
|
328
320
|
# With -d, create the new directory with the user-specified mode.
|
|
329
321
|
# Otherwise, rely on $mkdir_umask.
|
|
330
322
|
if test -n "$dir_arg"; then
|
|
@@ -334,49 +326,52 @@ do
|
|
|
334
326
|
fi
|
|
335
327
|
|
|
336
328
|
posix_mkdir=false
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
329
|
+
case $umask in
|
|
330
|
+
*[123567][0-7][0-7])
|
|
331
|
+
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
|
332
|
+
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
|
333
|
+
;;
|
|
334
|
+
*)
|
|
335
|
+
# Note that $RANDOM variable is not portable (e.g. dash); Use it
|
|
336
|
+
# here however when possible just to lower collision chance.
|
|
337
|
+
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
|
338
|
+
|
|
339
|
+
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|
340
|
+
|
|
341
|
+
# Because "mkdir -p" follows existing symlinks and we likely work
|
|
342
|
+
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
|
343
|
+
# directory is successfully created first before we actually test
|
|
344
|
+
# 'mkdir -p' feature.
|
|
345
|
+
if (umask $mkdir_umask &&
|
|
346
|
+
$mkdirprog $mkdir_mode "$tmpdir" &&
|
|
347
|
+
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
|
348
|
+
then
|
|
349
|
+
if test -z "$dir_arg" || {
|
|
350
|
+
# Check for POSIX incompatibilities with -m.
|
|
351
|
+
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
|
352
|
+
# other-writable bit of parent directory when it shouldn't.
|
|
353
|
+
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
|
354
|
+
test_tmpdir="$tmpdir/a"
|
|
355
|
+
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
|
356
|
+
case $ls_ld_tmpdir in
|
|
357
|
+
d????-?r-*) different_mode=700;;
|
|
358
|
+
d????-?--*) different_mode=755;;
|
|
359
|
+
*) false;;
|
|
360
|
+
esac &&
|
|
361
|
+
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
|
362
|
+
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
|
363
|
+
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
then posix_mkdir=:
|
|
367
|
+
fi
|
|
368
|
+
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
|
369
|
+
else
|
|
370
|
+
# Remove any dirs left behind by ancient mkdir implementations.
|
|
371
|
+
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
|
372
|
+
fi
|
|
373
|
+
trap '' 0;;
|
|
374
|
+
esac;;
|
|
380
375
|
esac
|
|
381
376
|
|
|
382
377
|
if
|
|
@@ -387,7 +382,7 @@ do
|
|
|
387
382
|
then :
|
|
388
383
|
else
|
|
389
384
|
|
|
390
|
-
# mkdir does not conform to POSIX,
|
|
385
|
+
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
|
391
386
|
# or it failed possibly due to a race condition. Create the
|
|
392
387
|
# directory the slow way, step by step, checking for races as we go.
|
|
393
388
|
|
|
@@ -416,7 +411,7 @@ do
|
|
|
416
411
|
prefixes=
|
|
417
412
|
else
|
|
418
413
|
if $posix_mkdir; then
|
|
419
|
-
(umask
|
|
414
|
+
(umask=$mkdir_umask &&
|
|
420
415
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
|
421
416
|
# Don't fail if two instances are running concurrently.
|
|
422
417
|
test -d "$prefix" || exit 1
|
|
@@ -456,18 +451,7 @@ do
|
|
|
456
451
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
|
457
452
|
|
|
458
453
|
# Copy the file name to the temp name.
|
|
459
|
-
(umask $cp_umask &&
|
|
460
|
-
{ test -z "$stripcmd" || {
|
|
461
|
-
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
|
462
|
-
# which would cause strip to fail.
|
|
463
|
-
if test -z "$doit"; then
|
|
464
|
-
: >"$dsttmp" # No need to fork-exec 'touch'.
|
|
465
|
-
else
|
|
466
|
-
$doit touch "$dsttmp"
|
|
467
|
-
fi
|
|
468
|
-
}
|
|
469
|
-
} &&
|
|
470
|
-
$doit_exec $cpprog "$src" "$dsttmp") &&
|
|
454
|
+
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
|
471
455
|
|
|
472
456
|
# and set any options; do chmod last to preserve setuid bits.
|
|
473
457
|
#
|
|
@@ -493,13 +477,6 @@ do
|
|
|
493
477
|
then
|
|
494
478
|
rm -f "$dsttmp"
|
|
495
479
|
else
|
|
496
|
-
# If $backupsuffix is set, and the file being installed
|
|
497
|
-
# already exists, attempt a backup. Don't worry if it fails,
|
|
498
|
-
# e.g., if mv doesn't support -f.
|
|
499
|
-
if test -n "$backupsuffix" && test -f "$dst"; then
|
|
500
|
-
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
|
501
|
-
fi
|
|
502
|
-
|
|
503
480
|
# Rename the file to the real destination.
|
|
504
481
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
|
505
482
|
|
|
@@ -514,9 +491,9 @@ do
|
|
|
514
491
|
# file should still install successfully.
|
|
515
492
|
{
|
|
516
493
|
test ! -f "$dst" ||
|
|
517
|
-
$doit $rmcmd "$dst" 2>/dev/null ||
|
|
494
|
+
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
|
518
495
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
|
519
|
-
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
|
496
|
+
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
|
520
497
|
} ||
|
|
521
498
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
|
522
499
|
(exit 1); exit 1
|
data/ext/ffi_c/libffi/ltmain.sh
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
PROGRAM=libtool
|
|
33
33
|
PACKAGE=libtool
|
|
34
|
-
VERSION="2.4.6 Debian-2.4.6-
|
|
34
|
+
VERSION="2.4.6 Debian-2.4.6-14"
|
|
35
35
|
package_revision=2.4.6
|
|
36
36
|
|
|
37
37
|
|
|
@@ -2141,7 +2141,7 @@ include the following information:
|
|
|
2141
2141
|
compiler: $LTCC
|
|
2142
2142
|
compiler flags: $LTCFLAGS
|
|
2143
2143
|
linker: $LD (gnu? $with_gnu_ld)
|
|
2144
|
-
version: $progname $scriptversion Debian-2.4.6-
|
|
2144
|
+
version: $progname $scriptversion Debian-2.4.6-14
|
|
2145
2145
|
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
|
|
2146
2146
|
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
|
|
2147
2147
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.16.
|
|
1
|
+
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
|
-
# Copyright (C) 1994-
|
|
4
|
+
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
|
5
5
|
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
data/ext/ffi_c/libffi/missing
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
scriptversion=2018-03-07.03; # UTC
|
|
5
5
|
|
|
6
|
-
# Copyright (C) 1996-
|
|
6
|
+
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
|
7
7
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
|
8
8
|
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Makefile.in generated by automake 1.16.
|
|
1
|
+
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
|
2
2
|
# @configure_input@
|
|
3
3
|
|
|
4
|
-
# Copyright (C) 1994-
|
|
4
|
+
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
|
5
5
|
|
|
6
6
|
# This Makefile.in is free software; the Free Software Foundation
|
|
7
7
|
# gives unlimited permission to copy and/or distribute it,
|
|
@@ -463,7 +463,7 @@ site.exp: Makefile $(EXTRA_DEJAGNU_SITE_CONFIG)
|
|
|
463
463
|
@echo '# Do not edit here. If you wish to override these values' >>site.tmp
|
|
464
464
|
@echo '# edit the last section' >>site.tmp
|
|
465
465
|
@echo 'set srcdir "$(srcdir)"' >>site.tmp
|
|
466
|
-
@echo "set objdir
|
|
466
|
+
@echo "set objdir `pwd`" >>site.tmp
|
|
467
467
|
@echo 'set build_alias "$(build_alias)"' >>site.tmp
|
|
468
468
|
@echo 'set build_triplet $(build_triplet)' >>site.tmp
|
|
469
469
|
@echo 'set host_alias "$(host_alias)"' >>site.tmp
|
|
@@ -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
|
-
|
|
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 #{
|
|
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 = `#{
|
|
137
|
-
File.unlink(
|
|
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
data/rakelib/ffi_gem_helper.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.15.
|
|
4
|
+
version: 1.15.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Wayne Meissner
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-01-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -652,7 +652,7 @@ metadata:
|
|
|
652
652
|
wiki_uri: https://github.com/ffi/ffi/wiki
|
|
653
653
|
source_code_uri: https://github.com/ffi/ffi/
|
|
654
654
|
mailing_list_uri: http://groups.google.com/group/ruby-ffi
|
|
655
|
-
post_install_message:
|
|
655
|
+
post_install_message:
|
|
656
656
|
rdoc_options:
|
|
657
657
|
- "--exclude=ext/ffi_c/.*\\.o$"
|
|
658
658
|
- "--exclude=ffi_c\\.(bundle|so)$"
|
|
@@ -669,8 +669,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
669
669
|
- !ruby/object:Gem::Version
|
|
670
670
|
version: '0'
|
|
671
671
|
requirements: []
|
|
672
|
-
rubygems_version: 3.
|
|
673
|
-
signing_key:
|
|
672
|
+
rubygems_version: 3.3.4
|
|
673
|
+
signing_key:
|
|
674
674
|
specification_version: 4
|
|
675
675
|
summary: Ruby FFI
|
|
676
676
|
test_files: []
|