A tool to download, compile, and install Ruby on Unix-like systems.
ruby-dev
definition by @eregon in https://github.com/rbenv/ruby-build/pull/2311
warn_unsuppported
, warn_eol
labels by @mislav in https://github.com/rbenv/ruby-build/pull/2308
verify_openssl
step from build definitions by @mislav in https://github.com/rbenv/ruby-build/pull/2314
--with-ext
by @mislav in https://github.com/rbenv/ruby-build/pull/2316
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20231114...v20231211
--show-progress
for wget by @mislav in https://github.com/rbenv/ruby-build/pull/2304
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20231107...v20231114
This is the biggest ruby-build update in a long while since it includes a large restructuring of how ruby-build works to make it a more modern and friendlier command line tool for Ruby beginners and experts alike. The most visible change should be that the output of ruby-build is now more verbose (even in the default, non-verbose mode), but there were many other changes under the hood that should help with the overall health of the project.
ruby-build now prints external commands as they are executed - @mislav in https://github.com/rbenv/ruby-build/pull/2230
Now there is more transparency to what ruby-build does: at the glance of the output, it should be clear that ruby-build is mostly just a wrapper around the curl → untar → ./configure
→ make
→ make install
combo. Furthermore, when an error arises, it should now be more apparent which build step failed, even before having to dive into the log file.
Additionally, network downloaders such as curl
, wget
, and git
are now connected directly to the terminal, allowing them to display progress information.
In ruby-build --verbose
mode, the output of all external commands is now connected to the same stdout/stderr as the ruby-build process, and a log file doesn't get created anymore.
The "BUILD FAILED" output is now improved: it includes CPU architecture information and is cleaner, drawing attention to the location of the build log on disk. (Most often, the real cause of a build failure is only discoverable via the log.)
Automatically link to Homebrew OpenSSL by @mislav in https://github.com/rbenv/ruby-build/pull/2275 https://github.com/rbenv/ruby-build/pull/2292
With this change, it is no longer necessary to set RUBY_CONFIGURE_OPTS=--with-openssl-dir=...
after doing brew install openssl@3
. An appropriate OpenSSL version installed with Homebrew will get used for configuring Ruby automatically, even if the formula is "keg-only".
Add JRuby 9.4.5.0 and 9.3.13.0 by @headius in https://github.com/rbenv/ruby-build/pull/2289
Add ruby-build(1) man page by @mislav in #2297
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20231025...v20231107
--with-openssl-dir
on the command line by @mislav in https://github.com/rbenv/ruby-build/pull/2274
[email protected]
requirement from TruffleRuby, jruby-dev definitions by @mislav in https://github.com/rbenv/ruby-build/pull/2278
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20231014...v20231025
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20231012...v20231014
Pass ruby configuration flags on the command line by @mislav in https://github.com/rbenv/ruby-build/pull/2267
Both ruby-build
and rbenv install
can now receive ruby configuration options like so:
ruby-build 3.2.2 /path/to/destination -- --with-config-option="value with spaces"
This is in addition to the RUBY_CONFIGURE_OPTS environment variable, but with the added benefit of the options forwarded to the ./configure
step exactly as they were specified on the command-line, meaning that this can be used to pass values containing spaces.
Have ruby-build <args...>
error out when passed invalid arguments or unrecognized flags by @mislav in https://github.com/rbenv/ruby-build/pull/2267
Cease using gmake
by default on FreeBSD and default to MAKE=make
like on other platforms by @Freaky in https://github.com/rbenv/ruby-build/pull/2263
Use builds from ruby/truffleruby-dev-builder for truffleruby-dev on macos-arm64 by @eregon in https://github.com/rbenv/ruby-build/pull/2269
Bump up OpenSSL 3.1.3 by @hsbt in https://github.com/rbenv/ruby-build/pull/2257
Bump mislav/bump-homebrew-formula-action from 2 to 3 by @dependabot in https://github.com/rbenv/ruby-build/pull/2259
Bump redhat-plumbers-in-action/differential-shellcheck from 4 to 5 by @dependabot in https://github.com/rbenv/ruby-build/pull/2265
Enable shellcheck parsing of ruby-build source by @mislav in https://github.com/rbenv/ruby-build/pull/2268
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20230919...v20231012
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20230914.1...v20230919
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20230914...v20230914.1
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20230912...v20230914
Full Changelog: https://github.com/rbenv/ruby-build/compare/v20230904...v20230912