SPKG that only build executables or data: Replace spkg-install
by conda #35583
Open
Description
Inspired by the discussion in https://groups.google.com/g/sage-devel/c/AvH3xq2bCfo:
A subset of our SPKGs is only used by calling their executables, not linking to libraries.
For such executables, there are no concerns about library / toolchain incompatibilities: We can take the executables from conda.
So we can create an isolated conda environment somewhere within SAGE_LOCAL; perhaps $SAGE_LOCAL/var/lib/sage/conda
. This could be implemented without user-visible changes in the installation process.
Examples of such SPKGs:
benzene
buckygen
cmake
csdp
(?)database_...
(but these may be better to change to pip-installable packages, see Meta-ticket: Create upstream repositories, pip-installable packages for database packages #30914)deformation
ffmpeg
(currently dummy package)frobby
gap3
gdb
gengetopt
gfan
(to be checked: vendoring situation with singular)git
(currently dummy package)github_cli
imagemagick
(currently dummy package)info
jmol
latte_int
/lidia
lie
mathjax
(?)meson
(but notmeson-python
)palp
/polytope_db...
pandoc
(currently dummy package)patch
patchelf
pdf2svg
(currently dummy package)python3
qepcad
/saclib
rubiks
surf
tachyon
texlive
(currently dummy package)topcom
Separately: Python packages that run in separate Python processes. (Can install with conda or with pip.)
- The frontend components of Jupyter/Jupyterlab (Meta-ticket: Use system Jupyter notebook / JupyterLab #30306); best done when the Jupyter-based notebook 7 comes out!
tox
/virtualenv
and their dependencies
This could also a solution for some packages of:
- Meta-ticket: Add packages from 3-manifolds / computop #31176
- Add Sage packages for additional software used by Polymake #20977
- Meta-ticket: Interoperability with the Julia language, use Julia packages #27762
- Meta-ticket: Fix optional and experimental packages #29900
- closing numerous "wishlist" package tickets