-
-
Notifications
You must be signed in to change notification settings - Fork 657
Open
Description
This is a meta-ticket for tickets that address updating other packages to use the helper functions in sage-dist-helpers
where possible. There are
a few advantages to doing this:
- In general it simplifies these scripts and reduces a lot of boilerplate. As more functions get written even more boilerplate can be removed, but even the existing functions help a lot.
- Although this requires irritating bulk updates to packages now, it reduces the overall need for such bulk updates in the future, since many packages that have similar build and installation steps can be be updated at once by updates to the applicable helper functions.
The second bullet point is especially motivated right now by #22509. Since it requires updates to nearly every package in Sage anyways, it makes more sense to update most packages to use the helper functions, and then add DESTDIR
support through the helper functions. In particular, the vast majority of Python and autotools packages can be given DESTDIR
support en masse by this approach.
- Replace $PIP_INSTALL with sdh_pip_install helper function #24014 and Remove PIP_INSTALL from sage-env #24018 -- Update Python packages that are installed with
pip
to usesdh_pip_install
- Update simple autotools packages to use sdh_configure and related helpers #24025 -- Update "trivial" autotools packages to use
sdh_configure
,sdh_make
, andsdh_install
. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements. - Use sage-dist-helpers for curl and gc #25038 Update some standard packages that were excluded from Update simple autotools packages to use sdh_configure and related helpers #24025 due to conflicts with other existing tickets
- curl
- gc
- Miscellaneous packages that have already been converted (e.g. as part of a version update):
Upgrade GDB #24692 - gdb (optional)tides does not build on 32-bit systems #26021 - tides (optional)
- Add DESTDIR support for optional packages that use autotools #27039 Update some optional packages that use autotools in a standard way but were just excluded from Update simple autotools packages to use sdh_configure and related helpers #24025 due to not being standard packages
- 4ti2
- bliss
- cbc
- csdp
- deformation
- fricas
- gp2c
- igraph
- latte_int
- libogg
- lidia
- lrslib
- mpfrcx
- sirocco
- tdlib
- #????? Same as previous, but for experimental packages:
- libtheora - doesn't even build successfully for me ATM
- surf - doesn't even build successfully for me ATM
- valgrind
- Update "trickier" autotools packages that take a little extra care for some reason:
- Add DESTDIR support for python2/python3 #25043 - python2/python3
- #????? - compilerwrapper (experimental)
- #????? - gambit (optional)
- Upgrade to GAP 4.10 #22626 - gap
- Upgrade to gap_packages 4.10 and remove database_gap #26856 - gap_packages (optional)
- DESTDIR support for gcc, improvements to gfortran #27016 - gcc (optional)
- #????? - git (optional)
gfortran breaks parallel build #25001 DESTDIR support for gcc, improvements to gfortran #27016 - gfortran (optional)- #????? - gmp (optional)
- Add DESTDIR support for mpfr #25045 - mpfr
- Add DESTDIR support for nauty #25086 - nauty
- Add DESTDIR support for ppl #25087 - ppl
- Add DESTDIR support for r, and other cleanup #25049 - r
- #????? - termcap (has a
configure
from a very old autoconf) - #????? - topcom (its existing spkg-install uses
install-strip
instead ofinstall
and one can see why: the debugging info for this library is quite large for some reason; need an alternative tosdh_make_install
that allows alternate install targets)
- Handle miscellaneous non-autotools packages. There are some like this that may still be applicable (e.g. they don't use
configure
but they still usemake
in such a way that can be replaced withsdh_make
). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.- Use sage-dist-helpers + add DESTDIR support for flint and arb #25035 - arb - has a hand-written
configure
script - #????? - cmake (optional)
- DESTDIR support for coxeter3 #29150 - coxeter3 (optional)
- Use sage-dist-helpers + add DESTDIR support for flint and arb #25035 - flint- has a hand-written
configure
script - Add DESTDIR support for freetype #25042 - freetype - has a hand-written
configure
script - #????? - gap3 (experimental) - do we care?
- Add DESTDIR support for gfan, lcalc, ratpoints, rubiks, symmetrica #25100 - gfan
- Add DESTDIR support for gfan, lcalc, ratpoints, rubiks, symmetrica #25100 - lcalc
- #????? - lie (experimental)
- Add DESTDIR and Cygwin support for mcqd #29148 - mcqd (optional)
- #????? - modular_decomposition (experimental)
- use sdh tools for normaliz #27511 - normaliz (optional)
- Add destdir support and other cleanup for ntl #25037 - ntl - has a hand-written
configure
script - Add DESTDIR support for openblas #25052 - openblas
- #????? - openssl
- Add DESTDIR support for palp #25144 - palp
- Add DESTDIR support for pari #25143 - pari
- #????? - perl_term_readline_gnu (experimental)
- using sdh dist helpers for plantri #27398 - plantri (optional)
- #????? - polymake (experimental)
- #????? - qepcad (experimental)
- Add DESTDIR support for gfan, lcalc, ratpoints, rubiks, symmetrica #25100 - ratpoints
- Add DESTDIR support for gfan, lcalc, ratpoints, rubiks, symmetrica #25100 - rubiks
- #????? - saclib (optional)
- #????? - scipoptsuite (experimental)
- #????? - sip (optional)
- Add DESTDIR support for gfan, lcalc, ratpoints, rubiks, symmetrica #25100 - symmetrica
- Add DESTDIR support for sympow #25099 - sympow
- Add DESTDIR support for tachyon, and other cleanup #25048 - tachyon
- Add DESTDIR support for zlib #25142 - zlib - has a hand-written
configure
script - Add DESTDIR support for zn_poly, and additional cleanup #25085 - zn_poly -
configure
is just a wrapper for a custom Python script calledmakemakefile.py
- Use sage-dist-helpers + add DESTDIR support for flint and arb #25035 - arb - has a hand-written
- Some Python packages for which a simple
pip install
does not suffice:- sage --gdb does not start due to SIGFPE #25092 - cysignals
- Add DESTDIR support to additional Python packages; upgrade pip to latest patch release #25051 - numpy
- Add DESTDIR support to additional Python packages; upgrade pip to latest patch release #25051 - pillow
- Add DESTDIR support to additional Python packages; upgrade pip to latest patch release #25051 - pip
- #????? - scons (optional)
- Add DESTDIR support to additional Python packages; upgrade pip to latest patch release #25051 - setuptools
- Handle packages that don't have any kind of "build system" and just involve copying files. It might still be nice to have a helper function for this, for example, that ensures that all the destination directories are created under
$SAGE_DESTDIR_LOCAL
.- Add DESTDIR support for boost_cropped #25147 - boost_cropped
- Update additional packages to use sdh_install #25040 - combinatorial_designs
- Update additional packages to use sdh_install #25040 - graphs
- #????? - jmol
- Add sdh_install helper function to sage-dist-helpers #25039 - mathjax
- Update additional packages to use sdh_install #25040 - pari_galdata
- Update additional packages to use sdh_install #25040 - pari_seadata_small
- Update additional packages to use sdh_install #25040 - polytopes_db
- Add sdh_install helper function to sage-dist-helpers #25039 - thebe
- Update additional packages to use sdh_install #25040 - threejs
- Miscellaneous packages with Python-based installers:
- #????? - atlas (optional)
- #????? - conway_polynomials
- #????? - elliptic_curves
Component: build
Issue created by migration from https://trac.sagemath.org/ticket/24024