ffi 1.15.4 → 1.15.5
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|