Commit graph

2360 commits

Author SHA1 Message Date
Mislav Marohnić
945d124335
Remove topaz
I can't find evidence that Topaz is still in development nor that it has had a release in the last 10 years.
2023-11-06 16:50:49 +01:00
Mislav Marohnić
a706e117d7
Remove maglev
Maglev Ruby hasn't seen a release in 10 years.
2023-11-06 16:49:29 +01:00
Mislav Marohnić
469a0af96d
Merge pull request #2289 from headius/jruby_9.4.5.0_9.3.13.0
Add JRuby 9.4.5.0 and 9.3.13.0
2023-11-05 14:18:07 +01:00
Mislav Marohnić
4a72b9c28f
Merge pull request #2292 from rbenv/fix-system-openssl-check
Fix checking system OpenSSL version
2023-11-05 14:11:58 +01:00
Mislav Marohnić
f6923c65f0
Fix checking system OpenSSL version
The value of OPENSSL_VERSION_TEXT seems to be printed in double quotes.
2023-11-05 13:56:45 +01:00
Mislav Marohnić
224e942bd7
Tweak basic usage instructions 2023-11-03 18:00:45 +01:00
Mislav Marohnić
e0b71e7d32
Merge pull request #2275 from rbenv/auto-homebrew-openssl
Automatically link to Homebrew openssl
2023-11-03 17:49:24 +01:00
Charles Oliver Nutter
208fbb4564 Add JRuby 9.4.5.0 and 9.3.13.0 2023-11-02 11:15:20 -05:00
Mislav Marohnić
315373b1de
Change legacy needs_openssl_* conditions to one with inline arguments 2023-11-02 13:53:50 +01:00
Mislav Marohnić
31e53468b6
Automatically link to Homebrew OpenSSL
If a system OpenSSL version was not found or is at version that is incompatible with a Ruby being installed, ruby-build would typically download and compile a new OpenSSL version scoped to that Ruby installation.

Now the `needs_openssl` condition will also check for Homebrew-installed OpenSSL and automatically link to the first one found that satisfies the version requirement. This primarily helps speed up Ruby installation on macOS where the system OpenSSL is never compatible and where Homebrew is a de-facto standard package manager.
2023-11-02 13:53:50 +01:00
Mislav Marohnić
8f294c43ad
Allow inline arguments in --if conditions
Example:

    install_package openssl-1.1 "https://..." --if needs_openssl:1.0.1-3.1.x

In the example, the two values are passed as arguments to the `needs_openssl` function.
2023-11-02 13:53:30 +01:00
Mislav Marohnić
b54a73b127
Merge pull request #2286 from rbenv/2.7-unsupported
Unmark Ruby 2.7 as soon-to-be-EOL since it's already EOL
2023-10-28 16:46:03 +02:00
Mislav Marohnić
2ae1416948
Unmark Ruby 2.7 as soon-to-be-EOL since it's already EOL 2023-10-27 16:07:26 +02:00
Benoit Daloze
8afc6e179b ruby-build 20231025 2023-10-25 11:57:47 +02:00
Benoit Daloze
4996d18f46 Add TruffleRuby and TruffleRuby GraalVM 23.1.1 2023-10-25 11:57:34 +02:00
Hiroshi SHIBATA
490517914e
Merge pull request #2283 from rbenv/openssl-3-1-4
Bump up OpenSSL 3.1.4
2023-10-25 10:47:06 +09:00
Hiroshi SHIBATA
fbcb6bdc3a
Bump up OpenSSL 3.1.4 2023-10-25 09:56:17 +09:00
Benoit Daloze
39f77ffd17 Skip ri/rdoc when installing jruby-launcher 2023-10-23 12:28:10 +02:00
Mislav Marohnić
c3bae8b6a9 Fix fixing JRuby shebangs on macOS
LC_CTYPE is "utf-8" on macOS, which instructs utilities like `tr` to expect Unicode input. However, in case of binary files, which we here explicitly guard against, the utility will fail because of invalid input encoding.

The solution is to set LC_CTYPE=C which effectively removes the expectation around input encoding and allows `tr` to process the input byte-by-byte.
2023-10-23 12:11:16 +02:00
Mislav Marohnić
99fda28fc4 JRuby: remove openssl@1.1 requirement from jruby-dev
This is to allow JRuby itself to check for compatible OpenSSL versions and not have ruby-build abort early on macOS.
2023-10-20 15:09:45 +02:00
Mislav Marohnić
db600ccdfd TruffleRuby: remove explicit openssl@1.1 requirement on macOS
TruffleRuby build definitions used to explicitly rely on `brew --prefix openssl@1.1` on macOS and abort installation if that was not found. However, this check didn't take into account that the user might have set OPENSSL_PREFIX in their environment, or that they have another `openssl@*` version installed via Homebrew. This change removes the `use_homebrew_openssl` check and allows TruffleRuby to perform its own OpenSSL detection.

