From 726d6b7e761389d745c6d7b6f41cc1d30583a21b Mon Sep 17 00:00:00 2001 From: Mike Dalessio Date: Thu, 17 Jul 2025 17:44:24 -0400 Subject: [PATCH 1/6] Bump the versions of Ruby in the MRI containers. --- Dockerfile.mri.erb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index d06be383..ad29bf24 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -148,7 +148,7 @@ RUN sudo mkdir -p /usr/local/rake-compiler && \ xrubies_build_plan = if platform =~ /x64-mingw-ucrt/ [ # Rubyinstaller-3.1+ is platform x64-mingw-ucrt - ["3.4.1:3.3.7:3.2.6:3.1.6", "3.4.1"], + ["3.4.5:3.3.8:3.2.8:3.1.7", "3.4.5"], ] elsif platform =~ /aarch64-mingw-ucrt/ [ @@ -157,12 +157,12 @@ elsif platform =~ /aarch64-mingw-ucrt/ elsif platform =~ /x64-mingw32/ [ # Rubyinstaller prior to 3.1 is platform x64-mingw32 - ["3.0.7:2.7.8", "3.1.6"], + ["3.0.7:2.7.8", "3.1.7"], ] else [ - ["2.7.8", "3.1.6"], - ["3.4.1:3.3.7:3.2.6:3.1.6:3.0.7", "3.4.1"], + ["2.7.8", "3.1.7"], + ["3.4.5:3.3.8:3.2.8:3.1.7:3.0.7", "3.4.5"], ] end @@ -264,8 +264,8 @@ RUN echo 'source /etc/profile.d/rcd-env.sh' >> /etc/rubybashrc # Install sudoers configuration COPY build/sudoers /etc/sudoers.d/rake-compiler-dock -RUN bash -c "rbenv global 3.4.1" +RUN bash -c "rbenv global 3.4.5" -ENV RUBY_CC_VERSION=3.4.1:3.3.7:3.2.6:3.1.6:3.0.7:2.7.8 +ENV RUBY_CC_VERSION=3.4.5:3.3.8:3.2.8:3.1.7:3.0.7:2.7.8 CMD bash From b426e3c70d651df74f1cdd66b8e281b011d86df1 Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Mon, 21 Jul 2025 12:04:40 +0200 Subject: [PATCH 2/6] Bump native ruby versions --- Dockerfile.mri.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index ad29bf24..98098a5b 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -108,7 +108,7 @@ ENV BASH_ENV=/etc/rubybashrc ## USER rubyuser -ENV RBENV_RUBIES="3.1.6 3.4.1" +ENV RBENV_RUBIES="3.1.7 3.4.5" # Install the bootstrap rubies RUN bash -c " \ From edabc59b5b6dd883a2f74b12ca51a2048cbc0686 Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Mon, 21 Jul 2025 12:13:57 +0200 Subject: [PATCH 3/6] Update versions for RakeCompilerDock.ruby_cc_version --- lib/rake_compiler_dock.rb | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/rake_compiler_dock.rb b/lib/rake_compiler_dock.rb index 22cb513b..e951fb98 100644 --- a/lib/rake_compiler_dock.rb +++ b/lib/rake_compiler_dock.rb @@ -82,20 +82,20 @@ def exec(*args, &block) # # RakeCompilerDock.cross_rubies # # => { - # # "3.4" => "3.4.1", - # # "3.3" => "3.3.5", - # # "3.2" => "3.2.6", - # # "3.1" => "3.1.6", + # # "3.4" => "3.4.5", + # # "3.3" => "3.3.8", + # # "3.2" => "3.2.8", + # # "3.1" => "3.1.7", # # "3.0" => "3.0.7", # # "2.7" => "2.7.8", # # } # def cross_rubies { - "3.4" => "3.4.1", - "3.3" => "3.3.7", - "3.2" => "3.2.6", - "3.1" => "3.1.6", + "3.4" => "3.4.5", + "3.3" => "3.3.8", + "3.2" => "3.2.8", + "3.1" => "3.1.7", "3.0" => "3.0.7", "2.7" => "2.7.8", } @@ -112,13 +112,13 @@ def cross_rubies # # For example: # RakeCompilerDock.ruby_cc_version("2.7", "3.4") - # # => "3.4.1:2.7.8" + # # => "3.4.5:2.7.8" # # RakeCompilerDock.ruby_cc_version("~> 3.2") - # # => "3.4.1:3.3.7:3.2.6" + # # => "3.4.5:3.3.8:3.2.8" # # RakeCompilerDock.ruby_cc_version(Gem::Requirement.new("~> 3.2")) - # # => "3.4.1:3.3.7:3.2.6" + # # => "3.4.5:3.3.8:3.2.8" # def ruby_cc_version(*requirements) cross = cross_rubies From d863a1aca5974eb07cf702aaf6cc8200611f711c Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Mon, 21 Jul 2025 13:17:24 +0200 Subject: [PATCH 4/6] Bump one missing reference to ruby-3.1.6 --- Dockerfile.mri.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index 98098a5b..5db8473e 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -152,7 +152,7 @@ xrubies_build_plan = if platform =~ /x64-mingw-ucrt/ ] elsif platform =~ /aarch64-mingw-ucrt/ [ - ["3.4.1", "3.1.6"], + ["3.4.5", "3.1.7"], ] elsif platform =~ /x64-mingw32/ [ From 66f6ed0ac2e24a71d0e40b8bd718fc1d2ffc921a Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Fri, 25 Jul 2025 17:26:52 +0200 Subject: [PATCH 5/6] Bump cross rubies to 3.2.9 and 3.3.9 --- Dockerfile.mri.erb | 6 +++--- lib/rake_compiler_dock.rb | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index 5db8473e..4c9b58db 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -148,7 +148,7 @@ RUN sudo mkdir -p /usr/local/rake-compiler && \ xrubies_build_plan = if platform =~ /x64-mingw-ucrt/ [ # Rubyinstaller-3.1+ is platform x64-mingw-ucrt - ["3.4.5:3.3.8:3.2.8:3.1.7", "3.4.5"], + ["3.4.5:3.3.9:3.2.9:3.1.7", "3.4.5"], ] elsif platform =~ /aarch64-mingw-ucrt/ [ @@ -162,7 +162,7 @@ elsif platform =~ /x64-mingw32/ else [ ["2.7.8", "3.1.7"], - ["3.4.5:3.3.8:3.2.8:3.1.7:3.0.7", "3.4.5"], + ["3.4.5:3.3.9:3.2.9:3.1.7:3.0.7", "3.4.5"], ] end @@ -266,6 +266,6 @@ COPY build/sudoers /etc/sudoers.d/rake-compiler-dock RUN bash -c "rbenv global 3.4.5" -ENV RUBY_CC_VERSION=3.4.5:3.3.8:3.2.8:3.1.7:3.0.7:2.7.8 +ENV RUBY_CC_VERSION=3.4.5:3.3.9:3.2.9:3.1.7:3.0.7:2.7.8 CMD bash diff --git a/lib/rake_compiler_dock.rb b/lib/rake_compiler_dock.rb index e951fb98..ecd87949 100644 --- a/lib/rake_compiler_dock.rb +++ b/lib/rake_compiler_dock.rb @@ -83,8 +83,8 @@ def exec(*args, &block) # RakeCompilerDock.cross_rubies # # => { # # "3.4" => "3.4.5", - # # "3.3" => "3.3.8", - # # "3.2" => "3.2.8", + # # "3.3" => "3.3.9", + # # "3.2" => "3.2.9", # # "3.1" => "3.1.7", # # "3.0" => "3.0.7", # # "2.7" => "2.7.8", @@ -93,8 +93,8 @@ def exec(*args, &block) def cross_rubies { "3.4" => "3.4.5", - "3.3" => "3.3.8", - "3.2" => "3.2.8", + "3.3" => "3.3.9", + "3.2" => "3.2.9", "3.1" => "3.1.7", "3.0" => "3.0.7", "2.7" => "2.7.8", @@ -115,10 +115,10 @@ def cross_rubies # # => "3.4.5:2.7.8" # # RakeCompilerDock.ruby_cc_version("~> 3.2") - # # => "3.4.5:3.3.8:3.2.8" + # # => "3.4.5:3.3.9:3.2.9" # # RakeCompilerDock.ruby_cc_version(Gem::Requirement.new("~> 3.2")) - # # => "3.4.5:3.3.8:3.2.8" + # # => "3.4.5:3.3.9:3.2.9" # def ruby_cc_version(*requirements) cross = cross_rubies From 6e1eefc028ef6c035156ba7911a476f7b0af1455 Mon Sep 17 00:00:00 2001 From: Lars Kanis Date: Fri, 25 Jul 2025 17:54:20 +0200 Subject: [PATCH 6/6] Add pthread to LIBS of Windows cross rubies This fixes configure test for clock_gettime on ruby-3.2.9 and 3.3.9. Without this the check fails with a linker error. And without HAVE_CLOCK_GETTIME the compilation of process.c fails with undefined variable errors. Taken from here: https://github.com/oneclick/rubyinstaller2-packages/commit/a5476572f633800b624ad76a43a04865f4d6b67b ruby-3.2.8 and 3.3.8 don't need this additional flag. It otherwise fails with: 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c:8389:13: error: 'c' undeclared (first use in this function) 16 127.7 8389 | c = CLOCK_REALTIME; 16 127.7 | ^ 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c:8389:13: note: each undeclared identifier is reported only once for each function it appears in 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c:8397:13: error: label 'gettime' used but not defined 16 127.7 8397 | goto gettime; 16 127.7 | ^~~~ 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c: In function 'rb_clock_getres': 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c:8620:13: error: 'c' undeclared (first use in this function) 16 127.7 8620 | c = CLOCK_REALTIME; 16 127.7 | ^ 16 127.7 /usr/local/rake-compiler/sources/ruby-3.2.9/process.c:8628:13: error: label 'getres' used but not defined 16 127.7 8628 | goto getres; 16 127.7 | ^~~~ 16 127.7 make: *** [Makefile:468: process.o] Error 1 --- Dockerfile.mri.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.mri.erb b/Dockerfile.mri.erb index 4c9b58db..ba8656fb 100644 --- a/Dockerfile.mri.erb +++ b/Dockerfile.mri.erb @@ -174,7 +174,7 @@ RUN bash -c " \ export CPPFLAGS='<%= "-D__USE_MINGW_ANSI_STDIO=1" if platform =~ /x64-mingw-ucrt/ %>' && \ export CFLAGS='-O1 -fno-omit-frame-pointer -fno-fast-math -fstack-protector-strong <%= strip %>' && \ export LDFLAGS='-pipe <%= strip %>' && \ - <%= "export LIBS='-l:libssp.a' &&" if platform =~ /mingw/ %> \ + <%= "export LIBS='-l:libssp.a -lpthread' &&" if platform =~ /mingw/ %> \ <%= "export CC=#{target}-clang &&" if platform =~ /darwin/ %> \ export MAKE='make V=1' && \ rake-compiler cross-ruby VERSION=<%= xrubies %> HOST=<%= target %> && \