mx icon indicating copy to clipboard operation
mx copied to clipboard

Can remote libraries be provided locally to mx?

Open aragos opened this issue 1 year ago • 2 comments

I'm attempting to build Graal targets in a hermetic environment (no network access) to assure supply chain security. Because of this I need to find a way to provide libraries normally downloaded over the network (example) locally.

I've managed to track down where mx stores these kinds of dependencies once they're downloaded (~/.mx/cache) but fiddling with that location seems unwise. Is there a way to pass an alternate location for a given library, perhaps by flag, or a minimal patch to apply to the suite.pys so they can find the dependencies on the local file system instead?

aragos avatar Jun 24 '24 18:06 aragos

It should be possible to replace the urls attribute of each library in suite.py with a path attribute which is the absolute path to the installed library. That said, it has been a long time since we've used explicit path attributes so I cannot guarantee that it works out of the box. If not, it should not be too hard to fix though.

dougxc avatar Jun 24 '24 19:06 dougxc

Another way to do this is just pre-populate the mx cache. You can use the MX_CACHE env variable to point it at a different cache.

I don't know whether MX_URLREWRITE works with local (file:///) urls, but that might also be worth checking out.

rschatz avatar Jun 25 '24 17:06 rschatz