wiki:Distribution

Distribution and packaging of SageMath

Here are some links and information about distributing Sage.

Related pages: Sage wiki: days77/packaging, Infrastructure

Source distributions

The release manager releases the source for each development release and each stable release.

Containers

Binder

Docker images

CoCalc Docker images (recommended)

As of 2022-08, this is recommended for general use.

Official CoCalc Docker image:

Other CoCalc Docker images might ship SageMath too:

Computational topology Sage Docker image

Official SageMath Docker images (in search of maintainers)

As of 2022-08, outdated/broken and in search of new maintainers to fix various outstanding issues

Live USB

Clef agreg

Sage Debian Live (defunct)

AIMS Desktop (abandoned 2017)

Package managers

This section is about SageMath packages in package managers, which can be related to particular Linux distributions, or macOS-specific (like Homebrew), or distribution-agnostic, or even OS-agnostic.

See https://repology.org/project/sagemath/versions for an overview of package versions.

Arch-linux

Conda / Anaconda / Miniconda / Conda Forge

Debian

Fedora package

Gentoo: Sage-on-Gentoo

Homebrew

SageMath can now be installed on macOS via Homebrew by running

brew cask install sage

This fetches the dmg for the app, and installs the app from that dmg. See this post on sage-devel.

Nix

  • Nix package manager: https://nixos.org/nix/
  • Sage package: https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/science/math/sage
  • Distribution-agnostic, functional, declarative package managing.
  • Should always have 0 doctest failures. To achieve that, some dependency versions are pinned. That is not an issue because Nix allows multiple versions of a package to be installed at the same time. However the goal is to minimize the amount of pinned dependencies.
  • Should work on most Linux distributions. More precisely any Linux distro where the Nix package manager is available, e.g. ArchLinux, Debian, others -- definitely works on NixOS.
  • Tested on x86 Linux. Probably works on ARM but that is as of yet untested.
  • Could run on Darwin, but currently doesn't since some dependencies don't have Darwin-specific patches. If you're a Darwin user, help with that would be very much appreciated. This is work in progress.
  • Might even work with the "Windows Subsystem for Linux", but probably needs some patches. Absolutely untested.
  • Allows user-installs, given that the nix package manager is already installed.
  • To install: nix-env -iA nixpkgs.sage or on NixOS just add sage to your environment.systemPackages
  • Betas are usually packaged in a PR until the release is final.
  • Currently (2018-07-26) maintained by timokau. Any help is appreciated. If you are interested (even if you don't know anything about nix yet), open an issue pinging @timokau and I'll help you get started.

RPM package (Fedora, Mandriva)

Ubuntu

Other

Please edit this wiki or email slelievre if you know about other package managers providing SageMath... See wikipedia's list of package managers.

Windows

Windows Subsystem for Linux (recommended)

  • Under Windows 10, one can run the "Windows Subsystem for Linux" to "run Linux under Windows".
  • Documented in Sage installation guide since Sage 9.6.

Cygwin (in search of maintainers)

As of 2022-08 (Sage 9.6/9.7) in search of maintainers.

SageMath installer for Windows (abandoned 2021)

Discussion

Porting to exotic architectures

BSD (2020 most recent activity as of 2022)

Solaris (abandoned 2010)

AIX, HP-UX (abandoned 2011)

Discussion

Last modified 8 days ago Last modified on Nov 26, 2022, 7:22:55 PM