sagemath / sage

Main repository of SageMath. Now open for Issues and Pull Requests.

Home Page:https://www.sagemath.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Meta-ticket: spkg-configure: Try to use as many system packages as possible

embray opened this issue · comments

#24919 implemented a mechanism for checking for checking for sagelib's direct and indirect dependencies at the time of running the main ./configure script. This was already done in an ad-hoc manner for a handful of packages (e.g. gcc, git, yasm, curl), but we wanted to be able to do the same for other packages, especially those that are common on Linux-like systems.

This has now been implemented for many other packages, or is in the process of being implemented. Those packages are listed below. However, there are many others yet to be done, and this ticket will attempt to list them in some rough order of priority.

For use of Python packages: See #29023 Meta-ticket: In a python 3 build, use system Python packages

Already done

The following packages already have spkg-configure.m4 checks that are working on most or all supported platforms:

In Progress

The following packages have in-progress tickets to provide configure-time detection on the system:

Have tickets

The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:

  • BLAS (atlas and other non-openblas): resolving how to handle
    finding a usable BLAS should be one of the highest priorities;
    it faces many of the same issues we faced with MPIR/GMP
    in #27212, but perhaps with even more complexity). One can
    already use system's openblas, though (#27870), and we
    removed ATLAS in #30350.
  • csdp (#31145, optional package)
  • gap (using system GAP is desirable, but non-trivial,
    especially now that we need a working libgap) (#29644)
  • jmol (#30316)
  • lie (#32055, experimental package)
  • mathjax (#30296)
  • perl (#31839, script package)
  • symengine (#32421, optional package)

No ticket yet

Use of system Python packages

This will be be handled by #29023. Please do not add Python packages here.

The following are exceptions (because it does not run in the same Python as sage):

  • notebook (#30124), rst2ipynb, and their dependencies

Testing infrastructure

  • #29053: Add debian/fedora package information to build/pkgs, generate Dockerfiles and installation help
  • #29060: Meta-ticket: Add Dockerfiles and CI scripts for integration testing of source and binary distributions and of downstream packages

Meta infrastructure

  • #31114 Add one file build/pkgs/*/repology.txt per spkg

Documentation

Unfortunately there is still not good documentation for how to implement these configure-time dependency checks.

  • #26668: add documentation for implementing spkg-configure.m4 and distros/ for spkgs
  • #29018: improve documentation of m4/spkg-configure.m4
  • #30543: Document spkg-configure.m4 and distros directory

Bug-fixing

A number of bugs/deficiencies has been uncovered in spkg-configure.m4 files and related configuration, and a number of tickets opened/closed

  • #26715: build/pkgs/gfortran/spkg-configure.m4 works incorrectly if CC and CXX are already there
  • #27219: have bootstrap fail gracefully if no pkg-config is available
  • #27373: some dummy packages must be only re-installable via ./configure --with-...
  • #27567: Add --with-system- options to configure
  • #27641: SAGE_SPKG_CONFIGURE macro: Add new pre-check and post-check optional arguments
  • #27642: Re-run configure+make after installing an SPKG with sage -i
  • #27936: spkg-configure.m4 for pcre should test for UTF support etc
  • #27941: R installation fails on macOS with libcurl from Anaconda
  • #28095: Add --enable-OPTIONALSPKG options to configure
  • #28317: Use -print-prog-name instead of -print-file-name in gcc spkg-configure.m4
  • #28341: Allow doc to build with SAGE_PARI_CFG undefined
  • #28380: bump up givaro version in spkg-configure.m4
  • #28401: pass correct --with-flint to eclib's configure
  • #28405: correct the test for galpol package in pari's spkg-configure.m4
  • #28409: Flint configure fails when using system GMP in certain cases
  • #28906: generate libpng.pc, zlib.pc if needed
  • #28956: correct AC_CHECK_PROG call in spkg-configure for bzip2
  • #29071: verify if cblas.pc and lapack.pc should be replaced by links to openblas.pc
  • #30752: switch the default mp library to gmp
  • #31348: build/pkgs/mpfr/spkg-configure.m4: Check pkg-config first
  • #31358: python3 spkg-configure.m4: Do not reject python based on sysconfig LDFLAGS containing "-L."
  • #31429: flint spkg-configure: Reject FLINT 2.7.x
  • #31528: Cleanup spkg-configure.m4 files that mix tabs and spaces
  • #31539: conda-forge-standard (linux): python3 spkg-configure.m4 rejects conda's python3
  • #32789: Fix spkg-configure.m4 for singular
  • #33042: givaro spkg-configure: Reject too new versions
  • #33092: spkg-configure.m4 for ffmpeg/imagemagick need feature checks

CC: @sagetrac-tmonteil @orlitzky @timokau @kiwifb @isuruf @mezzarobba @tobihan @tobiasdiez

Component: build: configure

Keywords: sd111

Issue created by migration from https://trac.sagemath.org/ticket/27330

comment:1

Note: The list of packages in the description is not yet exhaustive; please add others that are missing as you see fit and/or reprioritize. This is just a rough sketch.

comment:2

#27271 is the ticket for ecm.

Description changed:

--- 
+++ 
@@ -81,7 +81,6 @@
 * libhomfly
 * libbraiding
 * lcalc
-* ecm
 * eclib
 * brial
 

Description changed:

--- 
+++ 
@@ -26,6 +26,7 @@
 * gf2x (#27238)
 * gmp (#27212)
 * mpir (#27212)
+* mpfr (#27258)
 
 
 ### Not Started
@@ -40,7 +41,6 @@
 * freetype (#27168)
 * libpng (#27186)
 * mpc (#27259)
-* mpfr (#27258)
 * ncurses (#27277)
 * ntl (#27265)
 * pcre (#27284)

Description changed:

--- 
+++ 
@@ -27,6 +27,7 @@
 * gmp (#27212)
 * mpir (#27212)
 * mpfr (#27258)
+* mpc (#27259)
 
 
 ### Not Started
@@ -40,7 +41,6 @@
 * flint (#27264)
 * freetype (#27168)
 * libpng (#27186)
-* mpc (#27259)
 * ncurses (#27277)
 * ntl (#27265)
 * pcre (#27284)
comment:8

There is also #27373, which concerns packages that change build/run environment, e.g. mpir/gmp/mpfr, that should be resolved in some way.

Description changed:

--- 
+++ 
@@ -88,5 +88,6 @@
 
 * r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * iconv (common system package)
+* libgd (common system package)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima

Description changed:

--- 
+++ 
@@ -9,6 +9,7 @@
 * bzip2 (#27182)
 * curl (#24919)
 * gcc (#24919)
+* gf2x (#27238)
 * gfortran (#24919)
 * git (#24919)
 * libffi (#25900, #27114)
@@ -23,7 +24,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* gf2x (#27238)
 * gmp (#27212)
 * mpir (#27212)
 * mpfr (#27258)
@@ -91,3 +91,4 @@
 * libgd (common system package)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
+* cmake

Description changed:

--- 
+++ 
@@ -28,6 +28,7 @@
 * mpir (#27212)
 * mpfr (#27258)
 * mpc (#27259)
+* cmake (#27487)
 
 
 ### Not Started
@@ -91,4 +92,3 @@
 * libgd (common system package)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
-* cmake

Description changed:

--- 
+++ 
@@ -29,6 +29,9 @@
 * mpfr (#27258)
 * mpc (#27259)
 * cmake (#27487)
+* ntl (#27265)
+* flint (#27264)
+
 
 
 ### Not Started
@@ -39,11 +42,9 @@
 
 * arb (#27270)
 * ecm (#27271)
-* flint (#27264)
 * freetype (#27168)
 * libpng (#27186)
 * ncurses (#27277)
-* ntl (#27265)
 * pcre (#27284)
 * readline (#27277)
 

Description changed:

--- 
+++ 
@@ -31,6 +31,7 @@
 * cmake (#27487)
 * ntl (#27265)
 * flint (#27264)
+* arb (#27270)
 
 
 
@@ -40,7 +41,6 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-* arb (#27270)
 * ecm (#27271)
 * freetype (#27168)
 * libpng (#27186)
comment:13

Removing most of the rest of my open tickets out of the 8.7 milestone, which should be closed.

Description changed:

--- 
+++ 
@@ -32,6 +32,7 @@
 * ntl (#27265)
 * flint (#27264)
 * arb (#27270)
+* ecm (#27271)
 
 
 
@@ -41,7 +42,6 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-* ecm (#27271)
 * freetype (#27168)
 * libpng (#27186)
 * ncurses (#27277)

Description changed:

--- 
+++ 
@@ -33,6 +33,7 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
+* libpng (#27186)
 
 
 
@@ -43,7 +44,6 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
 * freetype (#27168)
-* libpng (#27186)
 * ncurses (#27277)
 * pcre (#27284)
 * readline (#27277)

Description changed:

--- 
+++ 
@@ -34,7 +34,7 @@
 * arb (#27270)
 * ecm (#27271)
 * libpng (#27186)
-
+* freetype (#27168)
 
 
 ### Not Started
@@ -43,7 +43,6 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-* freetype (#27168)
 * ncurses (#27277)
 * pcre (#27284)
 * readline (#27277)
@@ -59,9 +58,12 @@
   * jinja2
   * jupyter_core
   * numpy
+  * scipy
+  * sympy
   * pip
   * setuptools
   * six
+
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)
 * pari + cypari (these two are deeply intwined)
 * singular
@@ -86,10 +88,10 @@
 * eclib
 * brial
 
+
 Other high priority packages:
-
-* r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * iconv (common system package)
 * libgd (common system package)
+* r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima

Description changed:

--- 
+++ 
@@ -18,14 +18,13 @@
 * yasm (#24919)
 * zeromq (#26286)
 * zlib (#26286)
-
+* gmp (#27212)
+* mpir (#27212)
 
 ### In Progress
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* gmp (#27212)
-* mpir (#27212)
 * mpfr (#27258)
 * mpc (#27259)
 * cmake (#27487)
@@ -35,7 +34,8 @@
 * ecm (#27271)
 * libpng (#27186)
 * freetype (#27168)
-
+* ncurses (#27277)
+* readline (#27277)
 
 ### Not Started
 
@@ -43,9 +43,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-* ncurses (#27277)
 * pcre (#27284)
-* readline (#27277)
 
 #### Don't Have Tickets
 

Description changed:

--- 
+++ 
@@ -20,6 +20,7 @@
 * zlib (#26286)
 * gmp (#27212)
 * mpir (#27212)
+* cmake (#27487)
 
 ### In Progress
 
@@ -27,7 +28,6 @@
 
 * mpfr (#27258)
 * mpc (#27259)
-* cmake (#27487)
 * ntl (#27265)
 * flint (#27264)
 * arb (#27270)
@@ -36,6 +36,7 @@
 * freetype (#27168)
 * ncurses (#27277)
 * readline (#27277)
+* perl_term_readline_gnu (#27795)
 
 ### Not Started
 

Description changed:

--- 
+++ 
@@ -37,6 +37,7 @@
 * ncurses (#27277)
 * readline (#27277)
 * perl_term_readline_gnu (#27795)
+* pcre (#27284)
 
 ### Not Started
 
@@ -44,7 +45,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-* pcre (#27284)
+
 
 #### Don't Have Tickets
 

Description changed:

--- 
+++ 
@@ -45,7 +45,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-
+ninja-build (#27801)
 
 #### Don't Have Tickets
 

Description changed:

--- 
+++ 
@@ -38,6 +38,7 @@
 * readline (#27277)
 * perl_term_readline_gnu (#27795)
 * pcre (#27284)
+* ninja-build (#27801)
 
 ### Not Started
 
@@ -45,7 +46,8 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
 
-ninja-build (#27801)
+* lrslib (#27804)
+
 
 #### Don't Have Tickets
 

Description changed:

--- 
+++ 
@@ -39,6 +39,7 @@
 * perl_term_readline_gnu (#27795)
 * pcre (#27284)
 * ninja-build (#27801)
+* rw (#27814)
 
 ### Not Started
 
@@ -79,7 +80,6 @@
 * ecl
 * iml
 * symmetrica
-* rw
 * ppl
 * planarity
 * lrcalc

Description changed:

--- 
+++ 
@@ -21,6 +21,8 @@
 * gmp (#27212)
 * mpir (#27212)
 * cmake (#27487)
+* perl_term_readline_gnu (#27795)
+* pcre (#27284)
 
 ### In Progress
 
@@ -36,8 +38,6 @@
 * freetype (#27168)
 * ncurses (#27277)
 * readline (#27277)
-* perl_term_readline_gnu (#27795)
-* pcre (#27284)
 * ninja-build (#27801)
 * rw (#27814)
 
@@ -45,7 +45,7 @@
 
 #### Have Tickets
 
-The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet, although Dima has listed some sample config scripts for some of them:
+The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * lrslib (#27804)
 

Description changed:

--- 
+++ 
@@ -42,6 +42,8 @@
 * rw (#27814)
 
 ### Not Started
+
+* iconv (#27823)
 
 #### Have Tickets
 
@@ -92,7 +94,6 @@
 
 
 Other high priority packages:
-* iconv (common system package)
 * libgd (common system package)
 * r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * boost_cropped / boost (many systems should already have boost headers available)

Description changed:

--- 
+++ 
@@ -50,24 +50,9 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * lrslib (#27804)
+* python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 
-
-#### Don't Have Tickets
-
-These packages are direct build dependencies of sagelib, and should thus take priority (since if these can be found on the system then one can presume that so too can their dependencies).  I have listed these roughly in order of the number of other *dependent* SPKGs these have.  Packages with more dependents should generally take higher priority as well:
-
-* python2/python3: this one is of course a very special case; while it should be possible/desirable to use a system python, any additional Python packages should optionally be installable into a virtualenv instead of the system site-pacakges, including sagelib itself unless the system *happens* to meet all of sagelib's Python dependencies already.  Listing some relevant Python packages below:
-  * cysignals
-  * cython
-  * ipython
-  * jinja2
-  * jupyter_core
-  * numpy
-  * scipy
-  * sympy
-  * pip
-  * setuptools
-  * six
+#### No Tickets yet
 
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)
 * pari + cypari (these two are deeply intwined)

Description changed:

--- 
+++ 
@@ -49,6 +49,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
+* libgd (#27825)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 

Description changed:

--- 
+++ 
@@ -38,18 +38,20 @@
 * freetype (#27168)
 * ncurses (#27277)
 * readline (#27277)
+* libgd (#27825)
 * ninja-build (#27801)
 * rw (#27814)
+
 
 ### Not Started
 
 * iconv (#27823)
+* pkgconf (#27827)
 
 #### Have Tickets
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
-* libgd (#27825)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 

Description changed:

--- 
+++ 
@@ -65,7 +65,6 @@
 * glpk
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
-* pkgconfig
 * givaro
 * ecl
 * iml

Description changed:

--- 
+++ 
@@ -7,22 +7,23 @@
 The following packages already have `spkg-configure.m4` checks that are working on most or all supported platforms:
 
 * bzip2 (#27182)
+* cmake (#27487)
 * curl (#24919)
 * gcc (#24919)
 * gf2x (#27238)
 * gfortran (#24919)
 * git (#24919)
+* gmp (#27212)
 * libffi (#25900, #27114)
+* mpir (#27212)
 * patch (#24919)
+* pcre (#27284)
+* perl_term_readline_gnu (#27795)
 * xz (#26286)
 * yasm (#24919)
 * zeromq (#26286)
 * zlib (#26286)
-* gmp (#27212)
-* mpir (#27212)
-* cmake (#27487)
-* perl_term_readline_gnu (#27795)
-* pcre (#27284)
+
 
 ### In Progress
 

Description changed:

--- 
+++ 
@@ -15,10 +15,13 @@
 * git (#24919)
 * gmp (#27212)
 * libffi (#25900, #27114)
+* libpng (#27186)
 * mpir (#27212)
+* ninja-build (#27801)
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
+* rw (#27814)
 * xz (#26286)
 * yasm (#24919)
 * zeromq (#26286)
@@ -35,24 +38,18 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
-* libpng (#27186)
 * freetype (#27168)
 * ncurses (#27277)
 * readline (#27277)
 * libgd (#27825)
-* ninja-build (#27801)
-* rw (#27814)
 
-
-### Not Started
-
-* iconv (#27823)
-* pkgconf (#27827)
 
 #### Have Tickets
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
+* iconv (#27823)
+* pkgconf (#27827)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 

Description changed:

--- 
+++ 
@@ -48,6 +48,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
+* isl (#27864)
 * iconv (#27823)
 * pkgconf (#27827)
 * lrslib (#27804)

Description changed:

--- 
+++ 
@@ -16,8 +16,11 @@
 * gmp (#27212)
 * libffi (#25900, #27114)
 * libpng (#27186)
+* mpc (#27259)  - merged by #27822
+* mpfr (#27258) - merged by #27822
 * mpir (#27212)
 * ninja-build (#27801)
+* ntl (#27265)  - merged by #27822
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
@@ -32,9 +35,7 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* mpfr (#27258)
-* mpc (#27259)
-* ntl (#27265)
+
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
@@ -53,10 +54,11 @@
 * pkgconf (#27827)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
+* BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
 
 #### No Tickets yet
 
-* BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)
+
 * pari + cypari (these two are deeply intwined)
 * singular
 * gsl

Description changed:

--- 
+++ 
@@ -43,6 +43,7 @@
 * ncurses (#27277)
 * readline (#27277)
 * libgd (#27825)
+* iconv (#27823)
 
 
 #### Have Tickets
@@ -50,7 +51,6 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * isl (#27864)
-* iconv (#27823)
 * pkgconf (#27827)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
@@ -82,7 +82,6 @@
 
 
 Other high priority packages:
-* libgd (common system package)
 * r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima

Description changed:

--- 
+++ 
@@ -58,7 +58,7 @@
 
 #### No Tickets yet
 
-
+* gc + libatomic (the 2nd is only used in the 1st)
 * pari + cypari (these two are deeply intwined)
 * singular
 * gsl

Description changed:

--- 
+++ 
@@ -51,6 +51,7 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * isl (#27864)
+* gc + libatomic (#28045) the 2nd is only used in the 1st
 * pkgconf (#27827)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
@@ -58,7 +59,7 @@
 
 #### No Tickets yet
 
-* gc + libatomic (the 2nd is only used in the 1st)
+
 * pari + cypari (these two are deeply intwined)
 * singular
 * gsl

Description changed:

--- 
+++ 
@@ -9,21 +9,26 @@
 * bzip2 (#27182)
 * cmake (#27487)
 * curl (#24919)
+* freetype (#27168)
 * gcc (#24919)
 * gf2x (#27238)
 * gfortran (#24919)
 * git (#24919)
 * gmp (#27212)
+* iconv (#27823)
 * libffi (#25900, #27114)
+* libgd (#27825)
 * libpng (#27186)
 * mpc (#27259)  - merged by #27822
 * mpfr (#27258) - merged by #27822
 * mpir (#27212)
+* ncurses (#27277)
 * ninja-build (#27801)
 * ntl (#27265)  - merged by #27822
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
+* readline (#27277)
 * rw (#27814)
 * xz (#26286)
 * yasm (#24919)
@@ -39,11 +44,6 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
-* freetype (#27168)
-* ncurses (#27277)
-* readline (#27277)
-* libgd (#27825)
-* iconv (#27823)
 
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -44,7 +44,7 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
-
+* symmetrica (#28208)
 
 #### Have Tickets
 
@@ -70,7 +70,6 @@
 * givaro
 * ecl
 * iml
-* symmetrica
 * ppl
 * planarity
 * lrcalc

Description changed:

--- 
+++ 
@@ -44,6 +44,7 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
+* pkgconf (#27827)
 * symmetrica (#28208)
 
 #### Have Tickets
@@ -52,7 +53,6 @@
 
 * isl (#27864)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
-* pkgconf (#27827)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)

Description changed:

--- 
+++ 
@@ -52,6 +52,7 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * isl (#27864)
+* lrcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
@@ -72,7 +73,6 @@
 * iml
 * ppl
 * planarity
-* lrcalc
 * linbox
 * libhomfly
 * libbraiding

Description changed:

--- 
+++ 
@@ -52,7 +52,7 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * isl (#27864)
-* lrcalc (#28224)
+* lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
@@ -76,7 +76,7 @@
 * linbox
 * libhomfly
 * libbraiding
-* lcalc
+* lrcalc
 * eclib
 * brial
 

Description changed:

--- 
+++ 
@@ -53,6 +53,7 @@
 
 * isl (#27864)
 * lcalc (#28224)
+* lrcalc (#28231)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
@@ -76,7 +77,6 @@
 * linbox
 * libhomfly
 * libbraiding
-* lrcalc
 * eclib
 * brial
 

Description changed:

--- 
+++ 
@@ -44,6 +44,7 @@
 * flint (#27264)
 * arb (#27270)
 * ecm (#27271)
+* lrcalc (#28231)
 * pkgconf (#27827)
 * symmetrica (#28208)
 
@@ -53,7 +54,6 @@
 
 * isl (#27864)
 * lcalc (#28224)
-* lrcalc (#28231)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.

Description changed:

--- 
+++ 
@@ -56,13 +56,14 @@
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
+* pari (#28242)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
 
 #### No Tickets yet
 
-
-* pari + cypari (these two are deeply intwined)
+* bliss
+* cypari (depends on pari)
 * singular
 * gsl
 * m4ri + m4rie

Description changed:

--- 
+++ 
@@ -6,9 +6,12 @@
 
 The following packages already have `spkg-configure.m4` checks that are working on most or all supported platforms:
 
+* arb (#27270)
 * bzip2 (#27182)
 * cmake (#27487)
 * curl (#24919)
+* ecm (#27271)
+* flint (#27264)  - merged by #27270
 * freetype (#27168)
 * gcc (#24919)
 * gf2x (#27238)
@@ -40,10 +43,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-
-* flint (#27264)
-* arb (#27270)
-* ecm (#27271)
 * lrcalc (#28231)
 * pkgconf (#27827)
 * symmetrica (#28208)

Description changed:

--- 
+++ 
@@ -44,6 +44,7 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * lrcalc (#28231)
+* mpfi (#28295)
 * pkgconf (#27827)
 * symmetrica (#28208)
 

Description changed:

--- 
+++ 
@@ -47,6 +47,7 @@
 * mpfi (#28295)
 * pkgconf (#27827)
 * symmetrica (#28208)
+* pari+its packages+gp2c (#28242)
 
 #### Have Tickets
 
@@ -56,7 +57,6 @@
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)
-* pari (#28242)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
 

Description changed:

--- 
+++ 
@@ -22,7 +22,9 @@
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
+* lrcalc (#28231)
 * mpc (#27259)  - merged by #27822
+* mpfi (#28295)
 * mpfr (#27258) - merged by #27822
 * mpir (#27212)
 * ncurses (#27277)
@@ -31,8 +33,10 @@
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
+* pkgconf (#27827)
 * readline (#27277)
 * rw (#27814)
+* symmetrica (#28208)
 * xz (#26286)
 * yasm (#24919)
 * zeromq (#26286)
@@ -43,10 +47,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* lrcalc (#28231)
-* mpfi (#28295)
-* pkgconf (#27827)
-* symmetrica (#28208)
 * pari+its packages+gp2c (#28242)
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -53,6 +53,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
+* eclib (#28333)
 * isl (#27864)
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
@@ -78,7 +79,6 @@
 * linbox
 * libhomfly
 * libbraiding
-* eclib
 * brial
 
 

Description changed:

--- 
+++ 
@@ -48,12 +48,12 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * pari+its packages+gp2c (#28242)
+* eclib (#28333)
 
 #### Have Tickets
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
-* eclib (#28333)
 * isl (#27864)
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st

Description changed:

--- 
+++ 
@@ -49,12 +49,12 @@
 
 * pari+its packages+gp2c (#28242)
 * eclib (#28333)
+* isl (#27864)
 
 #### Have Tickets
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
-* isl (#27864)
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * lrslib (#27804)

Description changed:

--- 
+++ 
@@ -50,6 +50,8 @@
 * pari+its packages+gp2c (#28242)
 * eclib (#28333)
 * isl (#27864)
+* givaro (#28342)
+* m4ri(e) (#28342)
 
 #### Have Tickets
 
@@ -67,11 +69,9 @@
 * cypari (depends on pari)
 * singular
 * gsl
-* m4ri + m4rie
 * glpk
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
-* givaro
 * ecl
 * iml
 * ppl

Description changed:

--- 
+++ 
@@ -69,7 +69,7 @@
 * cypari (depends on pari)
 * singular
 * gsl
-* glpk
+* glpk (needs a specific patch which is not upstreamed)
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
 * ecl

Description changed:

--- 
+++ 
@@ -10,6 +10,7 @@
 * bzip2 (#27182)
 * cmake (#27487)
 * curl (#24919)
+* eclib (#28333)
 * ecm (#27271)
 * flint (#27264)  - merged by #27270
 * freetype (#27168)
@@ -18,6 +19,8 @@
 * gfortran (#24919)
 * git (#24919)
 * gmp (#27212)
+* gp2c (#28242)
+* isl (#27864)
 * iconv (#27823)
 * libffi (#25900, #27114)
 * libgd (#27825)
@@ -30,6 +33,7 @@
 * ncurses (#27277)
 * ninja-build (#27801)
 * ntl (#27265)  - merged by #27822
+* pari+its packages (#28242)
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
@@ -47,9 +51,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* pari+its packages+gp2c (#28242)
-* eclib (#28333)
-* isl (#27864)
 * givaro (#28342)
 * m4ri(e) (#28342)
 

Description changed:

--- 
+++ 
@@ -22,6 +22,7 @@
 * gp2c (#28242)
 * isl (#27864)
 * iconv (#27823)
+* iml (#27272)
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
@@ -74,7 +75,6 @@
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
 * ecl
-* iml
 * ppl
 * planarity
 * linbox
@@ -87,3 +87,4 @@
 * r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
+* numpy

Description changed:

--- 
+++ 
@@ -88,3 +88,4 @@
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
 * numpy
+* scipy

Description changed:

--- 
+++ 
@@ -22,7 +22,6 @@
 * gp2c (#28242)
 * isl (#27864)
 * iconv (#27823)
-* iml (#27272)
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
@@ -61,6 +60,7 @@
 
 * lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
+* iml (#27272)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)

Description changed:

--- 
+++ 
@@ -18,6 +18,7 @@
 * gf2x (#27238)
 * gfortran (#24919)
 * git (#24919)
+* givaro (#28342)
 * gmp (#27212)
 * gp2c (#28242)
 * isl (#27864)
@@ -26,6 +27,7 @@
 * libgd (#27825)
 * libpng (#27186)
 * lrcalc (#28231)
+* m4ri(e) (#28342)
 * mpc (#27259)  - merged by #27822
 * mpfi (#28295)
 * mpfr (#27258) - merged by #27822
@@ -33,7 +35,8 @@
 * ncurses (#27277)
 * ninja-build (#27801)
 * ntl (#27265)  - merged by #27822
-* pari+its packages (#28242)
+* pari (#28242)
+* pari's packages, apart from pari_jupyter (#28242)
 * patch (#24919)
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
@@ -51,8 +54,8 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* givaro (#28342)
-* m4ri(e) (#28342)
+
+
 
 #### Have Tickets
 
@@ -89,3 +92,28 @@
 * maxima
 * numpy
 * scipy
+
+
+---
+
+#### Bug-fixing
+
+A number of bugs/deficiencies has been uncovered in spkg-configure.m4 files and related configuration, and a number of tickets opened/closed
+
+* #28401
+* #28405
+* #28380
+* #28341
+* #28317
+* #28095
+* #27941
+* #27936
+* #27641
+* #27642
+* #27567
+* #27373
+* #27219
+* #26715
+* #26668
+
+

Description changed:

--- 
+++ 
@@ -100,6 +100,7 @@
 
 A number of bugs/deficiencies has been uncovered in spkg-configure.m4 files and related configuration, and a number of tickets opened/closed
 
+* #28409
 * #28401
 * #28405
 * #28380

Description changed:

--- 
+++ 
@@ -54,6 +54,7 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
+* lcalc (#28224)
 
 
 
@@ -61,7 +62,6 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
-* lcalc (#28224)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * iml (#27272)
 * lrslib (#27804)

Description changed:

--- 
+++ 
@@ -55,7 +55,7 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * lcalc (#28224)
-
+* glpk (#28459)
 
 
 #### Have Tickets
@@ -74,7 +74,6 @@
 * cypari (depends on pari)
 * singular
 * gsl
-* glpk (needs a specific patch which is not upstreamed)
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
 * ecl

Description changed:

--- 
+++ 
@@ -71,6 +71,7 @@
 #### No Tickets yet
 
 * bliss
+* nauty
 * cypari (depends on pari)
 * singular
 * gsl

Description changed:

--- 
+++ 
@@ -23,6 +23,7 @@
 * gp2c (#28242)
 * isl (#27864)
 * iconv (#27823)
+* lcalc (#28224)
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
@@ -54,7 +55,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* lcalc (#28224)
 * glpk (#28459)
 
 

Description changed:

--- 
+++ 
@@ -19,6 +19,7 @@
 * gfortran (#24919)
 * git (#24919)
 * givaro (#28342)
+* glpk (#28459)
 * gmp (#27212)
 * gp2c (#28242)
 * isl (#27864)
@@ -55,7 +56,6 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* glpk (#28459)
 
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -56,6 +56,8 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
+* gsl (#28879)
+* BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
 
 
 #### Have Tickets
@@ -66,7 +68,6 @@
 * iml (#27272)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
-* BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
 
 #### No Tickets yet
 
@@ -74,7 +75,6 @@
 * nauty
 * cypari (depends on pari)
 * singular
-* gsl
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
 * ecl

Description changed:

--- 
+++ 
@@ -58,7 +58,7 @@
 
 * gsl (#28879)
 * BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
-
+* r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 
 #### Have Tickets
 
@@ -87,7 +87,7 @@
 
 
 Other high priority packages:
-* r (getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
+
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
 * numpy

Description changed:

--- 
+++ 
@@ -2,7 +2,7 @@
 
 This has now been implemented for many other packages, or is in the process of being implemented.  Those packages are listed below.  However, there are many others yet to be done, and this ticket will attempt to list them in some rough order of priority.  Unfortunately there is still not good documentation for how to implement these configure-time dependency checks.  The documentation question is tracked at #26668.
 
-### Already Done
+#### Already Done
 
 The following packages already have `spkg-configure.m4` checks that are working on most or all supported platforms:
 
@@ -37,6 +37,7 @@
 * ncurses (#27277)
 * ninja-build (#27801)
 * ntl (#27265)  - merged by #27822
+* openblas (#27870)
 * pari (#28242)
 * pari's packages, apart from pari_jupyter (#28242)
 * patch (#24919)
@@ -52,7 +53,7 @@
 * zlib (#26286)
 
 
-### In Progress
+#### In Progress
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
@@ -64,6 +65,7 @@
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
+* cliquer (#28885)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * iml (#27272)
 * lrslib (#27804)

Description changed:

--- 
+++ 
@@ -44,6 +44,7 @@
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
 * pkgconf (#27827)
+* r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * readline (#27277)
 * rw (#27814)
 * symmetrica (#28208)
@@ -58,18 +59,19 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * gsl (#28879)
-* BLAS (openblas / atlas / etc): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity)  (#27870)
-* r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
+* cliquer (#28885)
+
 
 #### Have Tickets
 
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
-* cliquer (#28885)
+* BLAS (atlas and other non-openblas): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity). One can already use system's openblas, though (#27870)
 * gc + libatomic (#28045) the 2nd is only used in the 1st
 * iml (#27272)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
+* cddlib (#28905)
 
 #### No Tickets yet
 

Description changed:

--- 
+++ 
@@ -120,5 +120,6 @@
 * #27219
 * #26715
 * #26668
+* #28906
 
 
comment:70

Nice to see so much progress on this. I'm sorry I haven't had more time to help, but I'm glad to see that the infrastructure I put in place has continued to be useful as support for more packages is added.

Description changed:

--- 
+++ 
@@ -60,6 +60,7 @@
 
 * gsl (#28879)
 * cliquer (#28885)
+* cbc (#28908)
 
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -61,6 +61,8 @@
 * gsl (#28879)
 * cliquer (#28885)
 * cbc (#28908)
+* tachyon (#28919)
+* cddlib (#28905)
 
 
 #### Have Tickets
@@ -72,7 +74,7 @@
 * iml (#27272)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.
-* cddlib (#28905)
+
 
 #### No Tickets yet
 

Description changed:

--- 
+++ 
@@ -8,6 +8,7 @@
 
 * arb (#27270)
 * bzip2 (#27182)
+* cliquer (#28885)
 * cmake (#27487)
 * curl (#24919)
 * eclib (#28333)
@@ -59,7 +60,6 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * gsl (#28879)
-* cliquer (#28885)
 * cbc (#28908)
 * tachyon (#28919)
 * cddlib (#28905)
@@ -124,5 +124,6 @@
 * #26715
 * #26668
 * #28906
+* #28956
 
 

Description changed:

--- 
+++ 
@@ -63,7 +63,7 @@
 * cbc (#28908)
 * tachyon (#28919)
 * cddlib (#28905)
-
+* nauty (#28958)
 
 #### Have Tickets
 
@@ -79,7 +79,6 @@
 #### No Tickets yet
 
 * bliss
-* nauty
 * cypari (depends on pari)
 * singular
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)

Description changed:

--- 
+++ 
@@ -23,6 +23,7 @@
 * glpk (#28459)
 * gmp (#27212)
 * gp2c (#28242)
+* gsl (#28879)
 * isl (#27864)
 * iconv (#27823)
 * lcalc (#28224)
@@ -49,6 +50,7 @@
 * readline (#27277)
 * rw (#27814)
 * symmetrica (#28208)
+* tachyon (#28919)
 * xz (#26286)
 * yasm (#24919)
 * zeromq (#26286)
@@ -59,9 +61,8 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* gsl (#28879)
+
 * cbc (#28908)
-* tachyon (#28919)
 * cddlib (#28905)
 * nauty (#28958)
 

Description changed:

--- 
+++ 
@@ -64,6 +64,7 @@
 
 * cbc (#28908)
 * cddlib (#28905)
+* libatomic (#28045)
 * nauty (#28958)
 
 #### Have Tickets
@@ -71,7 +72,7 @@
 The following packages have tickets for their conversions, but don't have working prototypes (i.e. branches) yet:
 
 * BLAS (atlas and other non-openblas): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity). One can already use system's openblas, though (#27870)
-* gc + libatomic (#28045) the 2nd is only used in the 1st
+* gc (#28991)
 * iml (#27272)
 * lrslib (#27804)
 * python2/3 (#27824) this one is of course a very special case; see the ticket for details.

Description changed:

--- 
+++ 
@@ -66,6 +66,7 @@
 * cddlib (#28905)
 * libatomic (#28045)
 * nauty (#28958)
+* sqlite (#29002)
 
 #### Have Tickets
 
comment:78

Should we find a better way to keep track of the distribution packages that provide what spkg-configure is looking for?

Something autogenerated from new per-package information build/pkgs/* that can keep the section in the installation manual current (src/doc/en/installation/source.rst) - last updated by Dima?

Related: #28745 (environment.yml for conda).

comment:79

Replying to @mkoeppe:

Should we find a better way to keep track of the distribution packages that provide what spkg-configure is looking for?

Something autogenerated from new per-package information build/pkgs/* that can keep the section in the installation manual current (src/doc/en/installation/source.rst) - last updated by Dima?

A good idea, I only don't know how exactly to implement this. E.g. on Debian one could
create a package with all dependencies (in fact, basically almost the same as their Sage package)

Related: #28745 (environment.yml for conda).

comment:80

I would just have thought to generate a shell script with one line of apt-get install.

Description changed:

--- 
+++ 
@@ -82,7 +82,6 @@
 #### No Tickets yet
 
 * bliss
-* cypari (depends on pari)
 * singular
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
@@ -99,8 +98,12 @@
 
 * boost_cropped / boost (many systems should already have boost headers available)
 * maxima
+
+All system Python packages, including the following, would be handled by #29023.
+
 * numpy
 * scipy
+* cypari (depends on pari)
 
 
 ---

Description changed:

--- 
+++ 
@@ -8,6 +8,7 @@
 
 * arb (#27270)
 * bzip2 (#27182)
+* cbc (#28908)
 * cliquer (#28885)
 * cmake (#27487)
 * curl (#24919)
@@ -27,6 +28,7 @@
 * isl (#27864)
 * iconv (#27823)
 * lcalc (#28224)
+* libatomic (#28045)
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
@@ -36,6 +38,7 @@
 * mpfi (#28295)
 * mpfr (#27258) - merged by #27822
 * mpir (#27212)
+* nauty (#28958)
 * ncurses (#27277)
 * ninja-build (#27801)
 * ntl (#27265)  - merged by #27822
@@ -61,11 +64,8 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-
-* cbc (#28908)
 * cddlib (#28905)
-* libatomic (#28045)
-* nauty (#28958)
+* python3 (#27824) this one is of course a very special case; see the ticket for details.
 * sqlite (#29002)
 
 #### Have Tickets
@@ -76,7 +76,7 @@
 * gc (#28991)
 * iml (#27272)
 * lrslib (#27804)
-* python2/3 (#27824) this one is of course a very special case; see the ticket for details.
+* planarity (#29063)
 
 
 #### No Tickets yet
@@ -87,7 +87,6 @@
 * zn_poly
 * ecl
 * ppl
-* planarity
 * linbox
 * libhomfly
 * libbraiding

Description changed:

--- 
+++ 
@@ -105,7 +105,10 @@
 * cypari (depends on pari)
 
 
----
+#### Testing infrastructure
+
+- #29053: Add debian/fedora package information to build/pkgs, generate Dockerfiles and installation help
+
 
 #### Bug-fixing
 

Description changed:

--- 
+++ 
@@ -91,7 +91,7 @@
 * libhomfly
 * libbraiding
 * brial
-
+* openssl
 
 Other high priority packages:
 

Description changed:

--- 
+++ 
@@ -49,9 +49,11 @@
 * pcre (#27284)
 * perl_term_readline_gnu (#27795)
 * pkgconf (#27827)
+* planarity (#29063)
 * r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * readline (#27277)
 * rw (#27814)
+* sqlite (#29002)
 * symmetrica (#28208)
 * tachyon (#28919)
 * xz (#26286)
@@ -66,7 +68,7 @@
 
 * cddlib (#28905)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
-* sqlite (#29002)
+* boost_cropped/boost (#29100) -- many systems have boost headers available
 
 #### Have Tickets
 
@@ -76,7 +78,6 @@
 * gc (#28991)
 * iml (#27272)
 * lrslib (#27804)
-* planarity (#29063)
 
 
 #### No Tickets yet
@@ -95,7 +96,6 @@
 
 Other high priority packages:
 
-* boost_cropped / boost (many systems should already have boost headers available)
 * maxima
 
 All system Python packages, including the following, would be handled by #29023.

Description changed:

--- 
+++ 
@@ -108,7 +108,7 @@
 #### Testing infrastructure
 
 - #29053: Add debian/fedora package information to build/pkgs, generate Dockerfiles and installation help
-
+- #29060: Meta-ticket: Add Dockerfiles and CI scripts for integration testing of source and binary distributions and of downstream packages
 
 #### Bug-fixing
 

Description changed:

--- 
+++ 
@@ -7,6 +7,7 @@
 The following packages already have `spkg-configure.m4` checks that are working on most or all supported platforms:
 
 * arb (#27270)
+* boost_cropped/boost (#29100) -- many systems have boost headers available
 * bzip2 (#27182)
 * cbc (#28908)
 * cliquer (#28885)
@@ -68,7 +69,6 @@
 
 * cddlib (#28905)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
-* boost_cropped/boost (#29100) -- many systems have boost headers available
 
 #### Have Tickets
 
@@ -132,5 +132,6 @@
 * #26668
 * #28906
 * #28956
+* #29071
 
 

Description changed:

--- 
+++ 
@@ -68,6 +68,7 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * cddlib (#28905)
+* fplll (#29245)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -19,6 +19,7 @@
 * freetype (#27168)
 * gcc (#24919)
 * gf2x (#27238)
+* gfan (#28985)
 * gfortran (#24919)
 * git (#24919)
 * givaro (#28342)

Description changed:

--- 
+++ 
@@ -16,6 +16,7 @@
 * eclib (#28333)
 * ecm (#27271)
 * flint (#27264)  - merged by #27270
+* fplll (#29245)
 * freetype (#27168)
 * gcc (#24919)
 * gf2x (#27238)
@@ -69,7 +70,6 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * cddlib (#28905)
-* fplll (#29245)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -69,6 +69,7 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
+* brial (#29369)
 * cddlib (#28905)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 
@@ -93,7 +94,6 @@
 * linbox
 * libhomfly
 * libbraiding
-* brial
 * openssl
 
 Other high priority packages:

Description changed:

--- 
+++ 
@@ -71,6 +71,7 @@
 
 * brial (#29369)
 * cddlib (#28905)
+* flintqs (#29430)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 
 #### Have Tickets

Description changed:

--- 
+++ 
@@ -71,7 +71,6 @@
 
 * brial (#29369)
 * cddlib (#28905)
-* flintqs (#29430)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 
 #### Have Tickets
comment:95

rw is listed (#27814), but since it depends on igraph, it would be fine to add igraph too.

Description changed:

--- 
+++ 
@@ -8,8 +8,10 @@
 
 * arb (#27270)
 * boost_cropped/boost (#29100) -- many systems have boost headers available
+* brial (#29369)
 * bzip2 (#27182)
 * cbc (#28908)
+* cddlib (#28905)
 * cliquer (#28885)
 * cmake (#27487)
 * curl (#24919)
@@ -53,6 +55,7 @@
 * perl_term_readline_gnu (#27795)
 * pkgconf (#27827)
 * planarity (#29063)
+* python3 (#27824) this one is of course a very special case; see the ticket for details.
 * r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * readline (#27277)
 * rw (#27814)
@@ -69,9 +72,7 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
-* brial (#29369)
-* cddlib (#28905)
-* python3 (#27824) this one is of course a very special case; see the ticket for details.
+* flintqs (#29430)
 
 #### Have Tickets
 

Description changed:

--- 
+++ 
@@ -72,7 +72,9 @@
 
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
+* fflas-ffpack (#29453)
 * flintqs (#29430)
+* ppl (29454)
 
 #### Have Tickets
 
@@ -91,7 +93,6 @@
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
 * ecl
-* ppl
 * linbox
 * libhomfly
 * libbraiding

Description changed:

--- 
+++ 
@@ -74,7 +74,7 @@
 
 * fflas-ffpack (#29453)
 * flintqs (#29430)
-* ppl (29454)
+* ppl (#29454)
 
 #### Have Tickets
 

Description changed:

--- 
+++ 
@@ -88,19 +88,16 @@
 
 #### No Tickets yet
 
-* bliss
+* bliss (optional package)
 * singular
 * gap (using the system GAP is obviously desirable, but non-trivial, esp. now that we need a working libgap)
 * zn_poly
-* ecl
+* ecl (depends on gc)
+  * maxima (depends on ecl)
 * linbox
-* libhomfly
+* libhomfly (depends on gc)
 * libbraiding
-* openssl
-
-Other high priority packages:
-
-* maxima
+* openssl (optional package)
 
 All system Python packages, including the following, would be handled by #29023.
 

Description changed:

--- 
+++ 
@@ -74,6 +74,7 @@
 
 * fflas-ffpack (#29453)
 * flintqs (#29430)
+* libbraiding (#29458)
 * ppl (#29454)
 
 #### Have Tickets
@@ -96,7 +97,6 @@
   * maxima (depends on ecl)
 * linbox
 * libhomfly (depends on gc)
-* libbraiding
 * openssl (optional package)
 
 All system Python packages, including the following, would be handled by #29023.

Description changed:

--- 
+++ 
@@ -74,6 +74,7 @@
 
 * fflas-ffpack (#29453)
 * flintqs (#29430)
+* iml (#27272)
 * libbraiding (#29458)
 * ppl (#29454)
 
@@ -83,7 +84,6 @@
 
 * BLAS (atlas and other non-openblas): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity). One can already use system's openblas, though (#27870)
 * gc (#28991)
-* iml (#27272)
 * lrslib (#27804)
 
 
comment:103

spkg-configure friends, I have drafted an update on the support for using system packages for the 9.1 release notes at https://wiki.sagemath.org/ReleaseTours/sage-9.1; let me know if anything needs changing or just make edits.

Description changed:

--- 
+++ 
@@ -18,6 +18,7 @@
 * eclib (#28333)
 * ecm (#27271)
 * flint (#27264)  - merged by #27270
+* flintqs (#29430)
 * fplll (#29245)
 * freetype (#27168)
 * gcc (#24919)
@@ -34,6 +35,7 @@
 * iconv (#27823)
 * lcalc (#28224)
 * libatomic (#28045)
+* libbraiding (#29458)
 * libffi (#25900, #27114)
 * libgd (#27825)
 * libpng (#27186)
@@ -55,6 +57,7 @@
 * perl_term_readline_gnu (#27795)
 * pkgconf (#27827)
 * planarity (#29063)
+* ppl (#29454)
 * python3 (#27824) this one is of course a very special case; see the ticket for details.
 * r (#28884) (alternative view: getting R from the system has been desirable for a long time and will require more than just an `spkg-configure.m4`; see #25503)
 * readline (#27277)
@@ -73,10 +76,7 @@
 The following packages have in-progress tickets to provide configure-time detection on the system:
 
 * fflas-ffpack (#29453)
-* flintqs (#29430)
 * iml (#27272)
-* libbraiding (#29458)
-* ppl (#29454)
 
 #### Have Tickets
 
@@ -85,6 +85,7 @@
 * BLAS (atlas and other non-openblas): resolving how to handle finding a usable BLAS should be one of the highest priorities; it faces many of the same issues we faced with MPIR/GMP in #27212, but perhaps with even more complexity). One can already use system's openblas, though (#27870)
 * gc (#28991)
 * lrslib (#27804)
+* suitesparse (#29502)
 
 
 #### No Tickets yet