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
Add support for installing a vendored Ruby #510
Conversation
48173e7
to
3e8ab70
Compare
Added vendored openssl and curl, too. This is pretty close to shippable, and will fix a lot of problems. Two remaining things to do, which I've added to the PR summary. |
also update homepage for https Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
Modern Ruby versions should provide both sha256 and flock. |
Yup, planning on using either the Perl or Python version. Unfortunately, nothing shipped on Tiger supports sha256 - the modern openssl is needed to do that. |
|
Introduce brew.sh
Make sha256 resilient with platform-independent fallback.
Hotfix for #514.
4d42127
to
959c9a2
Compare
Turns out this was here all along! Just with a slightly different API from modern versions of Ruby.
Use internal Ruby 1.8.2 sha256
Fixes #521.
Looking forward to this. Currently this branch fails on my 10.5 Intel VM with "Failed to install vendor ruby". When done, will this allow commands like brew's |
# Universal 10.4 build | ||
if [[ "$HOMEBREW_OSX_VERSION_NUMERIC" -lt "100500" || "$HOMEBREW_PROCESSOR" != "Intel" ]] | ||
then | ||
ruby_URL="https://archive.org/download/tigerbrew/portable-ruby-2.2.7.tiger.bottle.tar.gz" |
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.
May be worth going for 2.3.3p222 here to match High Sierra.
This allows a curl that cannot handle modern SSL certificates to install a newer version. Fixes #506 Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
curl: add HTTP mirror.
Update URL to Alpine information and source code
This isn't actually necessary!
77dcd48
to
d019069
Compare
I've got this set up with a confirmed-working-on-G3 Ruby and Curl, along with i386 builds of both packages as well. @EricFromCanada Mind giving this a second go? I think I'm ready to ship this. |
On G3/10.4 & Intel/10.5, after running ✅
⛔️
although running it manually worked, sort of:
One more note:
|
Oops - this is a bug. That value is set before the vendored curl is set up, which means the user agent references a different curl from the one that's used. I'll fix that!
I'll look into this.
Silly bug, but easy fix. 😅 I'll remove the bad test. |
Aha - this is because the portable Ruby doesn't include Bundler. I'm not sure which |
This is based mostly on the upstream vendor-ruby code, using an i386/ppc Ruby I built.
TODOs:
sha2
. The chicken-and-egg of calculating portable-openssl's checksum still needs to be solved, but I no longer want to be shipping a prebuiltsha2
binary in the source tree. I'll take a look at @geoff-codes's work in Make sha256 more resilient, with a platform-independent fallback. #366.flock
code; I have a PR for this upstream at Use Python's flock instead of Ruby's Homebrew/brew#2624 that needs more attention.