# Sage Math on Gentoo

# Intro

Sage may be available on your distro but on Gentoo such frivolities for students are not there yet, so I had to install it the manual way.

# User

I went to the Sage website, to the "download-source" link. The source mirror I picked was France.

Ok, so let's follow Sage Math build instructions and get it going

1 2 3 4 5 |
wget www-ftp.lip6.fr/pub/math/sagemath/src/sage-9.2.tar.gz tar xvf sage-9.2.tar.gz cd sage-9.2 ./configure make |

And now, let's wait…

# Portage

After a long, long, long time waiting I remembered that there existed a Gentoo overlay for Sage. And in the meantime I thought I'd try that solution instead since some good Gentoo people already did most of the effort.

Just a few files to edit…

File: /etc/portage/repos.conf/sage-on-gentoo.conf

1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# -*- conf -*- [sage-on-gentoo] auto-sync = yes location = /var/db/repos/sage-on-gentoo priority = 999 sync-git-clone-extra-opts = --depth=999999999 --no-shallow-submodules --verbose sync-git-pull-extra-opts = --verbose sync-type = git sync-umask = 022 sync-uri = https://github.com/cschwan/sage-on-gentoo.git sync-user = root:portage |

File: /etc/portage/package.accept~keywords~/zz-sage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# -*- conf -*- sci-mathematics/sage ** */*::sage-on-gentoo dev-python/cvxopt media-gfx/tachyon sci-libs/bliss sci-libs/dsdp sci-libs/fflas-ffpack sci-libs/fplll sci-libs/libhomfly sci-libs/linbox sci-libs/m4rie sci-mathematics/glpk |

File: /etc/portage/package.use/zz-sage

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# -*- conf -*- sci-mathematics/sage -doc-html -doc-html-bin sci-mathematics/sage -doc-pdf -doc-pdf-bin sci-mathematics/sage -jmol sci-mathematics/sage X bliss meataxe dev-python/pplpy doc sci-libs/cddlib tools sci-libs/pynac -giac sci-mathematics/eclib flint sci-mathematics/flint ntl sci-mathematics/glpk gmp sci-mathematics/gmp-ecm -openmp sci-mathematics/lcalc pari sci-mathematics/maxima ecls sci-mathematics/pari gmp doc |

Now - let's build Sage with Portage!

>>> Emerging (1 of 100) sci-mathematics/cliquer–1.21::gentoo

At least I know more or less how long I'm going to wait and know what exactly fails to build, if anything does.

# Final

## Build

$ qlop -tv sage

> 2021–03–23T20:49:12 >>> sci-mathematics/sage–9999: 55′04″

## Git stats

### Overlays

This info we can easily gather with executing:

`1` |
```
emerge --info
``` |

Gentoo' HEAD: `33f2d770c28307b1e9a1199c681e1c543602c6d4`

Sage-on-Gentoo's HEAD: `f7eac5b7e1a844132164b7593dab85cd87918664`

### Sage

Sage repository's HEAD (because we are using the live (9999) ebuild):

`1` |
```
cat /var/cache/distfiles/git3-src/sagemath_sage.git/refs/heads/develop
``` |

Which returns: `5cb72aade9b297c10bb0f1ae8529466e5b5eb41d`