Changes between Version 78 and Version 86 of Ticket #29013


Ignore:
Timestamp:
02/26/21 07:15:31 (5 months ago)
Author:
mkoeppe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #29013

    • Property Dependencies changed from #30719, #30657, #30622, #30724 | #22731, #30731, #30896 to #31362
    • Property Milestone changed from sage-9.3 to sage-9.4
    • Property Commit changed from 9b93425dad001fe468e0f1551a9b55c0f8289d62 to d04b08b61ba7e86e75da625a30717b9809606cb7
    • Property Work issues changed from refactor through #30896 to AC_ARG_WITH
  • Ticket #29013 – Description

    v78 v86  
    11#27824 made `$SAGE_LOCAL` a venv if a suitable system python3 is found.
    22
    3 In this ticket, we add support for installing several python versions into the same `SAGE_LOCAL`:
    4  - keeping install records for Python packages in `$SAGE_VENV/var/lib/sage/{installed,scripts,wheels}`, separate from those of non-Python packages (`$SAGE_LOCAL/var/lib/sage/{installed,scripts}`)
     3In this ticket, we add support for installing builds of Sage with several python versions, sharing the non-Python packages in `SAGE_LOCAL`:
     4 - keeping install records for Python packages (recognized by having `install-requires.txt` or `requirements.txt`) in `$SAGE_VENV/var/lib/sage/{installed,scripts,wheels}`, separate from those of non-Python packages (`$SAGE_LOCAL/var/lib/sage/{installed,scripts}`)
    55 - likewise for `$SAGE_LOCAL/var/tmp/sage/build`
    66 - here `$SAGE_VENV` defaults to `$SAGE_LOCAL`, but can be overridden to an arbitrary directory that will be used as the wheel-building venv, for example  `$SAGE_LOCAL/var/lib/sage/venv/$PYTHON_TAG`.
     
    1111 - We also want to support `./configure --with-sage-venv=no` which would suppress making any venv (#30896)
    1212
    13 (Tricky case: When system python3 is not in use and SAGE_VENV != SAGE_LOCAL, then both a real `$SAGE_LOCAL/bin/python3` needs to be built and a venv in SAGE_VENV created.)
     13(Tricky case: When system python3 is not in use and SAGE_VENV != SAGE_LOCAL, then both a real `$SAGE_LOCAL/bin/python3` needs to be built and a venv in SAGE_VENV created... or should python3 be installed in `$SAGE_VENV`?)
    1414
    15 To implement this, an SPKG needs an indication that it is a Python package.  Per #30719, we use existence of `install-requires.txt` or of `requirements.txt`.
     15(Optional: A file `build/pkgs/SPKG/trees` could override the install tree determination - this would allow us to for example install a package such as `jupyter_core` both into something like `SAGE_NOTEBOOK_VENV` and `SAGE_VENV`...)
    1616
    17 (Optional: A file `build/pkgs/SPKG/trees` could override it - this would allow us to for example install a package such as `jupyter_core` both into something like `SAGE_NOTEBOOK_VENV` and `SAGE_VENV`...)
    18 
    19 This is mainly for #29039; but also facilitates testing with several Python versions without having to rebuild the Sage distribution.
     17This facilitates testing with several Python versions without having to rebuild the Sage distribution.
    2018
    2119This depends on: