Commit graph

202 commits

Author SHA1 Message Date
Mislav Marohnić
c0dc8908e1 Fix false "BUILD FAILED" message when installing Rubinius
Installing Rubinius would print "BUILD FAILED" at the `bundle` step but
the installation would proceed nevertheless and finish successfully.

It turns out that the `command ...` expression will trigger the ERR trap
on failure even when it's a part of `||` list or a condition inside an
`if` statement. This defies how the ERR trap is supposed to work, so the
workaround is to execute it in a subshell which doesn't inherit the ERR
trap of its parent.
2013-10-29 14:03:26 +01:00
Mislav Marohnić
8e16aab892 Fix installing REE on OS X 10.8+ with no XQuartz
This is a regression introduced by
d13ae0ad52

References #267
2013-10-29 01:39:28 +01:00
Mislav Marohnić
64726421f9 ruby-build 20131028 2013-10-28 01:17:20 +01:00
Mislav Marohnić
d9cd8a1ae3 Abort early if TMPDIR is non-writable or non-executable
Fixes #148
2013-10-28 00:44:15 +01:00
Mislav Marohnić
d13ae0ad52 Enable compiling Ruby 1.8 on OS X 10.8+ without extra flags
Because OS X Mountain Lion removed X Windows, compiling Ruby 1.8 would
fail unless the user installed XQuartz manually and passed:

    CPPFLAGS=-I/opt/X11/include rbenv install 1.8.7-p374

This auto-detects if `/opt/X11/include` is present on the system and
configures CPPFLAGS accordingly. However if XQuartz was never installed,
we simply configure Ruby using `--without-tk`.

Fixes #193 #207

References 353246926c
2013-10-28 00:25:02 +01:00
Mislav Marohnić
6c08c56d3a Detect number of CPU cores used for make
Alt. implementation of #401, #434
2013-10-27 22:24:12 +01:00
Mislav Marohnić
50bf60f9c2 Really fix installing Ruby 2.1.0 from trunk
The problem wasn't in quoting as per 0b5206172, but in the fact that
Ruby trunk added a LDFLAGS checker that aborts if any of the paths
listed in it are missing:
3636f8c0f5

This is probably a bug in Ruby, but for now a simple workaround is to
iterate through paths in LDFLAGS and ensure they exist.

References #441
2013-10-27 21:32:18 +01:00
SHIBATA Hiroshi
0b52061728 Fix installing Ruby 2.1.0 from trunk
Stop quoting in LDFLAGS and CPPFLAGS. Ruby trunk chokes on it:
3636f8c0f5

Closes #441
2013-10-27 20:42:50 +01:00
Mislav Marohnić
51000d5e56 Add test for automatic fetching of rake gem 2013-10-26 18:28:53 +02:00
Mislav Marohnić
9aab127f75 Install Rake and Bundler in isolation when missing
Some Rubies need Rake or Bundler for the installation process. However,
since the host Ruby version might not have those gems installed, install
them in a temporary GEM_HOME and add their executables to PATH.

Fixes #426
2013-10-26 17:39:55 +02:00
Mislav Marohnić
730a8164d5 Use rake from the current bundle for Rubinius
Rake might not be available on the system, but if there is a Gemfile,
assume that it bundles rake.
2013-10-26 15:48:25 +02:00
Mislav Marohnić
f27c561388 Recursive copying fixes and tests
Use the `cp -f` flag to force unlinking non-writable files.

Closes #384
2013-10-26 08:20:44 +02:00
Jeremy Stephens
273bc17fe7 Force copying files for mruby
When installing mruby-dev, the cp command doesn't use the force flag.
This causes an issue when using a custom build configuration (via
MRUBY_CONFIG environment variable) and installing mrbgems from Github,
as the pack files in the git repositories are read-only.
2013-10-26 08:05:06 +02:00
Mislav Marohnić
51d8e5125c Prefer control flow to chaining grouped expressions
Helps avoid the pitfall where ERR trap has no effect.
See 262eb1658c
2013-10-26 06:43:54 +02:00
Mislav Marohnić
262eb1658c Clearer error message when HTTP download fails
Previously, if `http get` failed, the `download_tarball` function would
still continue since the ERR trap had no effect at that point.

