Hello everyone.  Months ago, I started working on updates to a couple of our mathematical packages.  But they, in turn, required other packages to be updated, and those updates required other packages to be updated, and the whole thing kind of snowballed.  I believe that I have finally reached a point of closure, where I can update the whole pile and have everything still work afterwards.

I propose to do the following updates and builds in Rawhide in about a week.  If maintainers of any of these packages object, please let me know the nature of your objection.

The only explicit soname bump in these updates is libntl.so.35 to libntl.so.36.  However, there are a few other libraries that changed ABI without a corresponding soname bump (typically with an soname of libfoo.so.0, sigh), so I will rebuild all consumers.

  • arb: update from 2.11.1 to 2.13.0
  • brial: update from 0.8.5 to 1.2.3.  Build for both python 2 and 3.  Add a %check script.
  • cbmc: rebuild for glpk 4.65
  • coin-or-lemon: rebuild for glpk 4.65
  • eclib: update from 20170815 to 20171002
  • fflas-ffpack: update from 2.2.2 to 2.3.2.  Drop all patches.
  • flint: rebuild for ntl 11.0.0.  Attempt to work around bz 1555151 on arm.
  • gap-pkg-float: rebuild for libfplll 5.2.1 and mpfi 1.5.3
  • gfan: build libgfan as a shared library and distribute it in a new subpackage, which obsoletes the erroneous gfanlib subpackage of Singular.
  • giac: rebuild for libfplll 5.2.1 and mpfi 1.5.3
  • givaro: update from 4.0.2 to 4.0.4
  • glpk: update from 4.61 to 4.65.  Add a patch slated for 4.66, needed by sagemath.  Build with ODBC and MariaDB support.
  • latte-integrale: rebuild for ntl 11.0.0 and glpk 4.65
  • libfplll: update from 5.1.0 to 5.2.1.  Drop the rounding patch, fixed upstream.
  • libgap: require the GAP default packages (silences startup warnings about missing packages).
  • linbox: update from 1.4.2 to 1.5.2.  Drop upstreamed fplll patch.  Add gcc8 patch as recommended by upstream to fix a C++ issue.
  • Macaulay2: update from 1.9.2 to 1.11.  Drop upstreamed verbose_build, givaro, pari, and endian patches.
  • mpfi: update from 1.5.1 to 1.5.3.  Drop the aarch64 patch, fixed upstream.
  • normaliz: update from 3.4.0 to 3.5.4.  Drop all patches.
  • ntl: update from 10.5.0 to 11.0.0
  • octave: rebuild for glpk 4.65
  • openms: rebuild for glpk 4.65
  • pari: backport ellratpoints and hyperellratpoints from pari 2.10 alpha, needed by sagemath.  The alternative is to update pari to an alpha version, which makes me very uncomfortable.
  • polymake: update from 3.1 to 3.2r3.  Drop upstreamed gcc7 patch.
  • ppl: rebuild for glpk 4.65
  • pynac: update from 0.7.8 to 0.7.16.  Drop arch conditionals for giac, which is now available on all supported arches.
  • python-cvxopt: update from 1.1.9 to 1.2.0
  • python-cypari2: update from 1.1.3 to 1.1.4.  Drop upstreamed offbyone patch.
  • python-cysignals: update from 1.6.4 to 1.7.1
  • python-flask-autoindex: update from 0.4.1 to 0.6.  Drop upstreamed tests patch.  Build for both python 2 and 3.  Build and package the documentation.
  • python-flask-silk: update from 0.1.2 to 0.2.  Do not bundle flask-sphinx-themes.  Build for both python 2 and 3.  Build and package the documentation.  Add a %check script.
  • python-fpylll: update from 0.2.4dev to 0.4.0dev for libfplll 5.2.1.
  • python-gmpy2: update from 2.0.8 to 2.1.0a2.  The alpha version has some functions required by the latest sagemath.  Since the only consumers of this package currently in Fedora are sagemath and sympy, which is consumed by sagemath, I figure that if the sagemath team is going to require an alpha version, they are only hurting themselves if something goes wrong.
  • sagemath: update from 8.0 to 8.2.  Numerous changes were necessary to make this work.
  • shogun: rebuild for glpk 4.65.  Add two patches to fix FTBFS.  The sources use some deprecated json-c macros, which are no longer defined by default; the first patch includes the relevant header.  The second patch works around a bug in pybtex, which has already been reported to upstream pybtex and fixed in git.  If a new pybtex release is made soon, I will build it and drop this patch.
  • Singular: drop the mistakenly exposed gfanlib package; build with libgfan instead.  Rebuild for ntl 11.0.0 and polymake 3.2r2.  Drop the sequence-point patch, which patches the libgfan sources.
NOTE ON MPFR: There is an update to mpfr 4 in the works: https://fedoraproject.org/wiki/Changes/mpfr-4.0.0.  The above updates help that effort in the following ways:
  • The mpfi update brings in a version that is compatible with both mpfr 3 and 4, so when the time comes, simply rebuilding against mpfr 4 will work.
  • The sagemath update brings in a version that wants mpfr 4.  For now, I will patch it to use the old mpfr 3 interface.  Once we have mpfr 4 available, all we have to do is remove that patch and rebuild.
Let me know of any concerns you might have about this pile of updates.  As usual with this particular set of packages, some builds take many hours, so the rebuilds will probably span multiple days.  Expect broken deps reports out of Rawhide while in the middle.  They will disappear once the entire stack has been built.