-
Notifications
You must be signed in to change notification settings - Fork 120
Conversation
@SamSaffron any support for this change? Would like patches pushed back all the way to the 3.x pipeline. |
This looks fine to me... @lloeki I am going to merge this... feel free to do backport prs as well. |
@poloka may I ask what is the dependency that you depend on that makes you depend on libv8? Is it therubyracer? If so what is depending on therubyracer? IOW what, if anything, is precluding a move to mini_racer? |
@mitorez you are correct. We have an internal dependency that we do not have control of right now that depends on therubyracer that pulls in the 3.x series of libv8. |
therubyracer is incredibly high risk at this point in time... there are so many unpatched CVEs in ancient versions of v8... |
Don't disagree. We need to get off it. |
@SamSaffron @lloeki is it possible to get this released in a patch back to the 3.x? If wiki instructions were updated on how to build this locally, test, and then how to release I'd be open to tagging the releases. I attempted to pull the latest and build and I must be missing something because I cannot get it working locally on my M1 mac. Looks like travis CI is no longer building this project. |
I'll hack something. |
Thank you very much, @lloeki! If the version number could be something like |
TBH it's pointless, not the least because this libv8 version is extremely old and insecure.
You're not missing anything, this version of libv8 is outstandingly outdated and has issues with recent compiler and environments, even on Intel. It just does not support arm64-darwin, I'm not even sure it properly supports aarch64-linux, if at all; even if it produces an Intel build it is not amenable to reliably run under Rosetta 2. Attempting to reliably have it do a consistent Intel build on M1 through Rosetta is an exercise in frustration.
Cue the above: running unreliable jobs on CI achieves very little in comparison to the effort of moving CIs, even more so for an outdated project.
I can understand the realities of development - hence why I'll hack something, out of pure goodwill - and I certainly don't want to sound judgemental. That said, relying on such an old version of v8 and conversely on therubyracer, which cannot be upgraded to later v8 versions without extreme amounts of work, is a serious liability and a migration should have been considered with increasingly high priority as time has passed. From CI to up-to-date v8, mini_racer's raison d'être is to tackle these issues, which is a hard-enough task in and of itself, so within the bounds of the time we can allocate to rubyjs that's where our focus is. @SamSaffron WDYT about putting out a notice on the README of libv8 and therubyracer highlighting the status of both, with a recommendation to move to mini_racer+libv8-node? |
@lloeki Completely agree with everything you stated above^ Poor planning on our part does not necessitate an emergency on yours. If you're able to hack something together, it would be very much appreciated. If you're not able to for whatever reason, that's totally understandable. I understand these projects are EOL, even if that's not explicitly stated - so any help we receive from you, we know it's above and beyond. We are getting off our deprecated internal dependency as well as these, but unfortunately it's a large effort and that time frame doesn't lineup with the new internal push to update to Ruby 3.2, which is the only reason we were looking at this patch/hack. TMI... Thank you again for your time looking into this issue. |
Hacked using good old unpack_gem and pack_gem:
|
For 3.16.14.19:
Tested using:
|
Pushed a bunch of things:
I dropped the darwin version from the platform so that people stop complaining about it being unavailable every year. |
Add psych 4.0 compatibility fix that fixes #322 .