rake-compiler-dock 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/Dockerfile.jruby +1 -1
- data/Dockerfile.mri.erb +15 -9
- data/History.md +9 -0
- data/README.md +1 -1
- data/build/math_h.patch +189 -0
- data/lib/rake_compiler_dock/version.rb +2 -2
- data/test/env/Dockerfile.centos +5 -0
- data/test/rcd_test/Rakefile +1 -0
- data/test/rcd_test/ext/mri/extconf.rb +3 -0
- data/test/rcd_test/ext/mri/rcd_test_ext.c +16 -0
- data/test/rcd_test/test/test_basic.rb +9 -0
- data.tar.gz.sig +0 -0
- metadata +25 -24
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 99e2b1ce6f914bd9b6449320d1c65bb5ac3cdd7f9afcf0189ee15a48e0bd8aac
|
4
|
+
data.tar.gz: 661f6b93c01a36993f89f121d1316d999c3e2f61fa7d577660a1e9d6a5898ff4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3a4639688aeeb8c3b6d0142fadcf6c088f86f3672aca2873df1af672b22b7cff93245905ac6b00aac0c4467f495a5df6d9309f3660bbf27ee8f98d3dc47d8b92
|
7
|
+
data.tar.gz: bbc042289e0ad041c42a5b6fd13ee55930546535505e59d310c11d7b9a0130718f5c84f78bc6b539437b58e1329ad2a5a2e082125fffeefd40f6173df739eab1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/Dockerfile.jruby
CHANGED
@@ -2,7 +2,7 @@ FROM ubuntu:20.04
|
|
2
2
|
|
3
3
|
ENV DEBIAN_FRONTEND noninteractive
|
4
4
|
RUN apt-get -y update && \
|
5
|
-
apt-get install -y curl git-core xz-utils wget unzip sudo gpg dirmngr openjdk-
|
5
|
+
apt-get install -y curl git-core xz-utils wget unzip sudo gpg dirmngr openjdk-11-jdk-headless maven && \
|
6
6
|
rm -rf /var/lib/apt/lists/*
|
7
7
|
|
8
8
|
# Add "rvm" as system group, to avoid conflicts with host GIDs typically starting with 1000
|
data/Dockerfile.mri.erb
CHANGED
@@ -76,14 +76,15 @@ RUN sudo mkdir -p /usr/local/rake-compiler && \
|
|
76
76
|
USER root
|
77
77
|
|
78
78
|
<% if platform=~/x64-mingw-ucrt/ %>
|
79
|
-
COPY --from=larskanis/mingw64-ucrt:20.04
|
80
|
-
|
81
|
-
/
|
82
|
-
/
|
83
|
-
/
|
84
|
-
/
|
85
|
-
/
|
86
|
-
/debs/
|
79
|
+
COPY --from=larskanis/mingw64-ucrt:20.04 \
|
80
|
+
/build/binutils-mingw-w64-x86-64_2.34-6ubuntu1.3+8.8_amd64.deb \
|
81
|
+
/build/g++-mingw-w64-x86-64_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
|
82
|
+
/build/gcc-mingw-w64-base_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
|
83
|
+
/build/gcc-mingw-w64-x86-64_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
|
84
|
+
/build/mingw-w64-common_7.0.0-2_all.deb \
|
85
|
+
/build/mingw-w64-x86-64-dev_7.0.0-2_all.deb \
|
86
|
+
/debs/
|
87
|
+
RUN dpkg -i /debs/*.deb
|
87
88
|
|
88
89
|
<% elsif !manylinux %>
|
89
90
|
RUN apt-get -y update && \
|
@@ -207,7 +208,7 @@ RUN bash -c " \
|
|
207
208
|
RUN find /usr/local/rake-compiler/ruby/*linux*/ -name libruby.so | xargs rm
|
208
209
|
RUN find /usr/local/rake-compiler/ruby/*linux*/ -name libruby-static.a | while read f ; do cp $f `echo $f | sed s/-static//` ; done
|
209
210
|
RUN find /usr/local/rake-compiler/ruby/*linux*/ -name libruby.a | while read f ; do ar t $f | xargs ar d $f ; done
|
210
|
-
RUN find /usr/local/rake-compiler/ruby/*linux*/ -name mkmf.rb | while read f ; do sed -i ':a;N;$!ba;s/TRY_LINK = [^\n]*\n[^\n]*\n[^\n]*LOCAL_LIBS)/& -lruby-static/' $f ; done
|
211
|
+
RUN find /usr/local/rake-compiler/ruby/*linux*/ -name mkmf.rb | while read f ; do sed -i ':a;N;$!ba;s/TRY_LINK = [^\n]*\n[^\n]*\n[^\n]*LOCAL_LIBS)/& -lruby-static -lpthread -lrt -ldl <% if platform=~/x86/ %> -lcrypt <% end %>/' $f ; done
|
211
212
|
<% end %>
|
212
213
|
|
213
214
|
<% if platform=~/mingw/ %>
|
@@ -247,6 +248,11 @@ RUN for f in addr2line gcc gcov-tool ranlib ar dwp gcc-ranlib nm readelf as elfe
|
|
247
248
|
|
248
249
|
# ruby-2.5 links to libcrypt, which isn't necessary for extensions
|
249
250
|
RUN find /usr/local/rake-compiler/ruby -name rbconfig.rb | while read f ; do sed -i 's/-lcrypt//' $f ; done
|
251
|
+
|
252
|
+
# Use builtin functions of newer gcc to avoid linker issues on Musl based Linux
|
253
|
+
COPY build/math_h.patch /root/
|
254
|
+
RUN cd /usr/include/ && \
|
255
|
+
patch -p1 < /root/math_h.patch
|
250
256
|
<% end %>
|
251
257
|
|
252
258
|
<% if platform=~/arm64-darwin/ %>
|
data/History.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
1.2.1 / 2022-03-17
|
2
|
+
------------------
|
3
|
+
|
4
|
+
* Fix testing for ruby C-API functions in mkmf. #65, #67
|
5
|
+
* Use openjdk 11 to make maven work on ubuntu 20.04. #64
|
6
|
+
* Remove x86_64-w64-mingw32-pkg-config from the x64-mingw-ucrt image. #63
|
7
|
+
* Add a patch for math.h to use gcc builtins and to improve compat with musl based systems. #42
|
8
|
+
|
9
|
+
|
1
10
|
1.2.0 / 2022-01-04
|
2
11
|
------------------
|
3
12
|
|
data/README.md
CHANGED
@@ -108,7 +108,7 @@ jobs:
|
|
108
108
|
name: "native-gem"
|
109
109
|
runs-on: ubuntu-latest
|
110
110
|
container:
|
111
|
-
image: "larskanis/rake-compiler-dock-mri-x86_64-linux:1.2.
|
111
|
+
image: "larskanis/rake-compiler-dock-mri-x86_64-linux:1.2.1"
|
112
112
|
steps:
|
113
113
|
- uses: actions/checkout@v2
|
114
114
|
- run: bundle install && bundle exec rake gem:x86_64-linux:rcd
|
data/build/math_h.patch
ADDED
@@ -0,0 +1,189 @@
|
|
1
|
+
--- centos7/math.h 2020-12-31 23:15:40.678843646 +0100
|
2
|
+
+++ builtin/math.h 2022-03-16 21:35:13.086169875 +0100
|
3
|
+
@@ -206,68 +206,142 @@
|
4
|
+
FP_NORMAL
|
5
|
+
};
|
6
|
+
|
7
|
+
+
|
8
|
+
+/* Depending on the type of TG_ARG, call an appropriately suffixed
|
9
|
+
+ version of FUNC with arguments (including parentheses) ARGS.
|
10
|
+
+ Suffixed functions may not exist for long double if it has the same
|
11
|
+
+ format as double, or for other types with the same format as float,
|
12
|
+
+ double or long double. The behavior is undefined if the argument
|
13
|
+
+ does not have a real floating type. The definition may use a
|
14
|
+
+ conditional expression, so all suffixed versions of FUNC must
|
15
|
+
+ return the same type (FUNC may include a cast if necessary rather
|
16
|
+
+ than being a single identifier). */
|
17
|
+
+#ifdef __NO_LONG_DOUBLE_MATH
|
18
|
+
+# if __HAVE_DISTINCT_FLOAT128
|
19
|
+
+# error "Distinct _Float128 without distinct long double not supported."
|
20
|
+
+# endif
|
21
|
+
+# define __MATH_TG(TG_ARG, FUNC, ARGS) \
|
22
|
+
+ (sizeof (TG_ARG) == sizeof (float) ? FUNC ## f ARGS : FUNC ARGS)
|
23
|
+
+#elif __HAVE_DISTINCT_FLOAT128
|
24
|
+
+# if __HAVE_GENERIC_SELECTION
|
25
|
+
+# if __HAVE_FLOATN_NOT_TYPEDEF && __HAVE_FLOAT32
|
26
|
+
+# define __MATH_TG_F32(FUNC, ARGS) _Float32: FUNC ## f ARGS,
|
27
|
+
+# else
|
28
|
+
+# define __MATH_TG_F32(FUNC, ARGS)
|
29
|
+
+# endif
|
30
|
+
+# if __HAVE_FLOATN_NOT_TYPEDEF && __HAVE_FLOAT64X
|
31
|
+
+# if __HAVE_FLOAT64X_LONG_DOUBLE
|
32
|
+
+# define __MATH_TG_F64X(FUNC, ARGS) _Float64x: FUNC ## l ARGS,
|
33
|
+
+# else
|
34
|
+
+# define __MATH_TG_F64X(FUNC, ARGS) _Float64x: FUNC ## f128 ARGS,
|
35
|
+
+# endif
|
36
|
+
+# else
|
37
|
+
+# define __MATH_TG_F64X(FUNC, ARGS)
|
38
|
+
+# endif
|
39
|
+
+# define __MATH_TG(TG_ARG, FUNC, ARGS) \
|
40
|
+
+ _Generic ((TG_ARG), \
|
41
|
+
+ float: FUNC ## f ARGS, \
|
42
|
+
+ __MATH_TG_F32 (FUNC, ARGS) \
|
43
|
+
+ default: FUNC ARGS, \
|
44
|
+
+ long double: FUNC ## l ARGS, \
|
45
|
+
+ __MATH_TG_F64X (FUNC, ARGS) \
|
46
|
+
+ _Float128: FUNC ## f128 ARGS)
|
47
|
+
+# else
|
48
|
+
+# if __HAVE_FLOATN_NOT_TYPEDEF
|
49
|
+
+# error "Non-typedef _FloatN but no _Generic."
|
50
|
+
+# endif
|
51
|
+
+# define __MATH_TG(TG_ARG, FUNC, ARGS) \
|
52
|
+
+ __builtin_choose_expr \
|
53
|
+
+ (__builtin_types_compatible_p (__typeof (TG_ARG), float), \
|
54
|
+
+ FUNC ## f ARGS, \
|
55
|
+
+ __builtin_choose_expr \
|
56
|
+
+ (__builtin_types_compatible_p (__typeof (TG_ARG), double), \
|
57
|
+
+ FUNC ARGS, \
|
58
|
+
+ __builtin_choose_expr \
|
59
|
+
+ (__builtin_types_compatible_p (__typeof (TG_ARG), long double), \
|
60
|
+
+ FUNC ## l ARGS, \
|
61
|
+
+ FUNC ## f128 ARGS)))
|
62
|
+
+# endif
|
63
|
+
+#else
|
64
|
+
+# define __MATH_TG(TG_ARG, FUNC, ARGS) \
|
65
|
+
+ (sizeof (TG_ARG) == sizeof (float) \
|
66
|
+
+ ? FUNC ## f ARGS \
|
67
|
+
+ : sizeof (TG_ARG) == sizeof (double) \
|
68
|
+
+ ? FUNC ARGS \
|
69
|
+
+ : FUNC ## l ARGS)
|
70
|
+
+#endif
|
71
|
+
+
|
72
|
+
/* Return number of classification appropriate for X. */
|
73
|
+
-# ifdef __NO_LONG_DOUBLE_MATH
|
74
|
+
-# define fpclassify(x) \
|
75
|
+
- (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
|
76
|
+
-# else
|
77
|
+
-# define fpclassify(x) \
|
78
|
+
- (sizeof (x) == sizeof (float) \
|
79
|
+
- ? __fpclassifyf (x) \
|
80
|
+
- : sizeof (x) == sizeof (double) \
|
81
|
+
- ? __fpclassify (x) : __fpclassifyl (x))
|
82
|
+
+# if ((__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \
|
83
|
+
+ ) \
|
84
|
+
+ && (!defined __OPTIMIZE_SIZE__ || defined __cplusplus)
|
85
|
+
+ /* The check for __cplusplus allows the use of the builtin, even
|
86
|
+
+ when optimization for size is on. This is provided for
|
87
|
+
+ libstdc++, only to let its configure test work when it is built
|
88
|
+
+ with -Os. No further use of this definition of fpclassify is
|
89
|
+
+ expected in C++ mode, since libstdc++ provides its own version
|
90
|
+
+ of fpclassify in cmath (which undefines fpclassify). */
|
91
|
+
+# define fpclassify(x) __builtin_fpclassify (FP_NAN, FP_INFINITE, \
|
92
|
+
+ FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x)
|
93
|
+
+# else
|
94
|
+
+# define fpclassify(x) __MATH_TG ((x), __fpclassify, (x))
|
95
|
+
# endif
|
96
|
+
|
97
|
+
/* Return nonzero value if sign of X is negative. */
|
98
|
+
-# ifdef __NO_LONG_DOUBLE_MATH
|
99
|
+
-# define signbit(x) \
|
100
|
+
- (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x))
|
101
|
+
-# else
|
102
|
+
-# define signbit(x) \
|
103
|
+
- (sizeof (x) == sizeof (float) \
|
104
|
+
- ? __signbitf (x) \
|
105
|
+
- : sizeof (x) == sizeof (double) \
|
106
|
+
- ? __signbit (x) : __signbitl (x))
|
107
|
+
+# if __GNUC_PREREQ (6,0)
|
108
|
+
+# define signbit(x) __builtin_signbit (x)
|
109
|
+
+# elif defined __cplusplus
|
110
|
+
+ /* In C++ mode, __MATH_TG cannot be used, because it relies on
|
111
|
+
+ __builtin_types_compatible_p, which is a C-only builtin.
|
112
|
+
+ The check for __cplusplus allows the use of the builtin instead of
|
113
|
+
+ __MATH_TG. This is provided for libstdc++, only to let its configure
|
114
|
+
+ test work. No further use of this definition of signbit is expected
|
115
|
+
+ in C++ mode, since libstdc++ provides its own version of signbit
|
116
|
+
+ in cmath (which undefines signbit). */
|
117
|
+
+# define signbit(x) __builtin_signbitl (x)
|
118
|
+
+# elif __GNUC_PREREQ (4,0)
|
119
|
+
+# define signbit(x) __MATH_TG ((x), __builtin_signbit, (x))
|
120
|
+
+# else
|
121
|
+
+# define signbit(x) __MATH_TG ((x), __signbit, (x))
|
122
|
+
# endif
|
123
|
+
|
124
|
+
/* Return nonzero value if X is not +-Inf or NaN. */
|
125
|
+
-# ifdef __NO_LONG_DOUBLE_MATH
|
126
|
+
-# define isfinite(x) \
|
127
|
+
- (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x))
|
128
|
+
-# else
|
129
|
+
-# define isfinite(x) \
|
130
|
+
- (sizeof (x) == sizeof (float) \
|
131
|
+
- ? __finitef (x) \
|
132
|
+
- : sizeof (x) == sizeof (double) \
|
133
|
+
- ? __finite (x) : __finitel (x))
|
134
|
+
+# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__)
|
135
|
+
+# define isfinite(x) __builtin_isfinite (x)
|
136
|
+
+# else
|
137
|
+
+# define isfinite(x) __MATH_TG ((x), __finite, (x))
|
138
|
+
# endif
|
139
|
+
|
140
|
+
/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */
|
141
|
+
-# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
142
|
+
+# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__)
|
143
|
+
+# define isnormal(x) __builtin_isnormal (x)
|
144
|
+
+# else
|
145
|
+
+# define isnormal(x) (fpclassify (x) == FP_NORMAL)
|
146
|
+
+# endif
|
147
|
+
|
148
|
+
/* Return nonzero value if X is a NaN. We could use `fpclassify' but
|
149
|
+
we already have this functions `__isnan' and it is faster. */
|
150
|
+
-# ifdef __NO_LONG_DOUBLE_MATH
|
151
|
+
-# define isnan(x) \
|
152
|
+
- (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x))
|
153
|
+
-# else
|
154
|
+
-# define isnan(x) \
|
155
|
+
- (sizeof (x) == sizeof (float) \
|
156
|
+
- ? __isnanf (x) \
|
157
|
+
- : sizeof (x) == sizeof (double) \
|
158
|
+
- ? __isnan (x) : __isnanl (x))
|
159
|
+
+# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__)
|
160
|
+
+# define isnan(x) __builtin_isnan (x)
|
161
|
+
+# else
|
162
|
+
+# define isnan(x) __MATH_TG ((x), __isnan, (x))
|
163
|
+
# endif
|
164
|
+
|
165
|
+
/* Return nonzero value if X is positive or negative infinity. */
|
166
|
+
-# ifdef __NO_LONG_DOUBLE_MATH
|
167
|
+
+# if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \
|
168
|
+
+ && !defined __SUPPORT_SNAN__ && !defined __cplusplus
|
169
|
+
+ /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0,
|
170
|
+
+ use the helper function, __isinff128, with older compilers. This is
|
171
|
+
+ only provided for C mode, because in C++ mode, GCC has no support
|
172
|
+
+ for __builtin_types_compatible_p (and when in C++ mode, this macro is
|
173
|
+
+ not used anyway, because libstdc++ headers undefine it). */
|
174
|
+
# define isinf(x) \
|
175
|
+
- (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x))
|
176
|
+
+ (__builtin_types_compatible_p (__typeof (x), _Float128) \
|
177
|
+
+ ? __isinff128 (x) : __builtin_isinf_sign (x))
|
178
|
+
+# elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__)
|
179
|
+
+# define isinf(x) __builtin_isinf_sign (x)
|
180
|
+
# else
|
181
|
+
-# define isinf(x) \
|
182
|
+
- (sizeof (x) == sizeof (float) \
|
183
|
+
- ? __isinff (x) \
|
184
|
+
- : sizeof (x) == sizeof (double) \
|
185
|
+
- ? __isinf (x) : __isinfl (x))
|
186
|
+
+# define isinf(x) __MATH_TG ((x), __isinf, (x))
|
187
|
+
# endif
|
188
|
+
|
189
|
+
/* Bitmasks for the math_errhandling macro. */
|
data/test/env/Dockerfile.centos
CHANGED
@@ -2,6 +2,11 @@ ARG from_image
|
|
2
2
|
FROM ${from_image}
|
3
3
|
|
4
4
|
RUN uname -a
|
5
|
+
|
6
|
+
# Change download address of Centos-8 which is EOL
|
7
|
+
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
|
8
|
+
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
|
9
|
+
|
5
10
|
RUN yum install -y ruby git
|
6
11
|
|
7
12
|
RUN ruby --version
|
data/test/rcd_test/Rakefile
CHANGED
@@ -56,6 +56,7 @@ namespace "gem" do
|
|
56
56
|
require 'rake_compiler_dock'
|
57
57
|
sh "bundle package --all"
|
58
58
|
RakeCompilerDock.sh <<-EOT, rubyvm: "jruby", platform: "jruby", mountdir: Dir.pwd + "/../.."
|
59
|
+
mvn archetype:generate -DartifactId=test -DarchetypeVersion=1.4 -DinteractiveMode=false -DgroupId=test -Dpackage=test &&
|
59
60
|
bundle --local &&
|
60
61
|
bundle exec rake java gem
|
61
62
|
EOT
|
@@ -16,5 +16,8 @@ else
|
|
16
16
|
puts "Gem::Platform.local.to_s: #{Gem::Platform.local.to_s.inspect}"
|
17
17
|
puts "-"*70
|
18
18
|
|
19
|
+
have_func('rb_thread_call_without_gvl', 'ruby/thread.h') ||
|
20
|
+
raise("rb_thread_call_without_gvl() not found")
|
21
|
+
|
19
22
|
create_makefile("rcd_test/rcd_test_ext")
|
20
23
|
end
|
@@ -6,6 +6,20 @@
|
|
6
6
|
|
7
7
|
VALUE rb_mRcdTest;
|
8
8
|
|
9
|
+
static VALUE
|
10
|
+
rcdt_isinf_eh(VALUE self, VALUE rb_float) {
|
11
|
+
Check_Type(rb_float, T_FLOAT);
|
12
|
+
|
13
|
+
return isinf(RFLOAT_VALUE(rb_float)) ? Qtrue : Qfalse;
|
14
|
+
}
|
15
|
+
|
16
|
+
static VALUE
|
17
|
+
rcdt_isnan_eh(VALUE self, VALUE rb_float) {
|
18
|
+
Check_Type(rb_float, T_FLOAT);
|
19
|
+
|
20
|
+
return isnan(RFLOAT_VALUE(rb_float)) ? Qtrue : Qfalse;
|
21
|
+
}
|
22
|
+
|
9
23
|
static VALUE
|
10
24
|
rcdt_do_something(VALUE self)
|
11
25
|
{
|
@@ -32,4 +46,6 @@ Init_rcd_test_ext(void)
|
|
32
46
|
rb_mRcdTest = rb_define_module("RcdTest");
|
33
47
|
rb_define_singleton_method(rb_mRcdTest, "do_something", rcdt_do_something, 0);
|
34
48
|
rb_define_singleton_method(rb_mRcdTest, "darwin_builtin_available?", rcdt_darwin_builtin_available_eh, 0);
|
49
|
+
rb_define_singleton_method(rb_mRcdTest, "isinf?", rcdt_isinf_eh, 1);
|
50
|
+
rb_define_singleton_method(rb_mRcdTest, "isnan?", rcdt_isnan_eh, 1);
|
35
51
|
}
|
@@ -19,4 +19,13 @@ class TestBasic < Minitest::Test
|
|
19
19
|
assert_equal("__builtin_available is not defined", e.message)
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
def test_floating_point_classification_macros
|
24
|
+
skip("jruby should not run libc-specific tests") if RUBY_ENGINE == "jruby"
|
25
|
+
refute(RcdTest.isinf?(42.0))
|
26
|
+
assert(RcdTest.isinf?(Float::INFINITY))
|
27
|
+
refute(RcdTest.isnan?(42.0))
|
28
|
+
assert(RcdTest.isnan?(Float::NAN))
|
29
|
+
end
|
30
|
+
|
22
31
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler-dock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lars Kanis
|
@@ -11,31 +11,31 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIETTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1sYXJz
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
14
|
+
L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMjAyMTQxMzMwNTZaFw0yMzAy
|
15
|
+
MTQxMzMwNTZaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
|
16
|
+
PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAwum6Y1KznfpzXOT/
|
17
|
+
mZgJTBbxZuuZF49Fq3K0WA67YBzNlDv95qzSp7V/7Ek3NCcnT7G+2kSuhNo1FhdN
|
18
|
+
eSDO/moYebZNAcu3iqLsuzuULXPLuoU0GsMnVMqV9DZPh7cQHE5EBZ7hlzDBK7k/
|
19
|
+
8nBMvR0mHo77kIkapHc26UzVq/G0nKLfDsIHXVylto3PjzOumjG6GhmFN4r3cP6e
|
20
|
+
SDfl1FSeRYVpt4kmQULz/zdSaOH3AjAq7PM2Z91iGwQvoUXMANH2v89OWjQO/NHe
|
21
|
+
JMNDFsmHK/6Ji4Kk48Z3TyscHQnipAID5GhS1oD21/WePdj7GhmbF5gBzkV5uepd
|
22
|
+
eJQPgWGwrQW/Z2oPjRuJrRofzWfrMWqbOahj9uth6WSxhNexUtbjk6P8emmXOJi5
|
23
|
+
chQPnWX+N3Gj+jjYxqTFdwT7Mj3pv1VHa+aNUbqSPpvJeDyxRIuo9hvzDaBHb/Cg
|
24
|
+
9qRVcm8a96n4t7y2lrX1oookY6bkBaxWOMtWlqIprq8JZXM9AgMBAAGjgYEwfzAJ
|
25
|
+
BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUOIdbSMr3VFrTCO9/cTM0
|
26
|
+
0exHzBcwIgYDVR0RBBswGYEXbGFyc0BncmVpei1yZWluc2RvcmYuZGUwIgYDVR0S
|
27
27
|
BBswGYEXbGFyc0BncmVpei1yZWluc2RvcmYuZGUwDQYJKoZIhvcNAQELBQADggGB
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
28
|
+
AFWP7F/y3Oq3NgrqUOnjKOeDaBa7AqNhHS+PZg+C90lnJzMgOs4KKgZYxqSQVSab
|
29
|
+
SCEmzIO/StkXY4NpJ4fYLrHemf/fJy1wPyu+fNdp5SEEUwEo+2toRFlzTe4u4LdS
|
30
|
+
QC636nPPTMt8H3xz2wf/lUIUeo2Qc95Qt2BQM465ibbG9kmA3c7Sopx6yOabYOAl
|
31
|
+
KPRbOSEPiWYcF9Suuz8Gdf8jxEtPlnZiwRvnYJ+IHMq3XQCJWPpMzdDMbtlgHbXE
|
32
|
+
vq1zOTLMSYAS0UB3uionR4yo1hLz60odwkCm7qf0o2Ci/5OjtB0a89VuyqRU2vUJ
|
33
|
+
QH95WBjDJ6lCCW7J0mrMPnJQSUFTmufsU6jOChvPaCeAzW1YwrsP/YKnvwueG7ip
|
34
|
+
VOdW6RitjtFxhS7evRL0201+KUvLz12zZWWjOcujlQs64QprxOtiv/MiisKb1Ng+
|
35
|
+
oL1mUdzB8KrZL4/WbG5YNX6UTtJbIOu9qEFbBAy4/jtIkJX+dlNoFwd4GXQW1YNO
|
36
|
+
nA==
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2022-
|
38
|
+
date: 2022-03-17 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: bundler
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- Rakefile
|
107
107
|
- bin/rake-compiler-dock
|
108
108
|
- build/gem_helper.rb
|
109
|
+
- build/math_h.patch
|
109
110
|
- build/mk_i686.rb
|
110
111
|
- build/parallel_docker_build.rb
|
111
112
|
- build/patches/ruby-2.5.9/no_sendfile.patch
|
metadata.gz.sig
CHANGED
Binary file
|