-
-
Notifications
You must be signed in to change notification settings - Fork 654
Description
Unless ./configure --enable-editable
is used, the Sage library is installed directly into site-packages
using setup.py install
, and at the end of sage_setup
's custom sage_install_and_clean
invokes the installation cleaner, which removes "stale" installed files.
The installation cleaner is problematic when we start to install optional modules in the sage.*
namespace via separate distributions such as sagemath-tdlib (#29864).
pkgs/sagemath-standard/setup.py
will no longer enable optional Cython modules based on which optional packages are installed- but the installation cleaner needs to know about these optional Cython modules so it does not remove them right after their installation.
In this ticket we solve this problem by removing the use of the installation cleaner from pkgs/sagemath-standard/setup.py
. Instead we invoke it separately at the end of the installation script build/pkgs/sagelib/spkg-install
.
(An alternative solution, replacing this installation procedure by a standard installation procedure using wheels, as proposed in #32874, would make sage -b
much slower. Also, the idea of just making ./configure --enable-editable
the default, #32406, has met skepticism.)
Depends on #32874
CC: @kiwifb @jhpalmieri
Component: build
Work Issues: Do not build_ext
Branch/Commit: u/mkoeppe/pkgs_sagemath_standard_setup_py__move_distributions_logic_to_a_new_package_sagemath_optional @ edd0ea1
Reviewer: Kwankyu Lee
Issue created by migration from https://trac.sagemath.org/ticket/32927