Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

Prefetch the v8 source during release #279

Closed
zimbatm opened this issue Jul 6, 2019 · 10 comments
Closed

Prefetch the v8 source during release #279

zimbatm opened this issue Jul 6, 2019 · 10 comments

Comments

@zimbatm
Copy link

zimbatm commented Jul 6, 2019

Having the gem dynamically fetch the source at build time makes it hard to do offline installations. In Nix and probably other package managers we sandbox builds and describe all the network dependencies upfront. Having the source inside of the .gem file would make things a lot easier for us.

This would also solve #259 and #253.

Would you be open for me to submit a PR that does this?

@ignisf
Copy link
Collaborator

ignisf commented Jul 6, 2019

Unfortunately it's not too simple to accomplish that. depot_tools downloads different things depending on the architecture you run it on :(. I welcome any suggestions. I've considered doing it the nodejs way, however this might entail porting over both their gyp build scripts and their patches.

@zimbatm
Copy link
Author

zimbatm commented Jul 6, 2019

You're so right, i didn't think about that. The whole system doesn't seem particularly geared for easy packaging, only to cater to google engineers. I will try to reach out to upstream and see what is possible to do.

@ignisf
Copy link
Collaborator

ignisf commented Jul 6, 2019

The whole system doesn't seem particularly geared for easy packaging, only to cater to google engineers

This has always been the №1 issue I've had with V8.

@lloeki
Copy link
Contributor

lloeki commented Jul 9, 2019

Looks like #280 is similar to #259 and #253, right?

@ignisf
Copy link
Collaborator

ignisf commented Jul 9, 2019

Some sort of issue with depot_tools? Yes. It definitely seems so. I am yet to look into it though.

@sevospl
Copy link

sevospl commented Jul 11, 2019

I'm glad that there are still people who are interested in making libv8 possible to be installed on platforms like FreeBSD and others. I wish I could finally use it on /BSD, especially because of Discourse.

@nightpool
Copy link
Collaborator

@zimbatm For Nix's specific usecase, I think reintroducing the use-system-v8 option would be the best path forward. Since this package is intended to be a very lightweight wrapper packaging upstream v8, I don't think it makes sense for us to become responsible for the burden of patching v8 for platforms that upstream doesn't support.

This flag would serve two benefits for Nix—it would allow for a very easy way of bringing a system dependency back into the control of system packaging, and it would allow for Nix to build and compile v8 for their platform separately. Does that make sense to you? Or is there another solution you'd prefer we investigate?

@zimbatm
Copy link
Author

zimbatm commented Jul 22, 2020

The issue with using the system v8 is that the API might change. It has caused a few headaches in the past already. As a user, it is suprising when the Gem version doesn't map 1:1 with the v8 version.

@lloeki
Copy link
Contributor

lloeki commented May 7, 2021

libv8-node fetches a node source tarball, I might look into venturing the source in the ruby platform gem if that's still gathering interest (please open an issue on the libv8-node repo if that's so).

@lloeki
Copy link
Contributor

lloeki commented Dec 4, 2023

Closing as libv8-node achieves that goal by design.

@lloeki lloeki closed this as completed Dec 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants