Commit graph

335 commits

Author SHA1 Message Date
Erik Michaels-Ober
56a9ea73d6 ruby-build 20150709 2015-07-09 18:24:10 +02:00
Mislav Marohnić
e932d47195 Merge branch 'openjdk' 2015-05-23 02:13:10 +02:00
Mislav Marohnić
89ce9ebe1f ruby-build 20150519 2015-05-19 19:23:37 +02:00
Erik Michaels-Ober
83beb8bcc2 ruby-build 20150506 2015-05-06 11:09:58 +02:00
Erik Michaels-Ober
2ca27156f8 ruby-build 20150502 2015-05-02 11:39:18 +02:00
Ben Browning
4c0df6afdb Properly detect OpenJDK versions in bin/ruby-build
OpenJDK reports its version slightly different than Oracle Java, and
this was causing the logic in bin/ruby-build to not detect Java 7 or
higher when OpenJDK was used.
2015-04-29 10:39:40 -04:00
SHIBATA Hiroshi
a5bc77ad77 fixed conflict with upstream 2015-04-19 18:26:39 +09:00
Sam Stephenson
b0d254f261 ruby-build 20150413 2015-04-13 15:22:57 -05:00
Erik Michaels-Ober
a55247a8c5 ruby-build 20150319zf
See https://github.com/sstephenson/ruby-build/pull/733 to get the joke.
2015-03-19 18:30:41 -07:00
Erik Michaels-Ober
7f3cc017ac ruby-build 20150303 2015-03-03 09:08:59 +01:00
Erik Michaels-Ober
3851f4d7e3 ruby-build 20150226 2015-02-26 10:29:47 +01:00
Erik Michaels-Ober
0e1ceb4ef7 ruby-build 20150130 2015-01-30 11:31:22 -08:00
Mislav Marohnić
4c1f8842e6 Avoid double shebangs when fixing Rubinius gem binstubs
This is to fix the error when installing new gems that have executables
which match existing binstubs in the Rubinius bin directory:

    "bundle" from bundler conflicts with PREFIX/gems/bin/bundle

RubyGems is supposed to override the binstub if it detects that the
previous one was also generated by RubyGems for the gem of the same
name, but its detection mechanism gets thrown off by having a double
shebang as a result of our binstubs fixing process.

https://github.com/rubygems/rubygems/blob/v2.2.2/lib/rubygems/installer.rb#L149-L154

This avoids generating binstubs with a double shebang.
2015-01-29 01:36:04 -08:00
Mislav Marohnić
95373b462c Avoid ERR trap activating if there's no brew command
When generating SHA2 checksums with `openssl`, we want to give
preference to the newer OpenSSL that might have been installed with
Homebrew. However if there's no `brew` command the ERR trap will kick in
and display the "BUILD FAILED" notice although the build would proceed
to run.

Related: c0dc8908e1

Fixes #713
2015-01-26 15:07:55 -08:00
Mislav Marohnić
7f1d8df3fe Read Java version number even if it's not on the 1st line
Handles output like:

    Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
    java version "1.8.0_31"

Fixes #710
2015-01-21 16:51:29 -08:00
Erik Michaels-Ober
e12b960233 ruby-build 20150116 2015-01-16 15:24:18 +01:00
Erik Michaels-Ober
10c15673fc ruby-build 20150112 2015-01-12 12:47:24 +01:00
Mislav Marohnić
3b6f96df34 Lookup LLVM 3.5 from Homebrew on require_llvm on OS X
Prior to this we tried to use pre-built LLVM binaries since Yosemite,
but starting with Rubinius 2.3.0 this is no longer a feature of its
build system. Instead, look for "llvm" Homebrew package and suggest
installing it if it's missing.
2015-01-02 12:14:37 -08:00
Erik Michaels-Ober
be7d096d23 ruby-build 20141225
Closes https://github.com/sstephenson/ruby-build/issues/689.
2014-12-25 09:45:37 -06:00
Erik Michaels-Ober
dd1ab1dded ruby-build 20141222 2014-12-22 07:25:34 -05:00
Erik Michaels-Ober
b79e713655 ruby-build 20141210 2014-12-10 15:52:53 +01:00
Erik Michaels-Ober
3ac8e7d022 ruby-build 20141208 2014-12-08 21:48:54 +01:00
SHIBATA Hiroshi
545692836e ruby-build 20141128 2014-11-28 23:35:09 +09:00
Mislav Marohnić
3ae43a44e2 Capitalize "Usage:" header for consistency with rbenv help system 2014-11-26 20:46:44 -08:00
Mislav Marohnić
960e183d4c Extract ruby-build usage from comments like we do in rbenv 2014-11-26 20:46:44 -08:00
Mislav Marohnić
4a6b9280bb Provide CLI usage help on stout/stderr appropriately
When requested via `-h|--help`, usage text should be displayed on stdout
and the exit status should be 0.

