This is to help document the process to get SageMath (also colloquially called Sage; SAGE is a retired name) (http://www.sagemath.org/), the open-source computer algebra/mathematics framework into Fedora.
People
People interested helping in packaging/reviewing:
- Rex Dieter
- Alex Lancaster
- Manuel Wolfshant
- Kevin Kofler
- Neal Becker
- Conrad Meyer
- Matthew Daniels
- Jason Tibbitts
- Thomas Spura
- Finnbarr P. Murphy
- Paulo Andrade
- Christopher Meng
- Christian Dersch
- ...add your name here...
Sagemath Fedora package
The package "sagemath
" is now available for Fedora 18 or newer.
Name | Upstream | Review Request | Status |
---|---|---|---|
sagemath |
sagemath | #877651 |
Dependencies (for which there is a separate upstream)
SageMath calls the packages they integrate an "spkg" (Sage package). Since the goal of the project is to integrate as many third-party products as possible, dependencies aren't always updated along with 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.)
Name | Upstream | Review Request | Status |
---|---|---|---|
lrcalc | lrcalc | #909510 Build Requires | |
coin-or-CoinUtils | CoinUtils | #894585 Build Requires | |
coin-or-Osi | Osi | #894586 Build Requires | |
coin-or-Clp | Clp | #894587 Build Requires | |
coin-or-Cgl | Cgl | #894588 Build Requires | |
coin-or-Cbc | Cbc | #894597 Build Requires | |
fes | fes | #914936 (Optional) Build Requires |
Packages that need changes to work with sagemath
Fedora package | Upstream | Request for Enhancement / status |
---|
Completed (reviewed and built) required components
Packages for which SAGE is upstream
Latest versions found in https://git.sagemath.org/sage.git/tree/build/pkgs that may be worth packaging as separate SRPMS or different subpackages:
sage | could be named python-sagemath for %{python_sitearch}/sage contents but may not be fully functional without a few "system overrides" in $SAGE_ROOT/site-packages |
sage_scripts | the main sagemath package requiring all python modules |
rubiks | there are 3 solvers, but only 2 with functional upstream link, therefore should use sagemath spkg |
doc | can be made optional in a sagemath-doc package for users that would prefer to access documentation from elsewhere or are good enough with the python docstrings |
extcode | interfaces to other systems or customizations, could/should be made an optional, but a very small package |
notebook | %{python_sitearch}/sagenb contents, needs some testing, but may be useful if one wants only the command line interface |
elliptic_curves, conway_polynomials, graphs, polytopes_db | ZoDB databases used internally by SAGE |
flintqs | spkg because original upstream deprecated it |
Cross-distribution efforts
- Debian: Tim Abbott's list of SAGE-related Debian packages. Abbot told User:Mrennekamp that he stopped working on Debian in 2010. However, it seems that a person within the SageMath project is working on providing SageMath in its own live distro: https://wiki.sagemath.org/SageDebianLive.
- PcLinuxOS: http://www.mypclinuxos.com/forum/index.php?topic=1509.msg13532#msg13532
- Mandriva: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/sagemath/
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:
- package required build-time dependencies
- package required run-time dependencies
- package as many optional build-time dependencies as possible
- package SAGE itself
- 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)
A wiki for included SageMath packages is at https://wiki.sagemath.org/spkg. (See also: http://wiki.sagemath.org/days6/sprint/debian)