Can remote libraries be provided locally to mx?
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?
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.
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.