When usage text is shown due to invalid arguments, it should be
printed to stderr and exit status should be 1.
2014-11-26 20:46:44 -08:00
Mislav Marohnić
22c73bf3f5 Perform CLI argument validation as early as possible 2014-11-26 20:46:44 -08:00
Ivan Kuchin
fa38b660e2 Abort with usage help on wrong number of CLI arguments
- rbenv-install accepts 0 or 1 argument
- rbenv-uninstall accepts 1 argument
- ruby-build accepts 2 arguments
2014-11-26 20:45:53 -08:00
Dimitrios Zorbas
e32e087d3b Change Error message for missing subversion
The current error message for missing subversion is "error: please install \`svn\` and try again", leading the user to try to find and install a package named "svn" (eg. `aptitude install svn for # debian / ubuntu). Changing it to "subversion" can help users unaware that svn is a binary installed by the subversion package, get through the error.
2014-11-17 00:37:56 +02:00
SHIBATA Hiroshi
ae0f2b9f22 ruby-build 20141113 2014-11-13 23:56:24 +09:00
Mislav Marohnić
fc6e0ae69d Fix comparing OS X version when it has 3 components 2014-10-31 04:08:00 +01:00
Mislav Marohnić
81807c6314 ruby-build 20141028 2014-10-28 20:33:20 +01:00
David Bayendor
54301c16bf Don't display duplicate definitions
This fixes `rbenv install -l` displaying each version twice due to
RUBY_BUILD_DEFINITIONS path containing ruby-build's own definitions path
twice: both as an rbenv plugin and by appending its own internal path.
2014-10-28 19:27:26 +01:00
Mislav Marohnić
194e007e62 Merge branch 'yosemite'
Fixes #651, fixes #648
2014-10-28 18:52:50 +01:00
Mislav Marohnić
b3512f494e Avoid endless recursion when rbx is installed over existing one
When installing rbx over an existing location, the `gems/bin` directory
will already be a symlink to `bin/` and an attempt to recreate this will
end up in recursion that keeps growing a binstub file until the disk is full.
2014-10-28 15:41:09 +01:00
Mislav Marohnić
985200d4da Enable Rubinius builds to re-use cached LLVM dependencies between builds
If RUBY_BUILD_CACHE_PATH is set (typically "`rbenv root`/cache" if it
exists), have Rubinius `./configure` script download prebuilt LLVM
versions into that directory and re-use them if already present.
2014-10-28 15:41:09 +01:00
Mislav Marohnić
f104098909 Fix rbx-1.2.4 setup phase
Rubinius back then didn't have a Gemfile, so don't try to invoke `bundle`.
Instead, rely on the host Ruby to already have rake installed.
2014-10-28 15:41:09 +01:00
Mislav Marohnić
9a5256ed7a Work around Rubinius LLVM incompatibilities on Yosemite
Rubinius fails to download a prebuilt LLVM on Yosemite since one is not
available yet. Instead, download the prebuilt version for the previous
OS X release.

This fixes Rubinius 2.2.7+ builds, but the older ones still fail for me
on Yosemite. This could be due to the fact that they're old releases
which are not compatible with never dependencies on the system.
2014-10-28 15:41:09 +01:00
Mislav Marohnić
b396ad7cd1 Try openssl from Homebrew when calculating SHA-256 checksums
This makes checksums possible on Leopard where `shasum` is unavailable
and system openssl doesn't support `dgst -sha256`.

Fixes #656
2014-10-28 15:28:48 +01:00
Mislav Marohnić
6e39eb52a8 Use CC=clang by default on Yosemite to avoid gcc-4.2
Newer MRIs will pick up gcc-4.2 from PATH and use that instead of
`/usr/bin/gcc`. While this worked up till now, it will not work in
Yosemite anymore since Homebrew's apple-gcc42 is generally not
compatible with 10.10.

So when CC has not explicitly been set, set it to `clang` to avoid
searching the PATH for any other gcc versions. This fixes MRI builds on
systems where apple-gcc42 is installed.
2014-10-28 15:28:07 +01:00
Mislav Marohnić
dafba300b1 Silence warnings when testing gccs
This silences the warning that gcc-4.2 produces on Yosemite:

    couldn't understand kern.osversion `14.0.0'
2014-10-28 10:59:01 +01:00
Mislav Marohnić
10fd04909d Fix Yosemite builds that use gcc-4.2 through require_gcc
The definitions that use `require_gcc` are not compatible with Apple's
clang-powered `gcc` and need gcc-4.2 from Homebrew. However, builds
using gcc-4.2 fail on Yosemite with a warning:

    couldn't understand kern.osversion `14.0.0'

Although the warning is non-fatal, the build goes to shit from there. It
seems that setting the magical value `MACOSX_DEPLOYMENT_TARGET=10.9`
makes the build work and doesn't seem to have negative consequences.
2014-10-28 10:58:38 +01:00
Matthew Van Gundy
aaf8a852ff Fix TMPDIR noexec check to explicitly exit with a zero exit status on success
The TMPDIR check implemented in a4556a73 incorrectly reports that
TMPDIR cannot hold executables on 4.3.11(1) on Ubuntu 14.04.1 LTS.
This is because a script containing no commands returns a non-zero
exit code.  Contrast the following:

  bash 3.2.53(1) on OS X 10.9.5:

    $ bash -c '' && echo SUCCESS
    SUCCESS

  bash 4.3.11(1) on Ubuntu 14.04.1 LTS:

    $ bash -c '' || echo FAIL
    FAIL

This patch modifies the test script to explicitly call `exit 0` to
ensure that a successful exit code is returned if the script executes
successfully.
2014-10-17 11:15:42 -04:00
SHIBATA Hiroshi
803a49a831 Merge pull request #593 from azet/patch-1
Disable insecure SSL protocols
2014-10-16 08:39:56 +08:00
Erik Michaels-Ober
e1811b9fa3 ruby-build 20140926 2014-09-26 06:07:57 +04:00
Mislav Marohnić
04fe8ab73c Merge pull request #516 from docwhat/better-openssl-check
OS X: Fixes check for OpenSSL version

Fixes #606
2014-09-20 00:35:57 -06:00
Mislav Marohnić
a8b23fac56 ruby-build 20140919 2014-09-19 09:04:50 -06:00
Erik Michaels-Ober
498062cd0d ruby-build 20140918 2014-09-18 12:40:13 +02:00
Mislav Marohnić
406d745f50 Peruse /etc/os-release among others when detecting system info
On Fedora, this results in a nice "Fedora 19" identifier and doesn't
show the codename "Schrödinger’s Cat" which is otherwise contained in
`/etc/fedora-release`.

On Arch, this shows "Arch Linux" where previously we had no info for it
(for some reason, `/etc/arch-release` is empty).

http://www.freedesktop.org/software/systemd/man/os-release.html
2014-09-08 22:58:05 -07:00
Mislav Marohnić
512910a675 ruby-build 20140908 2014-09-08 13:49:41 -07:00