ports-mgmt/sccache-overlay: Use Unix sockets and fix Poudriere builds
Poudriere builder jails seem to share one network namespace which
is problematic when building packages in parallel since sccache
binds to localhost:4226. This then leads to jails reusing the
sccache instance from other jails which is problematic and can
cause failures like
1/ missing files due to the filesystem separation:
sccache: caused by: No such file or directory (os error 2)
2/ the sccache instance suddenly going away when a parallel build
finishes and Poudriere shuts down the jail and kills all of its
processes:
sccache: error: failed to execute compile sccache: caused by: Failed to send data to or receive data from server sccache: caused by: Failed to read response header sccache: caused by: failed to fill whole buffer
To properly namespace sccache instances we can use Unix sockets.
There is a request [1] for adding support for Unix sockets
upstream but no code has been written for that AFAICT. This
commit hacks in support for them which should be just about ok
for our purposes.
[1] https://github.com/mozilla/sccache/issues/933
Tested by: jrm