Ok, so just to close the loop on this thread, I gave up on trying to fix the setuptools bug when using --root and have moved on to s straight cmake build.
Because the packages have a dependency chain I have to do fake installs in %build passing CMAKE_INSTALL_PREFIX to be somewhere in the build tree.
The means I have to run %cmake again with the correct install prefix in %install but it looks like only the libraries are re-linked with the correct RPATH and not everything building twice, which would be bad.
Cleaning up %files now because the install directories are slightly different for some files between setuptools and cmake.
Thanks,
Richard