Commit graph

79 commits

Author SHA1 Message Date
Jeremy Daer
df045bdc07 Drop the default package mirror
37signals are dropping AWS, which means goodbye to S3 and CloudFront.

The CloudFront mirror (dqw8nmjcqpjn7.cloudfront.net) was introduced ages
ago to address intermittent unavailability from some upstream sources.
These days, it mainly serves non-MRI packages like OpenSSL and libyaml.

Ruby releases are now served by Fastly (cache.ruby-lang.org) which has
bypassed the ruby-build mirror since 2015. Other sources (GitHub, RubyGems,
Maven) have their own CDNs.

This change removes the default `RUBY_BUILD_MIRROR_URL` and S3 release
mirroring. Custom mirror support remains.
2025-09-12 09:49:34 -07:00
Mislav Marohnić
e7b46cabe6
update-eol script now with JRuby support 2025-08-11 15:40:57 +02:00
Mislav Marohnić
a62c24c45b
Modify update-jruby script to require Java 21+ for JRuby 10+ 2025-05-07 20:17:42 +02:00
Hiroshi SHIBATA
1b812e838d
Use GitHub instead of openssl.org 2024-09-04 10:45:31 +09:00
Hiroshi SHIBATA
db3387aa1a
Handle openssl definition with script/update-cruby 2024-08-02 10:56:23 +09:00
Mislav Marohnić
4cb285791c
Remove verify_opensl step from build definitions
The functionality to fail the build if openssl or psych are missing is
now built into the `./configure && make` phase for Ruby.
2023-11-21 17:12:53 +01:00
Mislav Marohnić
e03e8c3f9c
Add script to update warn_unsuppported, warn_eol labels
The script will automatically assign "warn_unsupported" or "warn_eol" labels
based on the information from endoflife.date.
2023-11-11 12:35:30 +01:00
Mislav Marohnić
1aa0bfce12
Add ruby-build(1) man page 2023-11-07 18:20:59 +01: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
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
Benoit Daloze
696828981d Add TruffleRuby and TruffleRuby GraalVM 23.1.0 2023-09-19 14:59:07 +02:00
Benoit Daloze
4f44477627 Add TruffleRuby and TruffleRuby+GraalVM 23.0.0
* Use the new Oracle GraalVM distribution which uses the GFTC license as it is
  significantly faster than GraalVM CE and is free for development and production use.
