From 52d16a1321fce5ba5ffaa58345a28ee83b0f0f8d Mon Sep 17 00:00:00 2001 From: GitHub Actions Bot Date: Tue, 15 Sep 2026 00:40:42 +0000 Subject: [PATCH 1/5] Added 4.0.7 with OpenSSL 3.0.22 --- share/ruby-build/4.0.7 | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 share/ruby-build/4.0.7 diff --git a/share/ruby-build/4.0.7 b/share/ruby-build/4.0.7 new file mode 100644 index 00000000..d8f0affb --- /dev/null +++ b/share/ruby-build/4.0.7 @@ -0,0 +1,2 @@ +install_package "openssl-3.0.22" "https://github.com/openssl/openssl/releases/download/openssl-3.0.22/openssl-3.0.22.tar.gz#67ebca7e50d17383028045486653492195b83db95f8558709701bb47b5c1ef81" openssl --if needs_openssl:1.1.1-3.x.x +install_package "ruby-4.0.7" "https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.7.tar.gz#911ace20f90d068ca0e4dda6d0e4f0f81e52e52f2dd4f4004c721e253412e82d" enable_shared standard From 8f9a450872f5bb83ea64cc223ae6b85fd7cce6b8 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Tue, 15 Sep 2026 13:25:38 +0200 Subject: [PATCH 2/5] ruby-build 20260915 --- bin/ruby-build | 2 +- share/man/man1/ruby-build.1 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/ruby-build b/bin/ruby-build index ebc4dcad..6b56ec42 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -18,7 +18,7 @@ # -6, --ipv6 Resolve names to IPv6 addresses only # -RUBY_BUILD_VERSION="20260902" +RUBY_BUILD_VERSION="20260915" OLDIFS="$IFS" diff --git a/share/man/man1/ruby-build.1 b/share/man/man1/ruby-build.1 index 145e39a2..8a1356dc 100644 --- a/share/man/man1/ruby-build.1 +++ b/share/man/man1/ruby-build.1 @@ -2,12 +2,12 @@ .\" Title: ruby-build .\" Author: Mislav Marohnić .\" Generator: Asciidoctor 2.0.26 -.\" Date: 2026-05-01 +.\" Date: 2026-05-03 .\" Manual: ruby-build Manual -.\" Source: ruby-build 20260902 +.\" Source: ruby-build 20260915 .\" Language: English .\" -.TH "RUBY\-BUILD" "1" "2026-05-01" "ruby\-build 20260902" "ruby\-build Manual" +.TH "RUBY\-BUILD" "1" "2026-05-03" "ruby\-build 20260915" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 From eff399fced77ab8a4949c662524eb673615c0903 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Tue, 15 Sep 2026 13:35:45 +0200 Subject: [PATCH 3/5] Set -x flag for release script to show commands being run * This makes it much easier to rerun a command if it failed and to know where the script stopped. --- script/release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/release b/script/release index e1352e4d..b457a40b 100755 --- a/script/release +++ b/script/release @@ -8,7 +8,7 @@ # - creates a new Release on GitHub # - [automated] a GitHub Action will create a Homebrew PR for the new release -set -e +set -ex git fetch -q --tags origin master git checkout -q master From 6ac4038204162a22648bdf10f4ebd55249899e59 Mon Sep 17 00:00:00 2001 From: Hiroshi SHIBATA Date: Wed, 16 Sep 2026 09:14:57 +0900 Subject: [PATCH 4/5] Hide dup3() and pipe2() from configure on macOS older than 27 The macOS 27 SDK declares both as available since macOS 27.0, and `AC_CHECK_FUNCS` detects them regardless of the deployment target, so Ruby built on macOS 26 with the Command Line Tools 27 calls weakly linked NULL symbols and crashes miniruby during the build. https://bugs.ruby-lang.org/issues/22311 https://github.com/rbenv/ruby-build/issues/2640 Co-Authored-By: Claude Opus 5 --- bin/ruby-build | 7 +++++ test/compiler.bats | 76 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 82 insertions(+), 1 deletion(-) diff --git a/bin/ruby-build b/bin/ruby-build index 6b56ec42..5000794f 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -754,6 +754,13 @@ build_package_standard() { # override them and notably lose the -O3, producing a -O0 Ruby. export cflags="-std=gnu17 $cflags" fi + if [ "$package_var_name" = "RUBY" ] && is_mac && ! is_mac 2700; then + # The macOS 27 SDK declares dup3() and pipe2() as available since macOS 27.0. + # Ruby's configure detects them even when building for an older macOS, where + # they are only weakly linked and are NULL at runtime, which makes miniruby + # crash during the build: https://bugs.ruby-lang.org/issues/22311 + export ac_cv_func_dup3=no ac_cv_func_pipe2=no + fi # ./configure --prefix=/path/to/ruby # shellcheck disable=SC2086,SC2153 capture_command ${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \ diff --git a/test/compiler.bats b/test/compiler.bats index 58728379..14ac4daa 100755 --- a/test/compiler.bats +++ b/test/compiler.bats @@ -12,7 +12,7 @@ export -n RUBY_CONFIGURE_OPTS cd "$INSTALL_ROOT" stub_repeated uname '-s : echo Darwin' - stub sw_vers '-productVersion : echo 10.10' + stub_repeated sw_vers '-productVersion : echo 10.10' stub_repeated brew 'false' # shellcheck disable=SC2016 stub_repeated make 'echo "make $(inspect_args "$@")" >> build.log' @@ -43,3 +43,77 @@ OUT unstub brew unstub make } + +@test "dup3 and pipe2 are hidden from configure when building on older macOS" { + mkdir -p "$INSTALL_ROOT" + cd "$INSTALL_ROOT" + + stub_repeated uname '-s : echo Darwin' + stub_repeated sw_vers '-productVersion : echo 26.6.2' + stub_repeated brew 'false' + # shellcheck disable=SC2016 + stub_repeated make 'echo "make $(inspect_args "$@")" >> build.log' + + cat > ./configure < build.log +echo dup3=\${ac_cv_func_dup3-unset} >> build.log +echo pipe2=\${ac_cv_func_pipe2-unset} >> build.log +CON + chmod +x ./configure + + run_inline_definition <> build.log' + + cat > ./configure < build.log +echo dup3=\${ac_cv_func_dup3-unset} >> build.log +echo pipe2=\${ac_cv_func_pipe2-unset} >> build.log +CON + chmod +x ./configure + + run_inline_definition < Date: Wed, 16 Sep 2026 09:49:03 +0900 Subject: [PATCH 5/5] ruby-build 20260916 --- bin/ruby-build | 2 +- share/man/man1/ruby-build.1 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/ruby-build b/bin/ruby-build index 5000794f..1e931da1 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -18,7 +18,7 @@ # -6, --ipv6 Resolve names to IPv6 addresses only # -RUBY_BUILD_VERSION="20260915" +RUBY_BUILD_VERSION="20260916" OLDIFS="$IFS" diff --git a/share/man/man1/ruby-build.1 b/share/man/man1/ruby-build.1 index 8a1356dc..d81aae40 100644 --- a/share/man/man1/ruby-build.1 +++ b/share/man/man1/ruby-build.1 @@ -2,12 +2,12 @@ .\" Title: ruby-build .\" Author: Mislav Marohnić .\" Generator: Asciidoctor 2.0.26 -.\" Date: 2026-05-03 +.\" Date: 2026-05-07 .\" Manual: ruby-build Manual -.\" Source: ruby-build 20260915 +.\" Source: ruby-build 20260916 .\" Language: English .\" -.TH "RUBY\-BUILD" "1" "2026-05-03" "ruby\-build 20260915" "ruby\-build Manual" +.TH "RUBY\-BUILD" "1" "2026-05-07" "ruby\-build 20260916" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0