From Fedora Project Wiki

< SIGs‎ | SciTech
Revision as of 05:15, 19 November 2012 by Alexlan (talk | contribs)

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

People

People interested helping in packaging/reviewing:

sagemath-5.4 Fedora review request

The "package SAGE itself" goal has been reached!

https://bugzilla.redhat.com/show_bug.cgi?id=877651

It is now possible to build sagemath in rawhide, with minor efforts in f18, and there is a private x86_64 f17 repository at:

http://pcpa.fedorapeople.org/sagemath/f17/

You need this in /etc/yum.repos.d

http://pcpa.fedorapeople.org/sagemath/sagemath-f17.repo

(Note that this backports a very large amount of rawhide packages and will not be maintained once f18 is released)

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
python-flask-autoindex Flask-AutoIndex #839097 Missing in f18
python-flask-silk Flask-Silk #839098 Missing in f18
python-flask-babel Flask-Babel #839071 Missing in f18

Packages that need changes to work with sagemath

Fedora package Upstream Request for Enhancement / status
python-matplotlib matplotlib #837156 Requires
numpy scipy #868585 Requires

Completed (reviewed and built) required components

Fedora package Upstream Review request / status Version in SAGE
cddlib Cddlib Review Request Completed, in Fedora 094f.p11
cliquer Cliquer Review Request Completed, in Fedora 1.2.p11
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 1.6
python-cvxopt CVXOPT Review Request Completed, in Fedora 1.1.5
flint Flint Review Request Completed, in Fedora flint-1.5.2.p2
libfpll FpLLL Review Request Completed, in Fedora 3.0.12.p2
genus2reduction Genus2reduction Review Request Completed, in Fedora genus2reduction-0.3.p8
gfan Gfan Review Request Completed, in Fedora 0.4plus.p3
ghmm GHMM Review Request Complete, in Fedora
gmp-ecm GMP-ECM Review Request completed, in Fedora 6.3.p8
iml IML Review Request Completed, in Fedora 1.0.1.p14
jmol Jmol Already in Fedora: 11.6-8.10506svn 12.3.27.p3
L-function L-function Review Request Completed, in Fedora 1.23.p10
linbox Linbox Review Request Completed, in Fedora
m4ri M4RI Review Request complete, in Fedora 20120613
mpfi MPFI Review Request Completed, in Fedora 1.5.1
palp PALP Review Request Completed, in Fedora 2.1.p0
pynac pynac Review Request Completed, Fedora 0.2.5
python-crypto PyCrypto Already packaged in Fedora (python-crypto) 2.1.0
python-polybori PolyBoRi Review Request Complete, in Fedora 0.8.2
python-ZODB3 python-ZODB3 Review Request Complete, in Fedora
surf Surf Review Request Completed, in Fedora 1.1.0
symmetrica Symmetrica Review Request Completed, in Fedora 2.0.p7
sympy Sympy Review Request Completed, in Fedora 0.7.1.p0
scipy Weave Already in scipy. 0.9.p1
sympow Sympow Review Request Complete, in Fedora 1.018.1.p11

Packages for which SAGE is upstream

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

  • sage
  • sage_scripts
  • rubiks
  • doc
  • 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.

Cross-distribution efforts

Historical discussion

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)