Hi Marcin, I will indeed just wrap up our beloved configure and build steps within setup.py. My plan is to install the following hierarchy: site-packages |—— cctbx_distro | |—— cctbx_build | |—— cctbx_project |—— cctbx.pth where cctbx.pth would contain cctbx_distro/cctbx_build/lib cctbx_project/boost_adaptbx cctbx_project/libtbx/pythonpath Finally, I would add to site-packages/sitecustomize the following: import os; os.environ[‘LIBTBX_BUILD’] = path/to/site-packages I just need to refresh my mind about how to get at those paths!
We considered adding setup.py here, but I thought it's not worth the effort and it won't work well anyway. I'd like to be proved wrong. My thinking was that - redoing everything without scons is a lot of effort for little benefit, and it would quickly get out-of-sync with the main build system if it's not actively maintained
Total agreement here.
- wrapping cctbx/scons build system won't work well because distutils options won't map well to the scons options. And additional layer of indirection would be confusing. I mean distutils-like system that doesn't really work like distutils could be more frustrating than having to explicitly use cctbx build commands. But maybe I'm wrong here.
I do not plan to support the wealth of setuptools command-line options, like building in place, or creating those fancy development installation. But 99% of the time people are just interested in % python setup.py install so I think there is a case for providing that. That would be the first milestone. The second milestone would be to make sure the cctbx can then be installed with easy_install or pip, which may require a bit more support for the arcanes of setuptools. I don’t think it will be inordinately difficult. Best wishes, Luc