I don't know about java, but the python portgroup deliberately disables the 
ability to download dependencies. We don't want ports to download things except 
during the fetch phase. And if a port has dependencies on other ports, it 
should declare them. It looks like py-tensorflow already declares a dependency 
on py-six, so there should be no reason for it to need to download six again. 
If its build system is hardcoded to do so anyway, you could patch it to stop it 
from doing that.

I would like to be able to do this but the bazel build system that 
py-tensorflow uses is not designed to allow it easily. It positively insists on 
controlling all aspects of the build, including dependencies. It was enough of 
a battle to get it to use macports provided compilers, when needed….

I am not saying it is impossible, I just do not know how. See for instance

https://docs.bazel.build/versions/master/external.html

Its just really really complicated and frankly I don’t have the enthusiasm to 
work out how to do it…

bazel and py-tensorflow currently build fine, albeit with their own 
dependencies, when Oracle’s JDK 10+ is installed. I am just looking at the 
moment to allow OpenJDK to be used as well.

Ah, ok. I'm not familiar with bazel. Here's how downloading dependencies was 
disabled in the python portgroup:

https://github.com/macports/macports-ports/commit/a0833320f5342a0876a8a5c59320feedc8d87411

What you're seeing is probably unrelated then, but you could try reverting that 
change to make sure.


As it turns out I think the issue is specific to OpenJDK 10. Using OpenJDK 11 this issue goes away..

Chris

Reply via email to