On Fri, May 6, 2011 at 11:26 AM, Robert Bradshaw
<rober...@math.washington.edu> wrote:
[...]
> Were I to design the system from scratch, I'd put
> all our code (devel/scripts/...) in a single repo, along with the
> top-level files, and a list of dependencies (spkgs). Building sage
> would fetch (locally or remotely) the dependencies listed and build
> them in such a way that changing the list of dependencies and
> re-building would easily and cheaply reversible. I would probably
> still build my own Python, but may require it (flexible version) as a
> bootstrapping prerequisite. Whether the non-upstream parts of an spkg
> belong in the spkgs or the main repo, I'm not sure, but I'd rather
> *everything* be expressed as commit to a single repository (possibly
> moving a pointer to some new, vanilla upstream source, rather than
> putting all upstream sources in our repo).
>
> If others have similar views, maybe we could move in that direction.

I actually developed such a system from scratch (it's called Qsnake:
http://qsnake.com) and pretty much followed your paragraph above, so I
pushed all the repos at github:

https://github.com/qsnake

for example the Cython repo is here:

https://github.com/qsnake/cython

it is actually a fork of the official Cython repo. And then Qsnake is
clever enough, that when it is fetching the sources, and if there is
setup.py and no spkg-install, it creates spkg-install automatically
with "setup.py install" (and other default stuff), and then saves the
cython.spkg package into the spkg/standard/ directory.

Having all spkg-install scripts in the main repository (so in my case
in this repository: https://github.com/qsnake/qsnake) is a valid idea,
that I have been bouncing around too. I decided not to, to keep things
localized, as sometimes nontrivial modifications are needed to the
upstream packages, and the best way to do such modifications is to
simply create couple git patches. Also for testing, if there is
spkg-install file, committed, I can checkout the git repo for a
particular package and

qsnake install .

and it will install the package. And I can debug it easily.

Ondrej

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to