SIGs/SciTech/SAGE

From FedoraProject

< SIGs | SciTech(Difference between revisions)
Jump to: navigation, search
(Completed (reviewed and built) required components)
m (sagemath-5.8 Fedora review request)
(25 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
__TOC__
 
__TOC__
== Fedora and other community efforts ==
+
== People ==
  
 
People interested helping in packaging/reviewing:
 
People interested helping in packaging/reviewing:
Line 17: Line 17:
 
* [[User:fpmurphy|Finnbarr P. Murphy]]
 
* [[User:fpmurphy|Finnbarr P. Murphy]]
 
* [[User:pcpa|Paulo Andrade]]
 
* [[User:pcpa|Paulo Andrade]]
 +
* [[User:Cicku|Christopher Meng]]
 
* ...add your name here...
 
* ...add your name here...
  
Cross-distribution efforts:
+
== sagemath-5.8 Fedora review request ==
 +
'''The package "{{package|sagemath}}" itself goal has been reached!
 +
'''
 +
{|border="2" cellpadding="2" cellspacing="0"
 +
!Name||Upstream||Review Request || Status
 +
|-
 +
| {{package|sagemath}} || [http://sagemath.org sagemath] || [https://bugzilla.redhat.com/show_bug.cgi?id=877651 #877651] || {{result|pass}}
 +
|-
 +
|}
  
* Debian: [http://qa.debian.org/developer.php?login=tabbott@mit.edu Tim Abbott's list of SAGE-related Debian packages].  Some of these Debian packages may include some patches for the dependencies that may be required for SAGE that have not yet been pushed upstream  (older unmaintained wiki page  http://wiki.sagemath.org/devel/DebianSage)
+
It is now possible to build sagemath in rawhide and in f18,
* PcLinuxOS: http://www.mypclinuxos.com/forum/index.php?topic=1509.msg13532#msg13532
+
and there is a private x86_64 f18 repository at:
* Mandriva: http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/sagemath/
+
  
On fedora-devel KevinKofler points out that:
+
http://pcpa.fedorapeople.org/sagemath/f18/
  
<pre>
+
You need this in /etc/yum.repos.d
One problem will be that they're bundling many third-party components which should
+
http://pcpa.fedorapeople.org/sagemath/sagemath-f18.repo
be packaged separately:</pre> http://sage.math.washington.edu/sage/doc/html/inst/intro.html
+
  
<pre>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
+
If you were using the previous f17 private repository, a suggested
build-time (BuildRequires) dependencies, run-time (Requires) dependencies or
+
update method to f18 is:
both, whether they're required or optional and package those which are not in
+
Fedora yet.
+
</pre>
+
  
He suggests the following order:
+
  $ sudo yum erase sagemath
 +
  $ sudo yum update yum
 +
  $ sudo yum clean all
 +
  $ sudo yum --releasever=18 --disableplugin=presto distro-sync
 +
  $ sudo rpm --rebuilddb
  
#package required build-time dependencies
+
(you may need to erase other packages thay may cause conflicts,
#package required run-time dependencies
+
usually packages from rpmfusion or elsewhere, possibly f15
#package as many optional build-time dependencies as possible
+
packages, but that is out of scope of this cheat sheet)
#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)
+
  
''Required'' components that SAGE ships with: http://sagemath.org/packages/standard/
+
After that, remove the sagemath-f17.repo from /etc/yum.repos.d and add
 
+
the new sagemath-f18.repo there.
''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) ==
 
== Dependencies (for which there is a separate upstream) ==
Line 58: Line 61:
 
(If you are working on packaging a component or have filed a review request bug, please note it or link to something here.)
 
(If you are working on packaging a component or have filed a review request bug, please note it or link to something here.)
  
{|
+
{|border="2" cellpadding="2" cellspacing="0"
!Fedora package||Upstream||Review request / status
+
!Name||Upstream||Review Request || Status
 +
|-
 +
 
 +
<!-- |cliquer || [http://users.tkk.fi/pat/cliquer.html cliquer] || [https://bugzilla.redhat.com/show_bug.cgi?id=825494 #825494] Missing in f18 -->
 +
|-
 +
 
 +
|lrcalc || [http://math.rutgers.edu/~asbuch/lrcalc lrcalc] || [https://bugzilla.redhat.com/show_bug.cgi?id=909510 #909510] Build Requires
 +
|-
 +
 
 +
|coin-or-CoinUtils || [http://projects.coin-or.org/CoinUtils CoinUtils] || [https://bugzilla.redhat.com/show_bug.cgi?id=894585 #894585] Build Requires
 +
|-
 +
 
 +
|coin-or-Osi || [http://projects.coin-or.org/Osi Osi] || [https://bugzilla.redhat.com/show_bug.cgi?id=894586 #894586] Build Requires
 +
|-
 +
 
 +
|coin-or-Clp || [http://projects.coin-or.org/Clp Clp] || [https://bugzilla.redhat.com/show_bug.cgi?id=894587 #894587] Build Requires
 +
|-
 +
 
 +
|coin-or-Cgl || [http://projects.coin-or.org/Cgl Cgl] || [https://bugzilla.redhat.com/show_bug.cgi?id=894588 #894588] Build Requires
 +
|-
 +
 
 +
|coin-or-Cbc || [http://projects.coin-or.org/Cbc Cbc] || [https://bugzilla.redhat.com/show_bug.cgi?id=894597 #894597] Build Requires
 
|-
 
|-
  
<!-- |python-flask-autoindex || [http://github.com/sublee/flask-autoindex/ Flask-AutoIndex] || [https://bugzilla.redhat.com/show_bug.cgi?id=839097 #839097] Requires -->
+
|fes || [http://www.lifl.fr/~bouillag/download fes] || [https://bugzilla.redhat.com/show_bug.cgi?id=914936 #914936] (Optional) Build Requires
 
|-
 
|-
 
|}
 
|}
  
 
===Packages that need changes to work with sagemath===
 
===Packages that need changes to work with sagemath===
(these are required for the work in progress sagemath-5.3)
 
 
{|
 
{|
 
!Fedora package||Upstream||Request for Enhancement / status
 
!Fedora package||Upstream||Request for Enhancement / status
 
|-
 
|-
  
|[http://admin.fedoraproject.org/pkgdb/acls/name/python-matplotlib python-matplotlib] || [http://sourceforge.net/projects/matplotlib matplotlib] || [https://bugzilla.redhat.com/show_bug.cgi?id=837156 #837156] Requires
+
<!-- |[http://admin.fedoraproject.org/pkgdb/acls/name/python-matplotlib python-matplotlib] || [http://sourceforge.net/projects/matplotlib matplotlib] || [https://bugzilla.redhat.com/show_bug.cgi?id=837156 #837156] Requires -->
 
|-
 
|-
  
|[http://admin.fedoraproject.org/pkgdb/acls/name/libmpc libmpc] || [http://www.multiprecision.org/ mpc] || [https://bugzilla.redhat.com/show_bug.cgi?id=855599 #855599] Build Requires
 
 
|-
 
|-
 
|}
 
|}
  
 
===Completed (reviewed and built) required components===
 
===Completed (reviewed and built) required components===
{|
+
{|border="2" cellpadding="2" cellspacing="0"
 
|-
 
|-
 
!Fedora package||Upstream||Review request / status||Version in SAGE
 
!Fedora package||Upstream||Review request / status||Version in SAGE
Line 144: Line 166:
  
 
== Packages for which SAGE is upstream ==
 
== Packages for which SAGE is upstream ==
Latest versions found in http://www.sagemath.org/packages/standard/
+
Latest versions found in http://www.sagemath.org/packages/standard/ that may be worth packaging as separate SRPMS or different subpackages:
* sage
+
{|border="2" cellpadding="2" cellspacing="0"
* sage_scripts
+
| 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
* rubiks
+
|-
* doc
+
 
* examples
+
| sage_scripts || the main sagemath package requiring all python modules
* extcode
+
|-
* elliptic_curves, conway_polynomials, graphs, polytopes_db (ZoDB databases used internally by SAGE)
+
 
* flintqs (upstream because original upstream deprecated it)
+
| rubiks || there are 3 solvers, but only 2 with functional upstream link, therefore should use sagemath spkg
Some of those may or may not be worth packaging as separate SRPMs.
+
|-
 +
 
 +
| 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: [http://qa.debian.org/developer.php?login=tabbott@mit.edu Tim Abbott's list of SAGE-related Debian packages].  Some of these Debian packages may include some patches for the dependencies that may be required for SAGE that have not yet been pushed upstream  (older unmaintained wiki page  http://wiki.sagemath.org/devel/DebianSage)
 +
* 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:
 +
 
 +
<pre>
 +
One problem will be that they're bundling many third-party components which should
 +
be packaged separately:</pre> http://sage.math.washington.edu/sage/doc/html/inst/intro.html
 +
 
 +
<pre>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.
 +
</pre>
 +
 
 +
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)
 +
 
 +
''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)
  
 
[[Category:SciTech_SIG|SAGE]]
 
[[Category:SciTech_SIG|SAGE]]

Revision as of 12:01, 22 April 2013

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

Contents

People

People interested helping in packaging/reviewing:

sagemath-5.8 Fedora review request

The package "Package-x-generic-16.pngsagemath" itself goal has been reached!

Name Upstream Review Request Status
Package-x-generic-16.pngsagemath sagemath #877651
Pass pass

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

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

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

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

If you were using the previous f17 private repository, a suggested update method to f18 is:

 $ sudo yum erase sagemath
 $ sudo yum update yum
 $ sudo yum clean all
 $ sudo yum --releasever=18 --disableplugin=presto distro-sync
 $ sudo rpm --rebuilddb

(you may need to erase other packages thay may cause conflicts, usually packages from rpmfusion or elsewhere, possibly f15 packages, but that is out of scope of this cheat sheet)

After that, remove the sagemath-f17.repo from /etc/yum.repos.d and add the new sagemath-f18.repo there.

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.)

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

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/ 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

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)