https://github.com/oracle/truffleruby/blob/vm-23.1.0/lib/truffle/truffle/openssl-prefix.rb#L14-L17
2023-10-20 15:09:45 +02:00
Hiroshi SHIBATA
0e4c61d868
Merge pull request #2277 from headius/jruby-9.4.4.0
Add JRuby 9.4.4.0
2023-10-19 08:50:40 +09:00
Charles Oliver Nutter
0be9ae1956 Add JRuby 9.4.4.0 2023-10-18 13:52:53 -05:00
Mislav Marohnić
1dc3628be3
Merge pull request #2276 from rbenv/openssl-test
Add tests for functionality related to linking to OpenSSL
2023-10-17 16:08:59 +02:00
Mislav Marohnić
08b1cfaf71
Add needs_openssl test 2023-10-17 15:33:08 +02:00
Mislav Marohnić
a559b30fd8
Improve cached_tarball test helper
- Now only generates a `configure` script if explicitly specified
- Add ability to add arbitrary files to the tarball
- Cache most common tarballs in fixtures directory to speed up tests
2023-10-17 12:40:17 +02:00
Mislav Marohnić
fe933abbf8
Merge pull request #2271 from rbenv/ldflags-clean
Remove implicit LDFLAGS, CPPFLAGS, and "ldflags_dirs" build step
2023-10-16 18:19:29 +02:00
Mislav Marohnić
aada31aed5
Avoiding excessive cd when fetching git repos (#2273) 2023-10-16 14:40:04 +02:00
Mislav Marohnić
7a741cfb68
Merge pull request #2270 from rbenv/openssl-clean
Cleanup in OpenSSL compilation step
2023-10-16 14:38:58 +02:00
Mislav Marohnić
1d9b4e268f
Merge pull request #2274 from rbenv/ruby-configure-opts
Avoid compiling OpenSSL if the user supplied `--with-openssl-dir` on the command line
2023-10-14 14:01:09 +02:00
Mislav Marohnić
7773f82f74 Cleanup in truffleruby+graalvm installation
Reuse original `build_package_copy` instead of having to maintain an additional `build_package_copy_to` step.

As a bonus, this prevents a global variable `to` from leaking.
2023-10-14 12:30:53 +02:00
Benoit Daloze
536495d1d3 ruby-build 20231014 2023-10-14 12:19:11 +02:00
Mislav Marohnić
5f4cea14d9
Merge pull request #2258 from eregon/overridable-url
Add RUBY_BUILD_TARBALL_OVERRIDE to override the ruby tarball URL
2023-10-13 21:25:59 +02:00
Mislav Marohnić
9b8749105f
Avoid compiling OpenSSL if the user supplied --with-openssl-dir on the command line
Same with linking libyaml, gmp, etc. to Homebrew. This considers all user configuration inputs when checking for existing flags.
2023-10-13 19:52:42 +02:00
Mislav Marohnić
04ba857b6c
Remove "ldflags_dirs" step from build definitions 2023-10-13 19:25:03 +02:00
Mislav Marohnić
47eda17460
Remove implicit LDFLAGS, CPPFLAGS, and "ldflags_dirs" build step
The default settings for LDFLAGS and CPPFLAGS were there since the initial commit to ruby-build:

    LDFLAGS="-L${PREFIX_PATH}/lib"
    CPPFLAGS="-I${PREFIX_PATH}/include"

However, it's not clear to me what these settings help with. A typical Ruby installation will initialize files in these directories, but it will do so regardless of the environment variables.

So, let's remove them and see what breaks.
2023-10-13 19:21:04 +02:00
Mislav Marohnić
6663720fca
Cleanup in openssl compilation step
- The `make -j 1` workaround seems neither in effect nor necessary anymore
- Assume that KERNEL_BITS workaround isn't necessary anymore
- Declare more variables as local
2023-10-13 19:05:31 +02:00
Benoit Daloze
216084d334 Add RUBY_BUILD_TARBALL_OVERRIDE to override the ruby tarball URL
* Update the check for whether a package is a ruby.
2023-10-12 11:48:03 +02:00
Benoit Daloze
4bf2fece5e ruby-build 20231012 2023-10-12 11:46:39 +02:00
Benoit Daloze
86af235370 Use builds from ruby/truffleruby-dev-builder for truffleruby-dev on macos-arm64
* macos-arm64 runners recently became available for ruby/truffleruby-dev-builder.
* Those builds are more frequently updated than on graalvm-ce-dev-builds.
2023-10-12 11:45:54 +02:00
Mislav Marohnić
b4b1dd20ce
Enable shellcheck parsing of ruby-build source (#2268) 2023-10-12 11:10:43 +02:00
Mislav Marohnić
d9af2ad5e8
Merge pull request #2267 from rbenv/configure-args
Pass ruby configuration flags on the command line
2023-10-11 18:09:39 +02:00
Mislav Marohnić
1c8689b950
Add tests for extra configure flags on the command-line 2023-10-11 18:02:07 +02:00
Mislav Marohnić
6b6fa457a0
Enable test assertions to spot erraneous word-splitting in bash 2023-10-11 18:02:07 +02:00
Mislav Marohnić
d9bdc904b9
💅 RUBY_CONFIGURE_OPTS_ARRAY 2023-10-11 18:02:07 +02:00
Mislav Marohnić
fbdf88cc13
Accept ruby configuration flags as extra position arguments on the command line 2023-10-11 18:02:07 +02:00
Mislav Marohnić
f7d63b7dcb
Rework argument parsing to error out on invalid flags 2023-10-11 18:02:07 +02:00
Mislav Marohnić
c8927eefd0
Expand parse_options to preserve positional arguments after "--" 2023-10-11 15:05:03 +02:00
Thomas Hurst
4cec390699
Set default MAKE=make on FreeBSD (#2263)
This was set to gmake in https://github.com/rbenv/ruby-build/pull/1381
as a workaround for https://bugs.ruby-lang.org/issues/16331

YJIT builds in Ruby 3.3 previews require the use of BSD make on these
platforms, and no supported version of MRI requires the use of gmake, so
revert this.

JRuby continues to require gmake for jruby-launcher.

Fixes #2262

Co-authored-by: Mislav Marohnić <git@mislav.net>
2023-10-11 12:19:40 +02:00
Hiroshi SHIBATA
51071a4df6
Merge pull request #2265 from rbenv/dependabot/github_actions/redhat-plumbers-in-action/differential-shellcheck-5
Bump redhat-plumbers-in-action/differential-shellcheck from 4 to 5
2023-10-10 11:16:12 +09:00