Thank you, Matthias.
Now I have a followup question, which is the tip of an iceberg. The iceberg consists of my thoughts about how to simplify and improve the organization of files in Sage. I am not asking for a yes or no answer, or a list of possible problems. I am just trying to find out whether people would be willing to consider an idea.
Would it be possible for the sage build process to use sage/local as the unique "system location"?
The sage/local directory would be built by one stage of the sage build process, preceding the stage that builds the venv. Inside sage/local one would find either files built by the sage build system, or symlinks to files in other locations on the host system, such as /usr/local, or /opt/local, or a conda directory. The question of whether to use a symlink for X would be the same as the question of whether to use "a system-X". The venv would always contain a pyvenv.cfg file. Within the venv every python extension module which uses other libraries would have its rpath pointing inside of sage/local, possibly to a real library or possibly to a symlink. Binary packages assembled by delocate would be exceptions because they already set the rpaths, to a subdirectory of the python package named .dylibs.
- Marc