Opened 4 years ago

Last modified 12 months ago

#21785 closed enhancement

Install SAGE_SRC/ext/ in package data of sage package by setup.py, not SAGE_LOCAL/share/sage/ext/ by build/make/Makefile — at Version 10

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.1
Component: build Keywords:
Cc: jdemeyer, embray, fbissey, slelievre, saraedum, isuruf, dimpase, jhpalmieri Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by mkoeppe)

A lot of the stuff (not necessarily all) in $SAGE_SRC/ext belongs directly in the sage Python package--in particular any files that are needed for the package itself to function properly.

A model for that is sage.gaprc, a file required for the libgap module to work, which is installed in sage.libs.gap as "package data" as of #22626.

In this ticket, we install all of ext as package data of sage.

  • In a follow up ticket, if we identify any files in $SAGE_SRC/ext that aren't explicitly required from the package, we will move them to a more appropriate place.

Change History (10)

comment:1 Changed 4 years ago by mkoeppe

  • Cc fbissey added

comment:2 Changed 4 years ago by fbissey

That would actually help me. I see extra potential to this for my jupyter kernel install woes as well (even if I know Jeroen doesn't see it that way).

comment:3 Changed 20 months ago by slelievre

  • Cc slelievre added
  • Milestone changed from sage-7.5 to sage-8.9

There was a reference to this ticket in a "sage-packaging" discussion:

comment:4 Changed 20 months ago by embray

I would add, a lot of the stuff (not necessarily all) in $SAGE_SRC/ext might better belong directly in the sage Python package--in particular any files that are needed for the package itself to function properly. For example you can see in #22626 that I put sage.gaprc, a file required for the libgap module to work, in sage.libs.gap as "package data".

There are several files in $SAGE_SRC/ext that there's no reason to ever allow to be out of sync with the Python package, and that could be given the same treatment.

For files in $SAGE_SRC/ext in general, that aren't explicitly required from the package (are there any such files) it might be better to move out of src/ entirely?

comment:5 Changed 14 months ago by embray

  • Milestone changed from sage-8.9 to sage-9.1

Ticket retargeted after milestone closed

comment:6 Changed 14 months ago by mkoeppe

  • Cc saraedum isuruf added

comment:7 Changed 14 months ago by mkoeppe

setuptools experts: To move this ticket forward, should it go through #22655 (Support package_data-like of non-Python resource files in Python packages)?

comment:8 Changed 14 months ago by embray

Something like it, yes, though I think maybe it can be simplified.

comment:9 Changed 14 months ago by mkoeppe

Erik, should discussion then take place on #22655 or here?

comment:10 Changed 14 months ago by mkoeppe

  • Cc dimpase added
  • Description modified (diff)
  • Summary changed from Installation of SAGE_SRC/ext/ in SAGE_LOCAL/share/sage/ext/ should be done by setup.py, not build/make/Makefile to Install SAGE_SRC/ext/ in package data of sage package by setup.py, not SAGE_LOCAL/share/sage/ext/ by build/make/Makefile

Description adapted from embray's comment 4.

Note: See TracTickets for help on using tickets.