-
-
Notifications
You must be signed in to change notification settings - Fork 259
Update TruffleRuby dependencies #359
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
Update TruffleRuby dependencies #359
Conversation
* TruffleRuby 19.3+ uses an internal LLVM toolchain and no longer depends on LLVM. * The full dependencies are listed at https://github.com/oracle/truffleruby/blob/master/README.md#dependencies * Previous versions of TruffleRuby detect if LLVM is missing and print a nice error message, so it is not an issue to remove the dependency for older versions.
havenwood
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
|
Thanks for the quick review and merge :) |
|
The dependencies are going to change again, for instance @postmodern @havenwood I'm thinking dependencies should be part of We could have something like: |
|
Should we only maintain bleeding edge dependencies, or also deps for older versions? Deps can be tied to Ruby or OS version, but they also feel like a totally different thing than Ruby versions metadata. Would this be maybe better in a new |
|
As a general rule we should support the stable version(s) of Rubies and OS/distros, as those are officially supported by their upstream maintainers. Tracking the dependencies for all Rubies, all Ruby versions, all package managers, and all OS/distro releases would be a path to madness; and duplicate data. @eregon as a compromise, once < 20.0 becomes unsupported we can drop those dependencies. |
Yeah that one would be a path to madness, and is only very rarely needed ( I think the rest would still be reasonable (see my example, it's only 2 levels per Ruby implementation), but I get your point. For the point of view of a Ruby implementer, it would make most sense if the dependencies are associated to a given release, because that's at those points dependencies can change, and it does change as we see here (MRI also changed dependencies a few times). Also having it in An an example of a highly problematic case, see #360 / truffleruby/truffleruby#1820 (comment) |
|
Storing dependencies in ruby-versions is out of scope; ruby-versions tracks releases and release artifacts. A better long-term solution might be to standardize on a metadata format for specifying dependencies, and include it with ruby releases themselves. Until then, ruby-install either has to pick generic package names for maximum compatibility, or we have to introduce messy logic to pick the right package name depending on the ruby version, package manager, and platform. |
|
@postmodern Could you do a release of |
|
Yet another user hitting this, could you make a 0.7.1 release with this fix (or current master) soon? |
|
Prepping a 0.7.1 release. Will be offline until evening when it cools down; currently too hot to continue running the workstation. |
|
0.7.1 has finally been released! |
|
Thank you! |
It's now possible to have different dependencies per Ruby engine version with ff740a0 🎉 |
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment)
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment)
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment)
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment) * Fix order of arguments to assertEquals in tests.
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment) * Fix order of arguments to assertEquals in tests.
* See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * libxml2 is not needed since 20.0 so just drop that: postmodern#359 (comment) * Fix order of arguments to assertEquals in tests.
* Reuse truffleruby dependencies for truffleruby-graalvm dependencies since they are the same * Follow repo move from https://github.com/oracle/truffleruby to https://github.com/truffleruby/truffleruby * Use the proper and consistent URLs for TruffleRuby 23.0.0 now that they are available * TruffleRuby 33+ no longer depends on `openssl` and `libyaml` * See https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libssl.md and https://github.com/truffleruby/truffleruby/blob/master/doc/user/installing-libyaml.md * `libxml2` is not needed since 20.0 so just drop that: #359 (comment) * Fix order of arguments to `assertEquals` in tests.
https://github.com/oracle/truffleruby/blob/master/README.md#dependencies
a nice error message, so it is not an issue to remove the dependency
for older versions.
@postmodern @havenwood Could you merge this soon as it might prevent macOS Cataline users to install TruffleRuby? (truffleruby/truffleruby#1820 for details)