Given a script in the form of `{ ... } || return 1`, the expressions
that are the part of the first group are not subject to ERR trap since
they are non-last in a chain of expressions.

However, since we still can't count on the ERR trap taking effect in
this phase, better just rewrite the function to manually abort.

Fixes #394
2013-10-26 06:32:03 +02:00
Fabian M. Borschel
e466bfeab0 Set default MAKE=gmake on FreeBSD 2013-10-26 05:33:57 +02:00
Mislav Marohnić
b37427b688 Support relative path as install prefix
Fixes #110
2013-10-26 05:24:25 +02:00
Mislav Marohnić
42aa6ccfcc Merge master into docwhat-homebrew-yaml
Conflicts:
	share/ruby-build/1.9.1-p378
	share/ruby-build/1.9.1-p430
	share/ruby-build/1.9.2-p0
	share/ruby-build/1.9.2-p180
	share/ruby-build/1.9.2-p290
	share/ruby-build/1.9.2-p318
	share/ruby-build/1.9.2-p320
	share/ruby-build/1.9.3-p0
	share/ruby-build/1.9.3-p125
	share/ruby-build/1.9.3-p194
	share/ruby-build/1.9.3-p286
	share/ruby-build/1.9.3-p327
	share/ruby-build/1.9.3-p362
	share/ruby-build/1.9.3-p374
	share/ruby-build/1.9.3-p385
	share/ruby-build/1.9.3-p392
	share/ruby-build/1.9.3-p429
	share/ruby-build/1.9.3-p448
	share/ruby-build/1.9.3-preview1
	share/ruby-build/1.9.3-rc1
	share/ruby-build/2.0.0-preview1
2013-10-24 22:28:57 +02:00
Erik Michaels-Ober
59df40be9e ruby-build 20131024 2013-10-24 06:51:38 -07:00
Mislav Marohnić
9f77dfc4d5 Merge pull request #433 from sstephenson/rbx-fix
Fix Rubinius gem binstubs path
2013-10-23 07:39:30 -07:00
Mislav Marohnić
f859d9a3b4 Fix Rubinius 2.1.x on Linux by supporting bz2 archives
`tar` on OS X auto-detects the type of compression used, so it doesn't
care whether `-z` or `-j` flags were passed to it for extraction.
However, since latest Rubinius archives are compressed with bzip2, we
must handle this distinction explicitly for the sake of other platforms.

fixes #470
2013-10-23 16:27:49 +02:00
Mislav Marohnić
dbd8c71d17 Fix Rubinius gem binstubs path
Rubinius 2 insists that it installs RubyGems binstubs into
`PREFIX/gems/bin` instead of `PREFIX/bin`.

This creates complexity for rbenv rehash and exec processes, so we
symlink `gems/bin` into `bin` and have RubyGems create binstubs at a
location that is consistent with other Ruby implementations.

See sstephenson/rbenv#178, sstephenson/rbenv#461
2013-10-20 02:18:29 +02:00
Erik Michaels-Ober
ed5d33ee39 ruby-build 20131008 2013-10-08 14:39:37 +02:00
Sergey Pchelincev
985c0160eb run bundle before configure rubinius 2013-10-05 16:43:28 +03:00
Erik Michaels-Ober
463e15b4ee ruby-build 20130923 2013-09-23 09:26:52 +02:00
Erik Michaels-Ober
b6b002e743 ruby-build 20130907 2013-09-07 11:21:44 +02:00
Erik Michaels-Ober
3f0576b9e0 ruby-build 20130901 2013-09-01 13:26:49 +01:00
Dirkjan Bussink
b002d92c4a Don't set the Rubinius gems directory to the prefix
This causes tricky issues with Bundler. Bundler assumes that the
configure gem path *only* contains gems. When using this configuration
option, this is not the case.