* See https://medium.com/graalvm/whats-new-in-graalvm-languages-161527df3d76
2023-06-14 10:26:02 +02:00
Benoit Daloze
3e196fd567 Add TruffleRuby+GraalVM 23.0.0-preview1 2023-04-28 15:34:57 +02:00
Joe Stein
6705d619f0 Fall back on shasum if sha256sum is unavailable 2023-03-30 16:19:17 -04:00
Mislav Marohnić
a24578e748
release script: handle multiple releases on the same day 2023-02-08 17:10:47 +01:00
Hiroshi SHIBATA
fa46d54173 Removed rbx updater 2022-12-26 13:59:14 +01:00
Benoit Daloze
fd12e58102 truffleruby+graalvm-dev builds are now based on Java 17
* Fixes #2092.
2022-11-21 12:39:55 +01:00
Mislav Marohnić
e2cbfa954b
Release with gh instead of with hub (#2056) 2022-09-30 20:17:25 +02:00
Jean Boussier
1f9b792168 macOS: Use GMP from homebrew
MRI's BigInt use GMP under the hood if available, and if not
fallbacks to an homemade implementation with much worse performance.

Without GMP:
```
>> Benchmark.realtime { Integer('1' * (10 ** 7)) }
=> 13.80743500002427
```

With GMP
```
>> Benchmark.realtime { Integer('1' * (10 ** 7)) }
=> 0.4098639999865554
```

macOS not being a common production platform, it's not a huge deal
but it would still preferable to compile with `gmp.h` if present.

I'd also suggest to print a warning if compiling on macOS and gmp
isn't installed, but I don't know if it's desirable.

NB: `--with-gmp-dir` was only added recently, so this will only
apply to MRI >= 3.2, as well as rubies on which this flag was backported.
2022-09-22 08:56:34 +02:00
Benoit Daloze
8d6e276663 TruffleRuby 22.2+ is available on darwin-aarch64 2022-07-26 15:06:48 +02:00
Benoit Daloze
c0d6e22177 Update update-cruby to be clear which openssl line should be used 2022-07-12 12:23:34 +02:00
Benoit Daloze
b945b7ae84 Install openssl whenever the system version does not match
* Make supported openssl versions explicit per definition.
2022-07-10 14:04:58 +02:00
Kazuhiro NISHIYAMA
fb0e82c647 Install openssl 1 when openssl is 3 2022-07-10 14:04:58 +02:00
Benoit Daloze
c520cac829 Add script to update openssl 2022-07-10 12:32:26 +02:00
Hiroshi SHIBATA
da94a642df
Fixed version name 2022-07-06 19:51:47 +09:00
Hiroshi SHIBATA
707518723b
Use OpenSSL 1.1.1q 2022-07-06 10:19:35 +09:00
Hiroshi SHIBATA
592b1048bd
bz2 is obsoleted format 2021-11-09 19:22:19 +09:00
Charles Oliver Nutter
e390941356 Update update-jruby script to use Maven URL 2021-09-28 16:26:56 +02:00
Benoit Daloze
7e59004c9d Automatically download the jruby archive if it is not already in RELEASE_DIRECTORY 2021-09-25 12:25:24 +02:00
Hiroshi SHIBATA
7f2ae734fd
Use openssl-1.1.1l 2021-08-25 08:12:31 +09:00
Benoit Daloze
c94f955627 TruffleRuby 21.2+ adds support for linux-aarch64
* Fixes #1786
2021-08-01 15:26:11 +02:00
Mislav Marohnić
075ad3bee9 Disable progress output when uploading to S3 2021-07-31 13:43:42 +02:00
Mislav Marohnić
fa6cb85db5 Tweak script/mirror 2021-07-16 17:26:30 +02:00
Mislav Marohnić
7f368a7592 Update ruby-build download mirror in GitHub Actions 2021-07-15 20:57:14 +02:00
Mislav Marohnić
45b3f7f7e2 🔥 Travis CI 2021-07-15 20:16:59 +02:00
Benoit Daloze
ebdcf0c26e Only do script/mirror update on TravisCI
* Testing is done on GitHub Actions which is much faster.
2021-07-07 20:04:22 +02:00
Benoit Daloze
964e83a039 Run script/mirror verify on GitHub Actions too
* So the shasums are checked in PRs.
2021-07-07 20:04:22 +02:00
Benoit Daloze
d0e70422da Use GraalVM JDK11 builds since 8 is no longer available on macOS 2021-04-20 16:26:57 +02:00
Benoit Daloze
30895f03c4 Rename definition to truffleruby+graalvm
* '+' needs to be considered part of the name for --definitions and -l
  to see truffleruby and truffleruby+graalvm as separate.
2020-07-22 16:41:01 +02:00
Benoit Daloze
767a1ccc30 Add support for installing GraalVM
* Supports using other GraalVM languages such as JavaScript, Python, R and Java.
* Supports running TruffleRuby on JVM and not only Native.
* Add GraalVM 20.1.0.
2020-07-22 16:41:01 +02:00
Hiroshi SHIBATA
3d9ee94b01
rename rbx script for other interpreters 2020-06-12 11:31:34 +09:00
Hiroshi SHIBATA
0e0ef10054
Added missing sha256 hash 2020-06-12 11:29:06 +09:00
Hiroshi SHIBATA
226d1547ae
Suppress warnings 2020-06-12 11:28:49 +09:00
Hiroshi SHIBATA
c94de31cde
Support rbx5 and use the official package index instead of ruby-install 2020-06-12 09:14:02 +09:00
Koichi ITO
82d35ed02b Add update-cruby and update-jruby scripts
This PR adds update-cruby and update-jruby scripts.
They are provided to update MRI and JRuby definition files.

These scripts are based on script/update-truffleruby.
https://github.com/rbenv/ruby-build/blob/v20200224/script/update-truffleruby
2020-03-11 11:33:36 +09:00
Hiroshi SHIBATA
89040ddf3f
Added rbx-4.* 2020-03-08 10:14:15 +09:00
Benoit Daloze
aabb2624af Make sure hub is configured before going further in the release script 2020-02-14 15:10:06 +01:00
Benoit Daloze
ec80803660 Fix error message for unrecognized operating system 2019-12-23 16:43:52 +01:00
Benoit Daloze
47074b9174 Use openssl from Homebrew for TruffleRuby on macOS
* The openssl built by ruby-build was not used by TruffleRuby,
  and causes https://github.com/oracle/truffleruby/issues/1818
* Improve error message when openssl from Homebrew is not available.
* Change the definition code so it checks the operating system too.
2019-11-21 16:41:12 +01:00
Benoit Daloze
a2031524f9 Use OpenSSL 1.1.1d like other Rubies for new TruffleRuby releases 2019-11-20 17:57:44 +01:00