Eduardo Cavazos wrote:

I have updated agave such that all the libraries and demo scripts now are under the '(agave ...)' namespace.

 From the README, the install instructions are now simply:

    $ cd /usr/local/lib/ikarus

    $ bzr branch lp:~ikarus-libraries-team/ikarus-libraries/srfi

    $ git clone git://github.com/dharmatech/agave.git

And running a demo is still simply:

$ ikarus --r6rs-script /usr/local/lib/ikarus/agave/demos/flexi-line.scm

Here's one idea for an R6RS library installer.

I use github. Other folks use launchpad. Surely others will be used such as Mercurial. Maybe somebody wants to serve up a library via http. A library installer can abstract over all of those. The installer should contact a library registry with some informational metadata, most importantly the source location (git, launchpad, http, whatever address). Optionally, if a specific version is requested, that version should map onto a "tagged" branch of the version control system. Anyways, once the installer locates the source, it does the right thing to talk to the backend (git clone, bzr ..., etc).

That's it.

I don't care if you don't like it. :-) I'm just putting another idea out there.

Here's a sketch of what I'm thinking:

    http://github.com/dharmatech/epcot/tree/master

I.e.:

    $ ikarus --r6rs-script epcot/install.sps agave

Will "do the right thing". Yeah, that should probably look like:

    $ epcot agave

Each package has it's own metadata file in the "registry" directory. The data is a simple list.

Need to update the registry? Submit a patch. ;-) Need to refresh your local registry? Probably have a command like:

    $ epcot --update-registry

Which basically does a 'git pull' behind the scenes.

Yes, I picked github and the storage but I'd be fine with launchpad or whatever (although github seems to be much more lightweight and apropos for something like this).

Ed

Reply via email to