-
-
Notifications
You must be signed in to change notification settings - Fork 676
Description
Instead of relying on running in an environment set up by sage-env
, we should set up specific environment variables whenever we invoke executables. This will be configurable through sage_conf
.
This is so that Sage is fully functional even when not being run from within sage-env
. This continues what was done in #29038/#30563 for Maxima.
As this ticket removes some hard-coded paths depending on SAGE_LOCAL
from sagelib, it will reduce the need for patching for downstream packaging.
A possible implementation strategy goes through sage.features.Executable
.
This is part of:
- Meta-ticket: Split sage-env into 5 to clean up sage configuration #21707 Meta-ticket: Split
sage-env
into 5 to clean up sage configuration
Taken care of in separate tickets:
- sage.env: Remove direct uses of SAGE_LOCAL from the Sage library #32036
sage.env
: Remove fallback ofSAGE_LOCAL
toSAGE_VENV
, remove direct uses ofSAGE_LOCAL
from the Sage library - sage.features.Executable: Prepend $SAGE_VENV/bin:$SAGE_LOCAL/bin to PATH #31296
sage.features.Executable
: Prepend$SAGE_VENV/bin:$SAGE_LOCAL/bin
toPATH
, remove dependency ondistutils
- QEPCAD: improve installation locations #31275 qepcad
- spkg-configure.m4 for singular #29024/sage.libs.singular: Do not fail if the Singular binary is not in PATH #33440 singular
- Add spkg-configure.m4 for 4ti2, remove direct use of SAGE_LOCAL #30887 4ti2
- sage.graphs: Use Executable.absolute_filename() #33465
sage.graphs
: UseExecutable.absolute_filename()
- sage.features.lrs: Make it a JoinFeature of Lrs, LrsNash; use Executable.absolute_filename #33466
lrs
- sage.geometry.polyhedron.backend_cdd: Go through sage.features for _cdd_executable #32645
cddlib
- sage.geometry: Use PalpExecutable(...).absolute_filename() #33467
palp
- Feature for gfan #33468
gfan
- Eliminate direct use of os.getenv in sage.interfaces #33405 Eliminate direct use of
os.getenv
insage.interfaces
- spkg-configure.m4 for gap #29644 gap
- environment for C compiler use at runtime (includes
ARCHFLAGS
- see Accept /usr/bin/python3 from XCode 12.3 on macOS 10.15 (Catalina) and 11 (Big Sur) #31227) - Set environment for sage.misc.cython #31041 environment for
sage.misc.cython
CC: @kiwifb @tobiasdiez @dimpase @antonio-rojas @orlitzky @seblabbe
Component: refactoring
Keywords: sd111
Issue created by migration from https://trac.sagemath.org/ticket/30818