Hi Vinicus,

On 01/06/2024 6:43 am, Vinicius Monego wrote:
Em qua, 2024-05-22 às 09:19 +0000, Ada Stevenson escreveu:
Hi Guix, science team!

I was reaching for SageMath today and couldn't find it in the package
repository. I notice there's a sagemath.scm file, but no actual
SageMath
package proper. Is there any work being done on packaging it at the
moment? Are there any particular blockers preventing its packaging
(excessive dependencies, difficult build etc.)?

Having SageMath in Guix would be really handy for me, so I'm happy to
give packaging it a go if the only reason is that there's not enough
interest (I will just have to wait until after exams, so in about 3-4
weeks).

Hope you are all doing well!

Warmly,
Ada


Hi Ada,

SageMath has a lot of dependencies which you can see on
https://doc.sagemath.org/html/en/reference/spkg/

These are my current notes (I'm not sure how to organize them online):

Thank you! This is a great resource. Sorry for not responding earlier, I was in the midst of exams. I just want to check if this is still up to date, as far as you know. I want to start helping out with this effort.


Standard packages:

+ Available in the python-team branch (not yet merged):

- fqdn (python-team)
- isoduration (python-team)
- jupyter-events (python-team)
- jupyter-server-terminals (python-team)
- notebook-shim (python-team)
- overrides (python-team)
- referencing (python-team)
- rfc3986-validator (python-team)
- uri-template (python-team)

+ Series 1 (submitted as issue 70924):

- async-lru (review)
- calver (review)
- memory-allocator (review)
- pplpy (review)
- primecount (review)
- primecountpy (review)
- pyproject-api (review)
- types-python-dateutils (review)

+ Series 2 (currently working on, not yet submitted):

How are you going with this series? Is there anything I can help with?


- gfan (NEXT)
- gnumake-tokenpool (v0.0.7+ needs Python 3.11+)
- jupyter-lsp (needs updated jupyter-core)
- palp http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html (NEXT)
- pytz-deprecation-shim (OK but temporary usage only)
- sympow
- tachyon: http://jedi.ks.uiuc.edu/~johns/raytracer/files/
+ Remaining standard packages:


I'll give these a go.

- combinatorial-designs
- comm
- conway-polynomials
- elliptic-curves
- graphs
- jmol
- jsonschema-specifications
- jupyter-jsmol
- jupyterlab
- jupyterlab-mathjax2
- pari-galdata
- pari-seadata-small
- polytopes-db
- pplpy-doc
- sage-conf
- sage-docbuild
- sage-setup
- sagenb-export
- sagetex
- sphinx-inline-tabs
- threejs

Optional packages:

Wow, that is a lot!


- admcycles
- benzene
- buckygen
- coxeter3
- csdp
- cunningham-tables
- cylp
- d3js
- database-cremona-ellcurve
- database-cubic-hecke
- database-jones-numfield
- database-knotinfo
- database-kohel
- database-mutation-class
- database-stein-watkins
- database-stein-watkins-mini
- database-symbolic-data
- dsdp
- e-antic
- frobby
- gap-jupyter
- gap-packages
- github-cli
- glucose [looks easy]
- jupymake
- kenzo
- latte-int
- libsemigroups [looks easy]
- lidia
- mathics
- mathics-scanner
- matroid-database
- mcqd
- meataxe
- msolve
- nibabel [looks easy]
- normaliz [looks easy]
- notedown
- onetbb
- ore-algebra
- p-group-cohomology
- pandoc-attributes
- papilo
- pari-elldata
- pari-galpol
- pari-nftables
- pari-seadata
- perl-cpan-polymake-prereq
- perl-mongodb
- phitigra
- plantri [looks easy]
- polymake [looks easy]
- polytopes-db-4d
- pycryptosat [looks easy]
- pynormaliz [looks easy]
- pyppeteer
- pyscipopt
- pysingular
- pyx [looks easy]
- qepcad
- rst2ipynb
- rubiks
- saclib
- sage-flatsurf
- sage-numerical-backends-coin
- sage-numerical-backends-cplex
- sage-numerical-backends-gurobi
- sage-sws2rst
- scip
- scip-sdp
- singular-jupyter
- sirocco
- slabbe
- snappy
- soplex
- tides
- topcom

As you can see, it's a lot of packages and dependencies, and these are
only the missing ones. Some of them are outdated, abandoned, or too
recent. Some of the already packaged dependencies may be too old or
need patches. We need at least the standard packages. Finally, we have
to glue them all in the sagemath package. So it's a lot of work and
nontrivial.

If you'd like to help, you can choose to package one of those "looks
easy" (but optional) packages, if you're new to Guix. Or try to help
with the more complex, yet more important, standard packages. You can
see the source link to every dependency in that sagemath packages link.
Issue 56729 is a good starting point.

Thanks! I'll start with issue 56729, and hopefully bring it up to speed.


The blockers are all of those you listed: excessive dependencies,
difficult building and lack of interest.

Vinicius

Warmly,
Ada

Reply via email to