Commit graph

186 commits

Author SHA1 Message Date
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ć
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ć
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
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
João Duarte
c6e924edc8
workaround jruby#7799 by updating rubygems for JRuby 9.2.x (#2246)
Co-authored-by: Mislav Marohnić <git@mislav.net>
2023-09-12 16:08:47 +02:00
Mislav Marohnić
a4c6878ff5
Remove require_gcc implementation
This was only used in Ruby versions < 1.9.3, which are now EOL.

This also removes a 11-years old workaround for building Ruby 2.0 with clang.
06d7994bcf
2023-08-03 14:53:52 +02:00
Mislav Marohnić
242e8beb49
Avoid test failure when stubbing FreeBSD environment
https://github.com/rbenv/ruby-build/actions/runs/5719870214/job/15517987944#step:4:18
2023-08-02 11:20:08 +02:00
Mislav Marohnić
4cc9dc3be8
appease linter 2023-03-06 19:19:31 +01:00
Mislav Marohnić
4079aa75cd
add stub_repeated test helper 2023-03-06 19:15:49 +01:00
Roman Usherenko
40af31b46b
automatically detect and use Homebrew's libyaml
Co-authored-by: Mislav Marohnić <git@mislav.net>
2023-03-06 19:14:40 +01:00
Masato Ohba
46878c9646
Remove brew update instruction (#2151)
because `brew update` runs automatically on `brew upgrade` by default since long time ago.
2023-02-20 16:00:59 +01:00
Mislav Marohnić
7de903c560
Fix rbenv install --list exit status 2022-10-03 13:28:58 +02:00
Mislav Marohnić
cde170b581
Suggest rbenv global if there is no explicit global setting (#2052)
Upon installing their first Ruby version on the system, the user may want to set it as their default; otherwise the default will remain "system" and any `gem install` attempts will fail with a permission error.

This suggestion is skipped if the user already has chosen an explicit default, even if it's "system".
2022-09-25 11:20:43 +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
a753b24551 Show the log file to make it easy to follow progress
* Fixes https://github.com/rbenv/ruby-build/issues/1721
2022-08-06 13:04:40 +02:00
Benoit Daloze
e607953dbf Fix version check for Java 17
* Fixes https://github.com/rbenv/ruby-build/issues/1798
* OpenJDK 17 reports:
  $ java -version
  openjdk version "17" 2021-09-14
  There is no dot in the version, so we need to only use the first match from grep -o.
* Clarify it is a minimum required java version, not an exact version.
2021-09-28 12:42:07 +02:00
Benoit Daloze
ac72249e04 Ensure it is safe to remove the prefix path for TruffleRuby or error
* Only do clean_prefix_path for TruffleRuby and rename for clarity,
  since the logic is now TruffleRuby-specific.
2021-07-26 17:44:28 +02:00
Benoit Daloze
44729b287f Handle multiple directories in PATH having an executable for remove_commands_from_path
* This is common on Linux where e.g. /bin = /usr/bin and both are in PATH.
2021-07-07 20:04:22 +02:00
Hiroshi SHIBATA
99f6bcbe49
Merge pull request #1457 from uzxmx/feature/specify-complete-mirror-url
Support specifying the complete mirror URL
2020-12-03 15:14:46 +09: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
Mingxiang Xue
b034b8cd37 Add RUBY_BUILD_MIRROR_PACKAGE_URL to specify the complete mirror URL
Signed-off-by: Mingxiang Xue <mingxiangxue@gmail.com>
2020-07-18 00:36:59 +08:00
Koichiro Iwao
e2b65f5dd5 Merge branch 'master' into list-exclude-eol 2020-04-27 11:20:31 +09:00
Koichiro Iwao
c76bf6fb80
s/all available definitions/all local definitions/
"available" implies ruby-build will be checking online sources but
actually ruby-build doesn't do that. "local definitions" may be
prefered.

Pointed out by jasonkarns.
2020-03-20 18:08:04 +09:00
Koichiro Iwao
66647e3953
s/all built-in definitions/all available definitions/
Suggested by mislav: https://github.com/rbenv/ruby-build/pull/1402#discussion_r389060742

> I wonder should we substitute "built-in" with something like "all
> available definitions". Since ruby-build will additionally pick up
> definitions found under the paths listed in RUBY_BUILD_DEFINITIONS,
> these definitions will get listed even if they are not "built-in".
> Therefore, "built-in" feels like a misnomer here.
2020-03-19 18:16:16 +09:00
Koichiro Iwao
67ac0b45d6
the short list now shows only latest stable versions
for each Ruby implementations like the following.

    2.4.9
    2.5.7
    2.6.5
    2.7.0
    jruby-9.2.9.0
    maglev-1.0.0
    mruby-2.1.0
    rbx-3.107
    truffleruby-19.3.1
2020-03-06 22:23:46 +09:00
Koichiro Iwao
abaebf3ea1
Fix CI 2020-03-03 15:44:02 +09:00
Koichiro Iwao
f9aae4e6ff
Fix CI 2020-02-19 11:13:35 +09:00
eladeyal-intel
1e94192659 shorter git command chains 2020-01-31 17:23:02 +02:00
Koichiro Iwao
4577be8fac
Fix CI: Add --list-exclude-eol option to test 2020-01-30 15:36:26 +09:00
Benoit Daloze
08af628396 Add a few extra examples for the version sorting test 2019-11-21 16:41:12 +01:00
Mislav Marohnić
d6af53ef1c Fix test for gmake on FreeBSD 2019-11-20 10:56:16 +01:00
Mislav Marohnić
ed46d03947 Include header files with mruby
Fix #1311
2019-11-05 11:03:49 +01:00
Mislav Marohnić
8945b5721f Add tests for different styles of patches 2019-11-05 09:48:22 +01:00
Mislav Marohnić
e2b1da83bb Assert error shown when curl, wget, & aria2c are unavailable
Closes #1234
2019-11-04 14:48:46 +01:00
Mislav Marohnić
fe5986d649 Fix rbenv install --list test 2019-11-04 14:48:46 +01:00
Mislav Marohnić
c30d4cba91 Fix verifying Java 9+ versions
Ref. #1135
2019-11-02 13:09:38 +01:00
Jason Karns
dc15799456
Only FreeBSD needs extra PATH for bash
For the tests to run on FreeBSD, the bash executable needs to be
available in PATH.

The test_helper PATH was modified by
49a9471758 and f70d958f47
in order to be sure that bash is in PATH on FreeBSD.
(The default location for packages on FreeBSD is /usr/local/bin, and
since bash isn't provided by FreeBSD itself, that means /usr/local/bin
is the most common, if not only, location to find bash on FreeBSD.)

However, adding /usr/local/bin to PATH means that homebrew-managed
packages on macOS are now in PATH for the test suite. This is especially
important due to packages like readline. Since ruby-build prefers
homebrew readline when available, this makes the tests fail on macOS
(because the tests are written assuming no readline configuration.)

While the tests could stub brew in all cases, to ensure the readline
package is ignored by the tests, it seems more prudent to revert the
PATH to be as minimal as possible, and to only include /usr/local/bin by
precisely the OS that depends on it.
2018-11-12 14:26:56 -05:00
Mislav Marohnić
9219a43caf
Merge pull request #1198 from yyuu/http-client-based-on-envvar
Allow overriding HTTP client type based on environment variable of `RUBY_BUILD_HTTP_CLIENT`
2018-08-22 11:27:06 +00:00
Mislav Marohnić
655c13b57e Allow aria2c to be found in PATH in tests 2018-08-22 12:50:02 +02:00
Benoit Daloze
0ec626bc4d Remove early check for LLVM when installing TruffleRuby
* TruffleRuby already checks for LLVM itself when it needs it and
  looks up more paths to find the LLVM executables clang and opt.
* See https://github.com/oracle/truffleruby/issues/1386.
2018-07-14 22:39:37 +02:00
Benoit Daloze
a8a3ebf809 Add tests for TruffleRuby 2018-06-15 20:17:13 +02:00
Yamashita, Yuu
34652a4fae Allow overriding HTTP client type based on environment variable RUBY_BUILD_HTTP_CLIENT (pyenv/pyenv#1126) 2018-04-26 02:08:59 +00:00
SHIBATA Hiroshi
331a408adc
Merge pull request #1136 from juanibiapina/relax-java-version-regexp
Relax java version regexp
2017-11-27 15:26:35 +09:00
SHIBATA Hiroshi
f41e8474a8
ubygems.rb is unavailable on Ruby 2.5 2017-10-12 11:57:46 +09:00
Juan Ibiapina
4889ec7ca6 Relax java version regexp
This allows the java version to be specified as "9", instead of "1.9".

Closes #1135
2017-10-09 12:54:13 +02:00