GSoC project: make the Sage build system more distribution friendly
by Tobias Hansen
I sent this message to this list, sage-devel and debian-science on March
16th. It did not appear here yet, so I am sending it again now, after
subscribing. Since the discussion happened on sage-devel  and
debian-science  until now, I suggest you answer there.
-------- Original-Message --------
Subject: GSoC project: make the Sage build system more distribution friendly
Date: Sat, 16 Mar 2013 17:08:12 +0100
From: Tobias Hansen <thansen(a)debian.org>
Hi fellow free software science guys!
I would like to propose a Google Summer of Code project to make the Sage
build system more distribution friendly. I am a Debian developer looking
for a co-mentor from Sage and possibly Fedora. We have to figure this
out until March 28th, when the mentoring organizations have to submit
their applications to Google.
Both Fedora  and Debian  are currently in the process of packaging
Sage. It would be beneficial if the changes necessary to make Sage use
system libraries would be done in Sage itself to avoid duplicate work.
For details, see the project description at the end of this mail.
I would mentor this GSoC project, if it is clear that Sage welcomes
these changes and someone from Sage becomes a co-mentor. This would
ensure that changes are made in a way acceptable by Sage and can be
accepted into Sage in the end. It would also be nice to have an
additional co-mentor from Fedora who tests the changes on Fedora and
So, what do you say? Thoughts about enhancing the build system?
= Project Description =
== Description of the project: ==
The mathematics software system Sage is shipped together with all its
dependencies in the form of spkg packages. Linux distributions package
the dependencies separately and want to obtain from the Sage website
only Sage itself (and possibly patches for dependencies). The Sage build
system currently expects all dependencies to be in the form of spkg
packages. The idea is to enhance the Sage build system to accept a list
of spkg names, for which the spkg is not used, but the libraries
provided by the OS are used instead. Given that Sage robustly supports
this scenario, it will not be difficult to create a Debian package of Sage.
== Deliverables of the project: ==
- support in Sage for choosing a set of dependencies that are satisfied
by the OS instead of spkg's
- a Sage Debian package
== Desirable skills: ==
familiarity with shell scripts, makefiles and C libraries
== What the student will learn: ==
- managing a compilation of a large, heterogeneous set of software
components to create a user-friendly product
- The student will gain equal amounts of insight into the inner workings
of both a Linux distribution and an upstream software project.
10 years, 2 months