Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge in updates from ruby-build upstream #53

Merged
merged 104 commits into from
Jun 30, 2015
Merged

Conversation

jasonkarns
Copy link
Member

Merges in changes from the following ruby-build releases:

and also merged:

quark-zju and others added 30 commits March 12, 2013 16:40
The previous version of this logic was causing us to
pass the flag when
 * clang is on the PATH, and
 * $CC, or 'clang' if CC unset, accepts the flag.
But this is totally wrong if we have clang installed,
haven't set $CC, and are going to end up using gcc.
We end up passing the flag to gcc, which rejects it.

The real fix is to put this in the autoconf goo in MRI
upstream -- the only correct way to decide whether to pass
this flag is after we know exactly what compiler we're using
and can test if that compiler accepts the flag.  But we can
do better than before by approximating autoconf's choice of
compiler as $CC if set, 'cc' otherwise (which will typically
be a symlink to gcc or clang or another.)

Fixes: rbenv/ruby-build#319
  and #325, which is a dupe.
Fix build failure when clang installed and not used
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.
* Decrease likelihood of cache collisions
* Avoid file:// urls (and therefore the need to escape)
Fixes `rbenv install` in a directory with a .ruby-version file that specifies ree
Unable to clone ruby-build from behind firewall
Restore -O3 default when we build with clang
The configure of rbx can take a RUBY_CONFIGURE_OPTS. You can by example
use the `--skip-prebuilt` OPTS
Allow define RUBY_CONFIGURE_OPTS on rbx configure
mislav and others added 17 commits October 20, 2013 02:18
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 rbenv/rbenv#178, rbenv/rbenv#461
Added a definition for JRuby 1.7.6.
`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
Fix Rubinius gem binstubs path
Fixes breakage caused by curl arguments change in
d0912e4
…from-ruby-build

* commit '67ad3d0619c25072ac8ac4e8ef7d58c982c1efc4':
  add jruby-1.7.4-dev
  `rbenv install 1.9.3` lists matching definitions
  keep source tarball if '--keep' or 'tar xf' fails
  use --continue when downloading tarball
…from-ruby-build

* commit 'a585d0b938c380cbd008dba80acba40c3b5b1500':
  Better target the shorten-64-to-32 workaround (#325, #319)
…from-ruby-build

* commit '5273fb325e642553cdd04b86fce5c9d6c6832367':
  ruby-build 20130408
  add topaz-dev
  Mention homebrew/dupes/apple-gcc42 if Homebrew is installed
  mruby-dev
* tag 'v20130501':
  ruby-build 20130501
  Restore -O3 default when we build with clang
  Build REE --without-tk on Darwin if X11 is missing
  Pass $RUBY_CONFIGURE_OPTS to REE installer with -c
  Default RBENV_VERSION to the globally-specified Ruby
  Extract `sanitize` helper
  Address some feedback from Jeremy
  cache git clone directory
  Updated README.md to use https to clone ruby-build
* tag 'v20130514':
  ruby-build 20130514
  Replacing 1.9.3-p426 with 1.9.3-p429
  added 1.9.3-p426 and 2.0.0-p195
  Add a definition for Ruby 1.9.2-p0
  Add a definition for Ruby 1.9.1-p430
  Allow define RUBY_CONFIGURE_OPTS on rbx configure
  Typo (#353)
  Avoid touching CFLAGS unless explicitly requested (#352)
* tag 'v20130518':
  ruby-build 20130518
  Added JRuby 1.7.4
* tag 'v20130628':
  ruby-build 20130628
  use Homebrew openssl if available
  added latest releases includes CVE-2013-4073
  making checksum comparison case insensitive
  Create maglev-2.0.0-dev
  Fix OpenSSL version pattern (#365)
  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.
* tag 'v20130806':
  ruby-build 20130806
  Change protocol of the ruby-lang.org server from HTTP to FTP
@jasonkarns
Copy link
Member Author

The tests will fail because ruby-build doesn't fix their own test suite from these changes until v20131024 which is another 5 releases from where I am after all these merges.

@jawshooah
Copy link
Contributor

What's the difference between this and #52?

@jasonkarns
Copy link
Member Author

I was hoping nobody would catch that. ;)

It's identical in its current form. This PR's branch (https://github.com/OiNutter/node-build/tree/updates-from-ruby-build) is currently pointing to the same commit as #52's (https://github.com/OiNutter/node-build/tree/ruby-build-v20130806)

I meant to push this branch (updates-from-ruby-build) so that I can continue to merge in ruby build releases and have them just continue to be added to this PR. Since we probably don't want to merge any of these until we're completely up to date with ruby-build, but at the same time want to be able to review the changes a bit at a time. Locally, I'm creating a branch for each ruby-build version merge, but I'm branching them sequentially so each successive merge builds on the previous merges. updates-from-ruby-build is just tracking the latest of these merges as I go.

* tag 'v20130901':
  ruby-build 20130901
  Reformat LICENSE and REAMDE
  use www.dnsbalance.ring.gr.jp
  Don't set the Rubinius gems directory to the prefix
  Homebrew homepage location changed
* tag 'v20130907':
  ruby-build 20130907
  rename hostname, ftp.ruby-lang.org is used by ftp protocol too.
  use http, because http://ftp.ruby-lang.org is deliveried by fastly
  manually reverted using mirror site. and use https protocols
  Add description of `RUBY_CFLAGS` to README.
* tag 'v20130923':
  ruby-build 20130923
  2.1.0-preview1 🚀
  Fix typo in the README file
* tag 'v20131008':
  ruby-build 20131008
  Add JRuby 1.7.5
  run bundle before configure rubinius
  Download from official Rubinius releases site
  Add Rubinius 2.0.0
* tag 'v20131024':
  ruby-build 20131024
  configure Travis CI
  Fix broken test suite
  Fix Rubinius 2.1.x on Linux by supporting bz2 archives
  Added a definition for JRuby 1.7.6.
  Fix Rubinius gem binstubs path
  Add rbx-2.1.1
  Add rbx-2.1.0
@jasonkarns jasonkarns force-pushed the updates-from-ruby-build branch 2 times, most recently from 9a09738 to 0c33410 Compare June 3, 2015 15:28
@jasonkarns
Copy link
Member Author

I merged in the next few sets of ruby-build releases so it's back to passing tests. I think this is a good checkpoint to review and make sure everyone is okay with the changes so far.

@jasonkarns jasonkarns merged commit 0c33410 into master Jun 30, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.