Benefits:
- makes it easier to stub `rbenv-*` subcommands in tests
- speeds up subcommands because it skips the main `rbenv` executable
Caveats:
- users are no longer able to call `bin/rbenv-install` or
`rbenv-uninstall` directly
There doesn't seem to be a way to construct a sed invocation for
in-place editing that is compatible with both BSD and GNU sed.
http://stackoverflow.com/q/5694228/11687Fixes#475
The default shebang for binstubs in a JRuby installation is
`#!/usr/bin/env jruby`. On a rbenv-managed JRuby, this will execute the
`jruby` rbenv shim. In a situation where a JRuby tool like `gem` is
executed from within a running rbenv by a rbenv plugin, (e.g.
rbenv-gemset) this can trigger another rbenv run to resolve the shim.
This can lead to endless recursion of rbenv calls.
Fixes#471, closes#473
References jf/rbenv-gemset#56
On OS X and some other platforms it doesn't matter, as `tar`
automatically detects the compression method, but on platforms that
don't it's important to declare the archive format. For ordinary
tarballs the extension provides this info, but since Topaz archive
doesn't have an extension in the URL, we add a fake one via a dummy
query string parameter.
Fixes#357
I thought this was not necessary, but a number of people had problems
when linking to OS X's "readline" (actually Editline wrapper):
- Some components of Pry wouldn't work
- Writing literal Unicode characters was not possible #379
- The compilation would downright fail in some cases #82#461Fixes#461
If `-p|--patch` flag was set while invoking `ruby-build` or
`rbenv install`, ruby-build will use `patch -p0 -i -` to apply a patch
from stdin to Ruby, Rubinius, or JRuby source code before running the
rest of `build_package_*` commands.
References #443
We symlink Rubinius' `PREFIX/gems/bin` into `PREFIX/bin` so that new
RubyGems binstubs get added to the main bin directory and therefore
become available to rbenv.
However, by throwing away `irb`, `rake`, `rdoc`, and `ri` binstubs
during this process (which are non-executable and have an invalid
shebang), we break the same commands in latest versions of Rubinius.
This change ensures that these binstubs get preserved, their shebang
corrected to `#!PREFIX/bin/rbx`, their executable bit flipped on, and
copied over to the main bin directory.
Fixes#468
This build is an unofficial backport of the patch for
"Heap Overflow in Floating Point Parsing (CVE-2013-4164)"
to Ruby 1.8.7-p374.
The defnitoin refers to a tarball of this tag:
https://github.com/heroku/ruby/releases/tag/v1_8_7_375