Add support for TruffleRuby #4297

Closed
ylluminate opened this Issue Feb 3, 2018 · 7 comments

Comments

Projects
None yet
4 participants
@ylluminate

There's some need to integrate interactivity to allow users to accept or decline a license as per this.

What's the preferred method for integrating such a license acceptance gate into an RVM Ruby formula?

@pkuczynski

This comment has been minimized.

Show comment
Hide comment
@pkuczynski

pkuczynski Feb 5, 2018

Member

Lookup the source code or RVM and create a PR :)

Member

pkuczynski commented Feb 5, 2018

Lookup the source code or RVM and create a PR :)

@pkuczynski pkuczynski added the feature label Feb 5, 2018

@pkuczynski pkuczynski added this to the rvm-1.29.4 milestone Feb 5, 2018

@pkuczynski pkuczynski changed the title from Building interactivity for license acceptance into the download / installation process of a Ruby? to Add support for TruffleRuby Feb 5, 2018

@ylluminate

This comment has been minimized.

Show comment
Hide comment
@ylluminate

ylluminate Feb 5, 2018

It seems to me that a lot of other projects that need Java and other such Oracle components via a traditional click-through gate (eg OTN) implement shell based acceptance Y/N gates at download. Obviously no one is getting prosecuted or running into legal problems over there, so I would hope that the same thing can be done here. I guess some of the project members are in a quandary due to their positions and need to remain aloof, but such things really do hinder the project on a large scale moving forward.

So yeah, we definitely need to get a nice independent PR going for Truffle here in this regard to help everyone out until folks can get their hands around the ability to remove license acceptance...

Not sure if we have to get this fancy, but it would be even possible to actually trigger a click through via the OTN, acting as a graphical browser, but being a simple one-page browser dedicated to dealing with this OTN issue I suppose.

ylluminate commented Feb 5, 2018

It seems to me that a lot of other projects that need Java and other such Oracle components via a traditional click-through gate (eg OTN) implement shell based acceptance Y/N gates at download. Obviously no one is getting prosecuted or running into legal problems over there, so I would hope that the same thing can be done here. I guess some of the project members are in a quandary due to their positions and need to remain aloof, but such things really do hinder the project on a large scale moving forward.

So yeah, we definitely need to get a nice independent PR going for Truffle here in this regard to help everyone out until folks can get their hands around the ability to remove license acceptance...

Not sure if we have to get this fancy, but it would be even possible to actually trigger a click through via the OTN, acting as a graphical browser, but being a simple one-page browser dedicated to dealing with this OTN issue I suppose.

@havenwood

This comment has been minimized.

Show comment
Hide comment
@havenwood

havenwood May 29, 2018

Contributor

Direct downloads of GraalVM Community Edition (CE) without a click-through are now available for Linux. Once direct downloads of GraalVM CE are available for macOS, TruffleRuby support should be straightforward to add for macOS and Linux.

Here's a little script showing installation for Linux and a work-in-progress commit adding installation support for ruby-install.

Contributor

havenwood commented May 29, 2018

Direct downloads of GraalVM Community Edition (CE) without a click-through are now available for Linux. Once direct downloads of GraalVM CE are available for macOS, TruffleRuby support should be straightforward to add for macOS and Linux.

Here's a little script showing installation for Linux and a work-in-progress commit adding installation support for ruby-install.

@eregon

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Jun 15, 2018

Contributor

Should support for TruffleRuby be added to RVM(1) aka this repo or RVM2?
I'm not very familiar with the development of RVM2.

Contributor

eregon commented Jun 15, 2018

Should support for TruffleRuby be added to RVM(1) aka this repo or RVM2?
I'm not very familiar with the development of RVM2.

@havenwood

This comment has been minimized.

Show comment
Hide comment
@havenwood

havenwood Jun 15, 2018

Contributor

@eregon Here, RVM(1), is the right place. :-)

Contributor

havenwood commented Jun 15, 2018

@eregon Here, RVM(1), is the right place. :-)

@eregon

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Jun 16, 2018

Contributor

I started looking at this and I have a one general question.

TruffleRuby is distributed as binary archives per platform/architecture:

Those contain everything we need.
Additionally we also want to trigger a "post-install" hook after extracting the tarball and copying to the target directory. This hook currently rebuilds the openssl C extension, to adapt to the target system libssl version and configuration.

So the question is: is that a "binary ruby" from the point of view of RVM?
It seems that JRuby is considered as binary with rvm_remote_server_url1=https://s3.amazonaws.com/jruby.org.
It looks like the current logic for binary rubies expects all tarballs to be under the same URL path, which is not true with GitHub releases (where the version is a component of the URL, see the URLs above).
Also, it'd seem weird to me to try https://github.com/oracle/truffleruby/releases/download when looking for binary rubies of other implementations.

So I'm thinking we'd rather behave like a source install, except almost everything is already built.
RVM devs: Does that make sense?

Contributor

eregon commented Jun 16, 2018

I started looking at this and I have a one general question.

TruffleRuby is distributed as binary archives per platform/architecture:

Those contain everything we need.
Additionally we also want to trigger a "post-install" hook after extracting the tarball and copying to the target directory. This hook currently rebuilds the openssl C extension, to adapt to the target system libssl version and configuration.

So the question is: is that a "binary ruby" from the point of view of RVM?
It seems that JRuby is considered as binary with rvm_remote_server_url1=https://s3.amazonaws.com/jruby.org.
It looks like the current logic for binary rubies expects all tarballs to be under the same URL path, which is not true with GitHub releases (where the version is a component of the URL, see the URLs above).
Also, it'd seem weird to me to try https://github.com/oracle/truffleruby/releases/download when looking for binary rubies of other implementations.

So I'm thinking we'd rather behave like a source install, except almost everything is already built.
RVM devs: Does that make sense?

@eregon

This comment has been minimized.

Show comment
Hide comment
@eregon

eregon Jun 17, 2018

Contributor

Fixed by #4406 and 70ff3d0 on master.

You can now install TruffleRuby with:

rvm get master
rvm install truffleruby

(for Linux & macOS x86_64)

Contributor

eregon commented Jun 17, 2018

Fixed by #4406 and 70ff3d0 on master.

You can now install TruffleRuby with:

rvm get master
rvm install truffleruby

(for Linux & macOS x86_64)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment