guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SageMath packaging work


From: Vinicius Monego
Subject: Re: SageMath packaging work
Date: Sat, 01 Jun 2024 06:43:06 +0000

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

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

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

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

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

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

Vinicius



reply via email to

[Prev in Thread] Current Thread [Next in Thread]