Opened 3 years ago

Last modified 3 years ago

#21114 new enhancement

ATLAS spkg doesn't need /Sage's/ python to build

Reported by: leif Owned by:
Priority: minor Milestone: sage-7.3
Component: packages: standard Keywords: sage-spkg dependencies spkg-install
Cc: vbraun Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by leif)

Since we meanwhile require a system python to let Sage build anyway, we don't have to wait with building ATLAS until Sage's python has been built, as ATLAS doesn't install any Python libraries, but only its spkg-install has been rewritten in Python quite a while ago.

This requires two things:

  • Remove the dependency of ATLAS on $(PYTHON) (which means Sage's python2 or python3 package) in its dependencies.
  • Make ATLAS' spkg-install again a shell script, renaming the current one to spkg-install.py, say, where the shell script just contains
    #!/bin/sh
    exec python spkg-install.py
    
    This is necessary because sage-spkg checks whether Sage's python is already installed if an spkg-install script starts with #! ... python, and bails out otherwise:
    atlas-3.10.2.p2
    ====================================================
    Setting up build directory for atlas-3.10.2.p2
    Finished set up
    Error: The spkg-install script is written in Python, but the Python
    package is not yet installed in Sage.  You should add $(PYTHON)
    as dependency in build/pkgs/atlas/dependencies
    make[2]: *** [.../sage/local/var/lib/sage/installed/atlas-3.10.2.p2] Error 1
    
    (Note that this message originates from a build where the Makefile was broken, such that the make dependency of ATLAS on the python package was fulfilled by $(PYTHON) accidentally being empty. So one won't get this message unless the Makefile is corrupted.)

Rather orthogonal to that, our top-level configure doesn't contain any check for python yet, although currently at least sage-download-file and sage-uncompress-spkg require (a system) python (in the beginning of the build). I'll address that on another ticket -- see #21116.

Change History (1)

comment:1 Changed 3 years ago by leif

  • Description modified (diff)
Note: See TracTickets for help on using tickets.