Meta-ticket: Update other packages to using the sage-dist-helpers functions + DESTDIR where applicable
embray opened this issue · 53 comments
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.
- #24014 and #24018 -- Update Python packages that are installed with
pipto usesdh_pip_install - #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. - #25038 Update some standard packages that were excluded from #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):
- #27039 Update some optional packages that use autotools in a standard way but were just excluded from #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:
- #25043 - python2/python3
- #????? - compilerwrapper (experimental)
- #????? - gambit (optional)
- #22626 - gap
- #26856 - gap_packages (optional)
- #27016 - gcc (optional)
- #????? - git (optional)
#25001 #27016 - gfortran (optional)- #????? - gmp (optional)
- #25045 - mpfr
- #25086 - nauty
- #25087 - ppl
- #25049 - r
- #????? - termcap (has a
configurefrom a very old autoconf) - #????? - topcom (its existing spkg-install uses
install-stripinstead ofinstalland one can see why: the debugging info for this library is quite large for some reason; need an alternative tosdh_make_installthat 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
configurebut they still usemakein 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.- #25035 - arb - has a hand-written
configurescript - #????? - cmake (optional)
- #29150 - coxeter3 (optional)
- #25035 - flint- has a hand-written
configurescript - #25042 - freetype - has a hand-written
configurescript - #????? - gap3 (experimental) - do we care?
- #25100 - gfan
- #25100 - lcalc
- #????? - lie (experimental)
- #29148 - mcqd (optional)
- #????? - modular_decomposition (experimental)
- #27511 - normaliz (optional)
- #25037 - ntl - has a hand-written
configurescript - #25052 - openblas
- #????? - openssl
- #25144 - palp
- #25143 - pari
- #????? - perl_term_readline_gnu (experimental)
- #27398 - plantri (optional)
- #????? - polymake (experimental)
- #????? - qepcad (experimental)
- #25100 - ratpoints
- #25100 - rubiks
- #????? - saclib (optional)
- #????? - scipoptsuite (experimental)
- #????? - sip (optional)
- #25100 - symmetrica
- #25099 - sympow
- #25048 - tachyon
- #25142 - zlib - has a hand-written
configurescript - #25085 - zn_poly -
configureis just a wrapper for a custom Python script calledmakemakefile.py
- #25035 - arb - has a hand-written
- Some Python packages for which a simple
pip installdoes not suffice: - 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. - 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
Description changed:
---
+++
@@ -6,7 +6,7 @@
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.
-* #24014 -- Update Python packages that are installed with `pip` to use `sdh_pip_install`
-* #????? -- Update "trival" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
+* #24014 and #24018 -- Update Python packages that are installed with `pip` to use `sdh_pip_install`
+* #????? -- Update "trivial" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
* #????? -- Update "trickier" autotools packages that take a little extra care for some reason. I'm not even sure if there are any like this yet.
* #????? -- 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.Description changed:
---
+++
@@ -7,6 +7,6 @@
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.
* #24014 and #24018 -- Update Python packages that are installed with `pip` to use `sdh_pip_install`
-* #????? -- Update "trivial" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
+* #24025 -- Update "trivial" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
* #????? -- Update "trickier" autotools packages that take a little extra care for some reason. I'm not even sure if there are any like this yet.
* #????? -- 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.Note that for #22509 there will have be a second round of updates to DESTDIR support for some packages that manually copy files to locations in $SAGE_LOCAL. However, making these updates first still significantly reduces that number of packages that will require additional treatment.
Description changed:
---
+++
@@ -8,5 +8,46 @@
* #24014 and #24018 -- Update Python packages that are installed with `pip` to use `sdh_pip_install`
* #24025 -- Update "trivial" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
-* #????? -- Update "trickier" autotools packages that take a little extra care for some reason. I'm not even sure if there are any like this yet.
-* #????? -- 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
+* #????? Update some standard packages that were excluded from #24025 due to conflicts with other existing tickets
+ * **curl**
+ * **gc**
+* #????? Update some optional/experimental packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
+ * **4ti2**
+ * **bliss**
+ * **cbc**
+ * **csdp**
+ * **deformation**
+ * **fricas**
+ * **gdb**
+ * **gp2c**
+ * **igraph**
+ * **latte_int**
+ * **lidia**
+ * **lrslib**
+ * **mpfrcx**
+* Update "trickier" autotools packages that take a little extra care for some reason:
+ * #????? - **python2/python3**
+ * #????? - **compilerwrapper** (experimental)
+ * #????? - **cysignals**
+ * #????? - **gambit** (optional)
+ * #????? - **gap**
+ * #????? - **gap_packages** (optional)
+ * #????? - **gcc** (optional)
+ * #????? - **git** (optional)
+ * #????? - **gmp** (optional)
+ * #????? - **mpfr**
+ * #????? - **nauty**
+ * #????? - **ppl**
+ * #????? - **r**
+ * #????? - **zn_poly**
+* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
+ * #????? - **arb** - has a hand-written `configure` script
+ * #????? - **flint**- has a hand-written `configure` script
+ * #????? - **freetype** - has a hand-written `configure` script
+ * #????? - **ntl** - has a hand-written `configure` script
+ * #????? - **pari**
+ * #????? - **perl_term_readline_gnu** (experimental)
+ * #????? - **polymake** (experimental)
+ * #????? - **rubiks**
+ * #????? - **sip** (optional)
+ * #????? - **zlib** - has a hand-written `configure` scriptAdded classifications to several of the packages that still need to be converted over to sdh-helpers/SAGE_DESTDIR support. Still not an exhaustive list.
Description changed:
---
+++
@@ -34,6 +34,7 @@
* #????? - **gap_packages** (optional)
* #????? - **gcc** (optional)
* #????? - **git** (optional)
+ * ~~#25001 - **gfortran** (optional)~~
* #????? - **gmp** (optional)
* #????? - **mpfr**
* #????? - **nauty**cysignals should be easy... it is only unusual because it uses autoconf in a Python package but sdh_configure should just work anyway.
Replying to @jdemeyer:
cysignals should be easy... it is only unusual because it uses autoconf in a Python package but
sdh_configureshould just work anyway.
Indeed. Most of them are easy and are already done in my old branch for this. The only reason many of these packages were separated out from #24025 is that they required one or two more other changes.
At this point, now that DESTDIR support is available, there's no reason not to handle adding DESTDIR support, at least at a basic level, at the same time as implementing use of sage-dist-helpers.
Description changed:
---
+++
@@ -42,8 +42,8 @@
* #????? - **r**
* #????? - **zn_poly**
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
- * #????? - **arb** - has a hand-written `configure` script
- * #????? - **flint**- has a hand-written `configure` script
+ * #25035 - **arb** - has a hand-written `configure` script
+ * #25035 - **flint**- has a hand-written `configure` script
* #????? - **freetype** - has a hand-written `configure` script
* #????? - **ntl** - has a hand-written `configure` script
* #????? - **pari**Description changed:
---
+++
@@ -8,7 +8,7 @@
* #24014 and #24018 -- Update Python packages that are installed with `pip` to use `sdh_pip_install`
* #24025 -- Update "trivial" autotools packages to use `sdh_configure`, `sdh_make`, and `sdh_install`. By "trivial" I mean packages with very simple build scripts that can be mechanically updated with simple replacements.
-* #????? Update some standard packages that were excluded from #24025 due to conflicts with other existing tickets
+* #25038 Update some standard packages that were excluded from #24025 due to conflicts with other existing tickets
* **curl**
* **gc**
* #????? Update some optional/experimental packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
@@ -28,7 +28,6 @@
* Update "trickier" autotools packages that take a little extra care for some reason:
* #????? - **python2/python3**
* #????? - **compilerwrapper** (experimental)
- * #????? - **cysignals**
* #????? - **gambit** (optional)
* #????? - **gap**
* #????? - **gap_packages** (optional)
@@ -45,10 +44,39 @@
* #25035 - **arb** - has a hand-written `configure` script
* #25035 - **flint**- has a hand-written `configure` script
* #????? - **freetype** - has a hand-written `configure` script
- * #????? - **ntl** - has a hand-written `configure` script
+ * #????? - **gfan**
+ * #????? - **lcalc**
+ * #????? - **normaliz** (optional)
+ * #25037 - **ntl** - has a hand-written `configure` script
+ * #????? - **openblas**
+ * #????? - **palp**
* #????? - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
* #????? - **polymake** (experimental)
+ * #????? - **ratpoints**
* #????? - **rubiks**
* #????? - **sip** (optional)
+ * #????? - **symmetrica**
+ * #????? - **sympow**
+ * #????? - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
+* Some Python packages for which a simple `pip install` does not suffice:
+ * #????? - **cysignals**
+ * #????? - **numpy**
+ * #????? - **pillow**
+ * #????? - **pip**
+ * #????? - **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`.
+ * #????? - **combinatorial_designs**
+ * #????? - **graphs**
+ * #????? - **jmol**
+ * #????? - **mathjax**
+ * #????? - **pari_galdata**
+ * #????? - **pari_seadata_small**
+ * #????? - **polytopes_db**
+ * #????? - **thebe**
+ * #????? - **threejs**
+* Miscellaneous packages with Python-based installers:
+ * #????? - **atlas** (optional)
+ * #????? - **conway_polynomials**
+ * #????? - **elliptic_curves**Description changed:
---
+++
@@ -67,15 +67,15 @@
* #????? - **pip**
* #????? - **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`.
- * #????? - **combinatorial_designs**
- * #????? - **graphs**
+ * #25040 - **combinatorial_designs**
+ * #25040 - **graphs**
* #????? - **jmol**
- * #????? - **mathjax**
- * #????? - **pari_galdata**
- * #????? - **pari_seadata_small**
- * #????? - **polytopes_db**
- * #????? - **thebe**
- * #????? - **threejs**
+ * #25039 - **mathjax**
+ * #25040 - **pari_galdata**
+ * #25040 - **pari_seadata_small**
+ * #25040 - **polytopes_db**
+ * #25039 - **thebe**
+ * #25040 - **threejs**
* Miscellaneous packages with Python-based installers:
* #????? - **atlas** (optional)
* #????? - **conway_polynomials**Description changed:
---
+++
@@ -43,7 +43,7 @@
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` script
* #25035 - **flint**- has a hand-written `configure` script
- * #????? - **freetype** - has a hand-written `configure` script
+ * #25042 - **freetype** - has a hand-written `configure` script
* #????? - **gfan**
* #????? - **lcalc**
* #????? - **normaliz** (optional)Description changed:
---
+++
@@ -26,7 +26,7 @@
* **lrslib**
* **mpfrcx**
* Update "trickier" autotools packages that take a little extra care for some reason:
- * #????? - **python2/python3**
+ * #25043 - **python2/python3**
* #????? - **compilerwrapper** (experimental)
* #????? - **gambit** (optional)
* #????? - **gap**Description changed:
---
+++
@@ -29,7 +29,7 @@
* #25043 - **python2/python3**
* #????? - **compilerwrapper** (experimental)
* #????? - **gambit** (optional)
- * #????? - **gap**
+ * #25044 - **gap**
* #????? - **gap_packages** (optional)
* #????? - **gcc** (optional)
* #????? - **git** (optional)Description changed:
---
+++
@@ -35,7 +35,7 @@
* #????? - **git** (optional)
* ~~#25001 - **gfortran** (optional)~~
* #????? - **gmp** (optional)
- * #????? - **mpfr**
+ * #25045 - **mpfr**
* #????? - **nauty**
* #????? - **ppl**
* #????? - **r**Description changed:
---
+++
@@ -58,7 +58,7 @@
* #????? - **sip** (optional)
* #????? - **symmetrica**
* #????? - **sympow**
- * #????? - **tachyon**
+ * #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
* Some Python packages for which a simple `pip install` does not suffice:
* #????? - **cysignals**Description changed:
---
+++
@@ -38,7 +38,7 @@
* #25045 - **mpfr**
* #????? - **nauty**
* #????? - **ppl**
- * #????? - **r**
+ * #25049 - **r**
* #????? - **zn_poly**
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` scriptDescription changed:
---
+++
@@ -61,11 +61,11 @@
* #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
* Some Python packages for which a simple `pip install` does not suffice:
- * #????? - **cysignals**
- * #????? - **numpy**
- * #????? - **pillow**
- * #????? - **pip**
- * #????? - **setuptools**
+ * #25051 - **cysignals**
+ * #25051 - **numpy**
+ * #25051 - **pillow**
+ * #25051 - **pip**
+ * #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`.
* #25040 - **combinatorial_designs**
* #25040 - **graphs**Description changed:
---
+++
@@ -48,7 +48,7 @@
* #????? - **lcalc**
* #????? - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
- * #????? - **openblas**
+ * #25052 - **openblas**
* #????? - **palp**
* #????? - **pari**
* #????? - **perl_term_readline_gnu** (experimental)zn_poly is not autotools.
Description changed:
---
+++
@@ -39,7 +39,6 @@
* #????? - **nauty**
* #????? - **ppl**
* #25049 - **r**
- * #????? - **zn_poly**
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` script
* #25035 - **flint**- has a hand-written `configure` script
@@ -60,6 +59,7 @@
* #????? - **sympow**
* #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
+ * #????? - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`
* Some Python packages for which a simple `pip install` does not suffice:
* #25051 - **cysignals**
* #25051 - **numpy**Description changed:
---
+++
@@ -59,7 +59,7 @@
* #????? - **sympow**
* #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
- * #????? - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`
+ * #25085 - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`
* Some Python packages for which a simple `pip install` does not suffice:
* #25051 - **cysignals**
* #25051 - **numpy**Description changed:
---
+++
@@ -36,8 +36,8 @@
* ~~#25001 - **gfortran** (optional)~~
* #????? - **gmp** (optional)
* #25045 - **mpfr**
- * #????? - **nauty**
- * #????? - **ppl**
+ * #25086 - **nauty**
+ * #25087 - **ppl**
* #25049 - **r**
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` scriptDescription changed:
---
+++
@@ -56,7 +56,7 @@
* #????? - **rubiks**
* #????? - **sip** (optional)
* #????? - **symmetrica**
- * #????? - **sympow**
+ * #25099 - **sympow**
* #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` script
* #25085 - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`Description changed:
---
+++
@@ -43,8 +43,8 @@
* #25035 - **arb** - has a hand-written `configure` script
* #25035 - **flint**- has a hand-written `configure` script
* #25042 - **freetype** - has a hand-written `configure` script
- * #????? - **gfan**
- * #????? - **lcalc**
+ * #25100 - **gfan**
+ * #25100 - **lcalc**
* #????? - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
@@ -52,10 +52,10 @@
* #????? - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
* #????? - **polymake** (experimental)
- * #????? - **ratpoints**
- * #????? - **rubiks**
+ * #25100 - **ratpoints**
+ * #25100 - **rubiks**
* #????? - **sip** (optional)
- * #????? - **symmetrica**
+ * #25100 - **symmetrica**
* #25099 - **sympow**
* #25048 - **tachyon**
* #????? - **zlib** - has a hand-written `configure` scriptDescription changed:
---
+++
@@ -61,7 +61,7 @@
* #????? - **zlib** - has a hand-written `configure` script
* #25085 - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`
* Some Python packages for which a simple `pip install` does not suffice:
- * #25051 - **cysignals**
+ * #25092 - **cysignals**
* #25051 - **numpy**
* #25051 - **pillow**
* #25051 - **pip**Description changed:
---
+++
@@ -58,7 +58,7 @@
* #25100 - **symmetrica**
* #25099 - **sympow**
* #25048 - **tachyon**
- * #????? - **zlib** - has a hand-written `configure` script
+ * #25142 - **zlib** - has a hand-written `configure` script
* #25085 - **zn_poly** - `configure` is just a wrapper for a custom Python script called `makemakefile.py`
* Some Python packages for which a simple `pip install` does not suffice:
* #25092 - **cysignals**Description changed:
---
+++
@@ -49,7 +49,7 @@
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
* #????? - **palp**
- * #????? - **pari**
+ * #25143 - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
* #????? - **polymake** (experimental)
* #25100 - **ratpoints**Description changed:
---
+++
@@ -48,7 +48,7 @@
* #????? - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
- * #????? - **palp**
+ * #25144 - **palp**
* #25143 - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
* #????? - **polymake** (experimental)Description changed:
---
+++
@@ -67,6 +67,7 @@
* #25051 - **pip**
* #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`.
+ * #25147 - **boost_cropped**
* #25040 - **combinatorial_designs**
* #25040 - **graphs**
* #????? - **jmol**Description changed:
---
+++
@@ -25,6 +25,10 @@
* **lidia**
* **lrslib**
* **mpfrcx**
+ * **sirocco**
+ * **tdlib**
+ * **tides**
+ * **topcom**
* Update "trickier" autotools packages that take a little extra care for some reason:
* #25043 - **python2/python3**
* #????? - **compilerwrapper** (experimental)
@@ -39,8 +43,10 @@
* #25086 - **nauty**
* #25087 - **ppl**
* #25049 - **r**
+ * #????? - **termcap** (has a `configure` from a very old autoconf)
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` script
+ * #????? - **cmake** (optional)
* #25035 - **flint**- has a hand-written `configure` script
* #25042 - **freetype** - has a hand-written `configure` script
* #25100 - **gfan**
@@ -48,12 +54,15 @@
* #????? - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
+ * #????? - **openssl**
* #25144 - **palp**
* #25143 - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
+ * #????? - **plantri**
* #????? - **polymake** (experimental)
* #25100 - **ratpoints**
* #25100 - **rubiks**
+ * #????? - **saclib** (optional)
* #????? - **sip** (optional)
* #25100 - **symmetrica**
* #25099 - **sympow**
@@ -65,6 +74,7 @@
* #25051 - **numpy**
* #25051 - **pillow**
* #25051 - **pip**
+ * #????? - **scons** (optional)
* #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`.
* #25147 - **boost_cropped**Description changed:
---
+++
@@ -11,7 +11,7 @@
* #25038 Update some standard packages that were excluded from #24025 due to conflicts with other existing tickets
* **curl**
* **gc**
-* #????? Update some optional/experimental packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
+* #????? Update some optional packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
* **4ti2**
* **bliss**
* **cbc**
@@ -22,6 +22,7 @@
* **gp2c**
* **igraph**
* **latte_int**
+ * **libogg**
* **lidia**
* **lrslib**
* **mpfrcx**
@@ -29,6 +30,10 @@
* **tdlib**
* **tides**
* **topcom**
+* #????? 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:
* #25043 - **python2/python3**
* #????? - **compilerwrapper** (experimental)
@@ -49,8 +54,11 @@
* #????? - **cmake** (optional)
* #25035 - **flint**- has a hand-written `configure` script
* #25042 - **freetype** - has a hand-written `configure` script
+ * #????? - **gap3** (experimental) - do we care?
* #25100 - **gfan**
* #25100 - **lcalc**
+ * #????? - **lie** (experimental)
+ * #????? - **modular_decomposition** (experimental)
* #????? - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
@@ -60,9 +68,11 @@
* #????? - **perl_term_readline_gnu** (experimental)
* #????? - **plantri**
* #????? - **polymake** (experimental)
+ * #????? - **qepcad** (experimental)
* #25100 - **ratpoints**
* #25100 - **rubiks**
* #????? - **saclib** (optional)
+ * #????? - **scipoptsuite** (experimental)
* #????? - **sip** (optional)
* #25100 - **symmetrica**
* #25099 - **sympow**Description changed:
---
+++
@@ -38,8 +38,8 @@
* #25043 - **python2/python3**
* #????? - **compilerwrapper** (experimental)
* #????? - **gambit** (optional)
- * #25044 - **gap**
- * #????? - **gap_packages** (optional)
+ * #22626 - **gap**
+ * #26856 - **gap_packages** (optional)
* #????? - **gcc** (optional)
* #????? - **git** (optional)
* ~~#25001 - **gfortran** (optional)~~Retargeting some of my tickets.
Description changed:
---
+++
@@ -40,9 +40,9 @@
* #????? - **gambit** (optional)
* #22626 - **gap**
* #26856 - **gap_packages** (optional)
- * #????? - **gcc** (optional)
+ * #27016 - **gcc** (optional)
* #????? - **git** (optional)
- * ~~#25001 - **gfortran** (optional)~~
+ * ~~#25001 #27016 - **gfortran** (optional)~~
* #????? - **gmp** (optional)
* #25045 - **mpfr**
* #25086 - **nauty**Description changed:
---
+++
@@ -66,7 +66,7 @@
* #25144 - **palp**
* #25143 - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
- * #????? - **plantri**
+ * #????? - **plantri** (optional)
* #????? - **polymake** (experimental)
* #????? - **qepcad** (experimental)
* #25100 - **ratpoints**Description changed:
---
+++
@@ -11,6 +11,8 @@
* #25038 Update some standard packages that were excluded from #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):
+ * ~~#24692 - **gdb** (optional)~~
* #????? Update some optional packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
* **4ti2**
* **bliss**
@@ -18,7 +20,6 @@
* **csdp**
* **deformation**
* **fricas**
- * **gdb**
* **gp2c**
* **igraph**
* **latte_int**Description changed:
---
+++
@@ -13,6 +13,7 @@
* **gc**
* Miscellaneous packages that have already been converted (e.g. as part of a version update):
* ~~#24692 - **gdb** (optional)~~
+ * ~~#26021 - **tides** (optional)~~
* #????? Update some optional packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
* **4ti2**
* **bliss**
@@ -29,7 +30,6 @@
* **mpfrcx**
* **sirocco**
* **tdlib**
- * **tides**
* **topcom**
* #????? Same as previous, but for experimental packages:
* **libtheora** - doesn't even build successfully for me ATMDescription changed:
---
+++
@@ -30,7 +30,6 @@
* **mpfrcx**
* **sirocco**
* **tdlib**
- * **topcom**
* #????? 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
@@ -50,6 +49,7 @@
* #25087 - **ppl**
* #25049 - **r**
* #????? - **termcap** (has a `configure` from a very old autoconf)
+ * #????? - **topcom** (its existing spkg-install uses `install-strip` instead of `install` and one can see why: the debugging info for this library is quite large for some reason; need an alternative to `sdh_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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` script
* #????? - **cmake** (optional)Description changed:
---
+++
@@ -14,7 +14,7 @@
* Miscellaneous packages that have already been converted (e.g. as part of a version update):
* ~~#24692 - **gdb** (optional)~~
* ~~#26021 - **tides** (optional)~~
-* #????? Update some optional packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
+* #27039 Update some optional packages that use autotools in a standard way but were just excluded from #24025 due to not being standard packages
* **4ti2**
* **bliss**
* **cbc**This should really be in needs work status.
Description changed:
---
+++
@@ -67,7 +67,7 @@
* #25144 - **palp**
* #25143 - **pari**
* #????? - **perl_term_readline_gnu** (experimental)
- * #????? - **plantri** (optional)
+ * #27398 - **plantri** (optional)
* #????? - **polymake** (experimental)
* #????? - **qepcad** (experimental)
* #25100 - **ratpoints**Description changed:
---
+++
@@ -60,7 +60,7 @@
* #25100 - **lcalc**
* #????? - **lie** (experimental)
* #????? - **modular_decomposition** (experimental)
- * #????? - **normaliz** (optional)
+ * #27511 - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` script
* #25052 - **openblas**
* #????? - **openssl**Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved).
Ticket retargeted after milestone closed
Description changed:
---
+++
@@ -53,12 +53,14 @@
* 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 use `make` in such a way that can be replaced with `sdh_make`). It might also be possible to narrow down one or two other classes of packages that can be simplified with new helper functions.
* #25035 - **arb** - has a hand-written `configure` script
* #????? - **cmake** (optional)
+ * #29150 - **coxeter3** (optional)
* #25035 - **flint**- has a hand-written `configure` script
* #25042 - **freetype** - has a hand-written `configure` script
* #????? - **gap3** (experimental) - do we care?
* #25100 - **gfan**
* #25100 - **lcalc**
* #????? - **lie** (experimental)
+ * #29148 - **mcqd** (optional)
* #????? - **modular_decomposition** (experimental)
* #27511 - **normaliz** (optional)
* #25037 - **ntl** - has a hand-written `configure` scriptSetting new milestone based on a cursory review of ticket status, priority, and last modification date.
Setting a new milestone for this ticket based on a cursory review.
Open as of Sage 10.3.beta0: