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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c37670b488779329186dd39d128aa4b8be99d4394138a9df57d1d2862acf2979
4
- data.tar.gz: 397b5fb2a1cde23888eda7640a953051452b267c0ebda2d14e64bde954b1d97e
3
+ metadata.gz: 99e2b1ce6f914bd9b6449320d1c65bb5ac3cdd7f9afcf0189ee15a48e0bd8aac
4
+ data.tar.gz: 661f6b93c01a36993f89f121d1316d999c3e2f61fa7d577660a1e9d6a5898ff4
5
5
  SHA512:
6
- metadata.gz: 36bbf85db406a3d1a34997a110847fdcfca2fa61ae6d4f21430c931d91ee8880c0973172dfa531bc1a8284043ae5c51455411b3baee98ac589cbfafc30cba1e5
7
- data.tar.gz: 92c54b094f5a8049201ee538a36d8c9f4c5e8a221476380231e4ba42f0dc4b92ee3b8e0d2dba83acfaa08d6f6cc21a2b5516ddcb9675f5e4b080db775f92d4c1
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-17-jdk-headless maven && \
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 /build/*.deb /debs/
80
- RUN dpkg -i /debs/binutils-mingw-w64-x86-64_2.34-6ubuntu1.3+8.8_amd64.deb \
81
- /debs/g++-mingw-w64-x86-64_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
82
- /debs/gcc-mingw-w64-base_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
83
- /debs/gcc-mingw-w64-x86-64_9.3.0-17ubuntu1~20.04+22~exp1ubuntu4_amd64.deb \
84
- /debs/mingw-w64-common_7.0.0-2_all.deb \
85
- /debs/mingw-w64-tools_7.0.0-2_amd64.deb \
86
- /debs/mingw-w64-x86-64-dev_7.0.0-2_all.deb
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.0"
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
@@ -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. */
@@ -1,4 +1,4 @@
1
1
  module RakeCompilerDock
2
- VERSION = "1.2.0"
3
- IMAGE_VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
+ IMAGE_VERSION = "1.2.1"
4
4
  end
@@ -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
@@ -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.0
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
- L0RDPWdyZWl6LXJlaW5zZG9yZi9EQz1kZTAeFw0yMTAzMTAyMDIxNDBaFw0yMjAz
15
- MTAyMDIxNDBaMCgxJjAkBgNVBAMMHWxhcnMvREM9Z3JlaXotcmVpbnNkb3JmL0RD
16
- PWRlMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAoJSMECFMhBiOcic1
17
- y1cPjgrfxw/R7wK81sQbiilecqw7zcTRZKzhy7sFQzEF0Wbiy2WmStbktq8cXmet
18
- 44ZEQI5LtyDhkGl7AFMSows5eMu1ChBdOr45OJsHaidrZfVU2vkkohu2+ZJmcqCB
19
- TmjBIxTrKpSjMbL1TFd/C491L/SyKhJq90QMs3OfA12SUBD5wlgdfkQ5ZDi1LNTY
20
- rKCOqGaa/zkr7/5BWpsgYcC6ziaA956ktyuQFVUgZgyJTzYStRuYjbDmaZv2sldW
21
- zwx3Z2YTEItsdGAoZGbiLNuULmzzwyu8yGaWycpK8l8Al+vMpPaa/dgKUFUkAPjy
22
- neRjP+N6qWW0hxt0acdw3nXN5ITxo618dQmMzWdLw94wxsWzSUMGldLfNfu9hFnV
23
- zLrh1bFBYdXk6Mg1OnejZFBc2YlzF1u8Us+NNydHR8dMfRcAhp7sPeHOEKH8V6z2
24
- VgCHlzf1xq+P+FR8svIqGEBVPHuidr1GguIEqJe7enbjrF2ZAgMBAAGjgYEwfzAJ
25
- BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUZT8nEztzNp6aQDDOuZHX
26
- K9PjoW0wIgYDVR0RBBswGYEXbGFyc0BncmVpei1yZWluc2RvcmYuZGUwIgYDVR0S
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
- AHZW9LEmp+sptD9VhxGbMSacFwlf03IdkEfmd+7MGzS4nQCQJvs/B5JGTm6q20ML
29
- IJXpCnjBPjwnAflyV9rSr9DL2ShuAIJVNWuWs0uhUtz5HEOuV/fVSAFgLHpXP1yV
30
- weeoJfLmVeXhRUNo/mH0sjpuRm+C1EVb8QuKFItVa5VBf111Zgn7cFXuOjAtflQ2
31
- n3EGZATdVzduNvUENzg6l1Ba+q/nRKKHq5CnG6+1YzOhdzYKFOwlYMi6jLQK33aV
32
- aLvq6jWUIpNbL/95ZdOR8Cd6KsCmK5Zvxd5FMMjrQCsZD6OgReshsok5r6tSiNXc
33
- YgnBIIAFeoeGz8q+dsm6hPtkii/zr25MPRPmKnbRV7bV/zlbmwpIPxhso95lq3R5
34
- H5q2yo7qMajDFkxRffqQO8ONvDLGecxbuv1QEyzNBdehVt4I7UedIfxyOvKd9cg2
35
- d5T9wAD7jW/0seVujw+76/YOJWO3Dft+FQmMBbdd8s3J47HbN9R2mDt6fl6he+X/
36
- gw==
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-01-04 00:00:00.000000000 Z
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