diff --git a/README.md b/README.md index 20e1495b..7581776e 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ The build process may be configured through the following environment variables: | `RUBY_BUILD_ROOT` | The path prefix to search for build definitions files. *Deprecated:* use `RUBY_BUILD_DEFINITIONS`| | `RUBY_BUILD_VENDOR_OPENSSL` | Build and vendor openssl even if the system openssl is compatible | | `CC` | Path to the C compiler. | -| `RUBY_CFLAGS` | Overrides Ruby's default `CFLAGS`, including `-O3` (beware: without a `-O` flag Ruby is built unoptimized). To add flags, use `RUBY_CONFIGURE_OPTS=cflags=...` instead | +| `RUBY_CFLAGS` | Additional `CFLAGS` options (_e.g.,_ to override `-O3`). | | `CONFIGURE_OPTS` | Additional `./configure` options. | | `MAKE` | Custom `make` command (_e.g.,_ `gmake`). | | `MAKE_OPTS` / `MAKEOPTS` | Additional `make` options. | diff --git a/bin/ruby-build b/bin/ruby-build index 1e931da1..fd4dd414 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -18,7 +18,7 @@ # -6, --ipv6 Resolve names to IPv6 addresses only # -RUBY_BUILD_VERSION="20260916" +RUBY_BUILD_VERSION="20260714" OLDIFS="$IFS" @@ -748,18 +748,7 @@ build_package_standard() { # # TODO: Consider changing this to check for GCC v15 specifically # rather than inspecting the OS itself. - - # Use the cflags configure variable, which Ruby's configure appends to - # its default optflags/debugflags/warnflags, unlike CFLAGS which would - # 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 + export CFLAGS="-std=gnu17 $CFLAGS" fi # ./configure --prefix=/path/to/ruby # shellcheck disable=SC2086,SC2153 @@ -1180,11 +1169,7 @@ homebrew_openssl_versions() { # Example: 3.1.23 -> 30123 # See also osx_version, require_java normalize_semver() { - if [ "$1" = "dev" ]; then - echo 99999999 - else - awk -F. '{print $1 * 10000 + $2 * 100 + $3}' <<<"$1" - fi + awk -F. '{print $1 * 10000 + $2 * 100 + $3}' <<<"$1" } # Checks if system OpenSSL does NOT satisfy the version requirement diff --git a/script/release b/script/release index b457a40b..e1352e4d 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 -ex +set -e git fetch -q --tags origin master git checkout -q master diff --git a/share/man/man1/ruby-build.1 b/share/man/man1/ruby-build.1 index d81aae40..1ba191b1 100644 --- a/share/man/man1/ruby-build.1 +++ b/share/man/man1/ruby-build.1 @@ -4,10 +4,10 @@ .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-07 .\" Manual: ruby-build Manual -.\" Source: ruby-build 20260916 +.\" Source: ruby-build 20260714 .\" Language: English .\" -.TH "RUBY\-BUILD" "1" "2026-05-07" "ruby\-build 20260916" "ruby\-build Manual" +.TH "RUBY\-BUILD" "1" "2026-05-07" "ruby\-build 20260714" "ruby\-build Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 diff --git a/share/ruby-build/3.3.12 b/share/ruby-build/3.3.12 deleted file mode 100644 index 513211f1..00000000 --- a/share/ruby-build/3.3.12 +++ /dev/null @@ -1,2 +0,0 @@ -install_package "openssl-3.0.21" "https://github.com/openssl/openssl/releases/download/openssl-3.0.21/openssl-3.0.21.tar.gz#617e29af8e421f46649484a4937e48c685e47f46488167c982f88bc4ec1d522f" openssl --if needs_openssl:1.0.2-3.x.x -install_package "ruby-3.3.12" "https://cache.ruby-lang.org/pub/ruby/3.3/ruby-3.3.12.tar.gz#b06d63beae271933033e27f0a389bc582a009e7845357d44365c39de525a051b" enable_shared standard diff --git a/share/ruby-build/4.0.7 b/share/ruby-build/4.0.7 deleted file mode 100644 index d8f0affb..00000000 --- a/share/ruby-build/4.0.7 +++ /dev/null @@ -1,2 +0,0 @@ -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 diff --git a/share/ruby-build/jruby-10.1.1.0 b/share/ruby-build/jruby-10.1.1.0 deleted file mode 100644 index 36414515..00000000 --- a/share/ruby-build/jruby-10.1.1.0 +++ /dev/null @@ -1,2 +0,0 @@ -require_java 21 -install_package "jruby-10.1.1.0" "https://repo1.maven.org/maven2/org/jruby/jruby-dist/10.1.1.0/jruby-dist-10.1.1.0-bin.tar.gz#1e08bff6a7f0134a4774fba37d8cf88b9dd4a7317bd49fca5af696a327450148" jruby diff --git a/test/compiler.bats b/test/compiler.bats index 14ac4daa..58728379 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_repeated sw_vers '-productVersion : echo 10.10' + stub sw_vers '-productVersion : echo 10.10' stub_repeated brew 'false' # shellcheck disable=SC2016 stub_repeated make 'echo "make $(inspect_args "$@")" >> build.log' @@ -43,77 +43,3 @@ 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 <