In fact, if we were to do some major changes to the build system we should consider building on top of conda. In particular, we shouldn't just crap arbitrary files into $SAGE_LOCAL during build, but turn each package into separate binary achive that then gets installed.
* Going back in the git history then involves no recompilation, only re-extracting the cached binaries. * You can decide on a per-package level if you want to (re-)compile it or use a binary package * The whole thing can just be published as a conda channel, just run "conda install --channel https://sagemath.org sage" * Incremental binary updates for free * We could build on conda (-forge) instead of maintaining our own patch, python, ... packages. * A conda build recipe is just a better version of how we currently define packages (spkg-install -> build.sh, metadata in meta.yaml instead of scattered into multiple files) On Friday, May 26, 2017 at 11:49:03 PM UTC+2, William wrote: > > On Fri, May 26, 2017 at 6:01 AM, Erik Bray <erik....@gmail.com > <javascript:>> wrote: > [...] > > The extent and scope to which Sage "vendors" its dependencies, in the > > form of what some call "sage-the-distribution", is *not* particularly > > normal in the open source world. Vendoring *some* dependencies is not > > unusual, but Sage does nearly all (even down the gcc, in certain > > cases). I've learned a lot of the history to this over the past year, > > and agree that most of the time this has been done with good reasons. > > > > For example, I can't think of any other software that forces me to > > build its own copy of ncurses just to build/install it. This was > > Maybe Anaconda? > > https://anaconda.org/anaconda/ncurses > > The approach in Sage is indeed very rare, but it's interesting that > another similar situation is with another big Python computing stack > (Anaconda), which was developed independently. In any case, it's > worth mentioning Anaconda in the proposal. > > -- William > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.