From Fedora Project Wiki

< SIGs‎ | SciTech

Revision as of 12:29, 11 October 2011 by Mjg (talk | contribs) (→‎Dependencies (for which there is a separate upstream): python-zope-proxy, python-ZODB in Fedora)

This is to help document the process to get SAGE (http://sagemath.org/), the open-source computer algebra/mathematics framework into Fedora.

Fedora and other community efforts

People interested helping in packaging/reviewing:

Cross-distribution efforts:

On fedora-devel KevinKofler points out that:

One problem will be that they're bundling many third-party components which should
be packaged separately:

http://sage.math.washington.edu/sage/doc/html/inst/intro.html

So the first step is to track down which of these dependencies are in Fedora
already, whether they need any patches to work with SAGE, whether they are
build-time (BuildRequires) dependencies, run-time (Requires) dependencies or
both, whether they're required or optional and package those which are not in
Fedora yet.

He suggests the following order:

  1. package required build-time dependencies
  2. package required run-time dependencies
  3. package as many optional build-time dependencies as possible
  4. package SAGE itself
  5. package optional run-time dependencies (and decide on a case by case basis whether it makes sense to add them as actual Requires: dependencies to the package or not)

Required components that SAGE ships with: http://sagemath.org/packages/standard/

Optional components that SAGE ships with: http://sagemath.org/packages/optional/

(a manual list with descriptions which may vary somewhat with respect to the above is at http://sagemath.org/links-components.html) (See also: http://wiki.sagemath.org/days6/sprint/debian)

Dependencies (for which there is a separate upstream)

Missing required components

(If you are working on packaging a component or have filed a review request bug, please note it or link to something here.)

Fedora package Upstream Review request / status
GAP This is large (they claim you need 500M of disk) (There's this src rpm. -- Abo 14:14, 14 July 2009 (UTC))
JsMath
Singular I (konradm) started working on this but haven't gotten very far. (There's a a package in Mandriva to start from. -- Abo 14:10, 14 July 2009 (UTC))

Completed (reviewed and built) required components

Fedora package Upstream Review request / status Version in SAGE
cddlib Cddlib Review Request Completed, in Fedora 094b.p3
cudd CUDD Review Request Completed, in Fedora
eclib EClib Review Request Completed, in Fedora
givaro Givaro Review Request Completed, in Fedora
python-networkx NetworkX Review Request Complete, in Fedora 0.99
python-cvxopt CVXOPT Review Request Completed, in Fedora 0.9.p7
flint Flint Review Request Completed, in Fedora flint-1.0.21.p0
libfpll FpLLL Review Request Completed, in Fedora 2.1.6-20071129.p5
genus2reduction Genus2reduction Review Request Completed, in Fedora genus2reduction-0.3.p4
gfan Gfan Review Request Completed, in Fedora 0.3.p4
ghmm GHMM Review Request Complete, in Fedora
gcc-gfortran G95 or gfortran SAGE defaults to G95, but gfortran is supported. [1] Fedora ships gfortran. G95 (version varies)
gmp-ecm GMP-ECM Review Request completed, in Fedora 4.2.2.p1.fake
iml IML Review Request Completed, in Fedora 1.0.1.p11
jinja Jinja Already in Fedora 1.2
jmol Jmol Already in Fedora: 11.6-8.10506svn 11.6.16.p0
L-function L-function Review Request Completed, in Fedora 20080205.p2
linbox Linbox Review Request Completed, in Fedora
m4ri M4RI Review Request complete, in Fedora 20080909
mpfi MPFI Review Request Completed, in Fedora 1.3.4-cvs20071125.p7
palp PALP Review Request Completed, in Fedora 1.1.p1
pynac pynac Review Request Completed, Fedora 0.1.11
python-crypto PyCrypto Already packaged in Fedora (python-crypto) 2.0.1.p2
python-transaction python-transaction Review Request Completed, in Fedora
python-polybori PolyBoRi Review Request Complete, in Fedora 5.5
python-ZConfig python-ZConfig Review Request Completed, in Fedora 12
python-zdaemon python-zdaemon Review Request Complete, in Fedora 12
python-ZODB3 python-ZODB3 Review Request Complete, in Fedora
python-zope-filesystem Review Request Completed, in Fedora
python-zope-interface python-zope-interface
python-zope-proxy python-zope-proxy Review Request Completed, in Fedora
python-zope-testing python-zope-testing Review Request Completed, in Fedora 12
qd Qd Review Request Complete, in Fedora [may removed from SAGE soon] 2.3.7
symmetrica Symmetrica Review Request Completed, in Fedora 2.0.p2
sympy Sympy Review Request Completed, in Fedora 0.6.3.p0
scipy Weave Already in scipy. 0.4.9
sympow Sympow Review Request Complete, in Fedora 1.019
sphinx Sphinx Review Request Complete, in Fedora
pygments Pygments Review Request Complete, in Fedora
python-zc-lockfile zc-lockfile Review Request Complete, in Fedora
python-zope-event python-zope-event Review Request Complete, in Fedora

Packages for which SAGE is upstream

Latest versions found in http://www.sagemath.org/packages/standard/

  • sage
  • sage_scripts
  • rubiks
  • doc
  • eclib (already packaged separately, see above)
  • examples
  • extcode
  • elliptic_curves, conway_polynomials, graphs, polytopes_db (ZoDB databases used internally by SAGE)
  • flintqs (upstream because original upstream deprecated it)

Some of those may or may not be worth packaging as separate SRPMs.

References

  1. From upstream's readme.txt: "If you're using Fortran on a platform without g95 binaries included with Sage, e.g., Itanium, you must use a system-wide gfortran.". So they support gfortran and even system-wide installations of it. G95 and gfortran are 2 different implementations of Fortran 95 based on GCC (and originally derived from the same code). See also gfortran is not g95. Note that the SAGE source tarballs do not include a Fortran compiler, only the binary tarballs do.