What happens is that Bundler then removes the path for the Ruby stdlib
from the load path, because it is located inside what is configured as
the gems directory. This then breaks for example Rails applications when
using ruby-build to build Rubinius.

Also see: https://github.com/rubinius/rubinius/issues/2544
2013-08-12 10:56:00 +02:00
Erik Michaels-Ober
1d254ef671 ruby-build 20130806 2013-08-06 08:43:06 +02:00
Christian Höltje
50dc0c9931 Use Homebrew libyaml if it is available
This checks for Homebrew's yaml to see if it
is available and that `--with-libyaml-dir` hasn't
been specified.

Related issue: #379
2013-07-09 20:40:45 -04:00
Erik Michaels-Ober
86daa42931 ruby-build 20130628
Closes #375.
2013-06-28 05:16:10 +02:00
Mislav Marohnić
ae6a8378d9 use Homebrew openssl if available
Fixes #343, references #367
2013-06-28 01:38:11 +02:00
katiepru
edf384653f making checksum comparison case insensitive 2013-06-19 21:19:51 -04:00
Sam Stephenson
d5663b780b Fix OpenSSL version pattern (#365) 2013-05-29 09:12:21 -05:00
Yi Gu
7d538a3fdd Treat the openssl 0.9.8(r|x) bundled with OS X as broken library. So the ruby-build will download and build the latest one. 2013-05-29 22:50:41 +09:00
Erik Michaels-Ober
1b170ee85a ruby-build 20130518 2013-05-18 05:52:58 -07:00
Erik Michaels-Ober
ff950802ef ruby-build 20130514 2013-05-14 23:35:18 -07:00
Cyril Mougel
3e61f76a67 Allow define RUBY_CONFIGURE_OPTS on rbx configure
The configure of rbx can take a RUBY_CONFIGURE_OPTS. You can by example
use the `--skip-prebuilt` OPTS
2013-05-07 23:09:35 +02:00
Sam Stephenson
b6f1d2498d Typo (#353) 2013-05-06 19:44:35 -05:00
Sam Stephenson
5c47714acd Avoid touching CFLAGS unless explicitly requested (#352) 2013-05-06 18:03:54 -05:00
Erik Michaels-Ober
9f8d53365a ruby-build 20130501 2013-05-01 07:38:43 -07:00
Jeremy Kemper
b219192020 Restore -O3 default when we build with clang 2013-04-26 15:06:43 -07:00
Sam Stephenson
353246926c Build REE --without-tk on Darwin if X11 is missing
Fixes #267
2013-04-19 11:46:13 -05:00
Sam Stephenson
5f12964089 Pass $RUBY_CONFIGURE_OPTS to REE installer with -c 2013-04-19 11:46:12 -05:00
Sam Stephenson
b4fd8e94e3 Extract sanitize helper 2013-04-19 11:46:12 -05:00
Sam Ruby
3064886674 Address some feedback from Jeremy
* Decrease likelihood of cache collisions
* Avoid file:// urls (and therefore the need to escape)
2013-04-19 11:46:12 -05:00
Sam Ruby
394d8aaa08 cache git clone directory
if RUBY_BUILD_CACHE_PATH is set, create and maintain a local bare git
repository in this location.  The name of the git repository is based
on the git URL, so it will be shared between branches.
2013-04-19 11:46:12 -05:00
Erik Michaels-Ober
5273fb325e ruby-build 20130408 2013-04-08 03:10:21 -07:00
Konstantin Haase
127cd1dcff add topaz-dev 2013-04-07 11:14:44 +02:00
Erik Michaels-Ober
73ad8ac371 Merge pull request #341 from statianzo/mruby
Added mruby
2013-04-06 04:53:49 -07:00