Opened 3 years ago

Last modified 5 months ago

#27348 needs_review task

Make sagelib into an SPKG

Reported by: embray Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


I think it would simplify an clarify things a bit if sagelib itself were "just another SPKG" like all its dependencies. It would still be a very important one, but it would still be tracked within the SPKG build system just like any other. I think this would be a good move toward decoupling sagelib itself from the sage-the-distribution infrastructure.

For now this would mostly require just one small update to the build infrastructure (which I've suggested before) to allow packages to be built from an existing source tree on the filesystem (preferably without copying) rather than from downloading an extracting a tarball.

In the Makefile this would require replacing some references to the phony target sagelib to a concrete target $(inst_sagelib). I think this might also help some issues I've had with build ordering but I'm not positive.

There is a question, in this scenario, about what to do with the Sage docs. I think they should be a separate SPKG as well (say, sagedoc), which would be "optional" but still part of the standard install set by default (a ./configure flag for this would be useful). This is in part because the Sage docs are just so big, but also in part because its dependencies are broader than those of sagelib, and would actually result in dependency cycles if the docs were just included in the sagelib package. Also, since #25345, it's perfectly possible and valid to build Sage and pass the tests without having built the docs, which could be a time saver for people who just want to build Sage without the docs.

Change History (1)

comment:1 Changed 5 months ago by mkoeppe

  • Milestone changed from sage-wishlist to sage-duplicate/invalid/wontfix
  • Status changed from new to needs_review

outdated, should close

Note: See TracTickets for help on using tickets.