Andy Wingo <wi...@pobox.com> writes: > Hey all, > > We need to get together a few Guile-proposed projects for SoC students > to hack on. How about we collect them here in this thread. I'll kick > it off with one idea: > > * A CPAN for Guile. My initial thoughts are that you want a > combination of APT-like discovery and download of sources of > software, and a stowfs-like local storage, allowing you to update a > tree of symlinks in $XDG_DATA_DIRS/guile/2.0/ to add packages, roll > back changes, etc. See > http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html > for more on $XDG_DATA_DIRS. > > C extensions are outside the scope of this project. IMO a CPAN for > Guile should not compile C helper libraries. > I'm (very slowly) working on getting dorodango[0] to work on Guile. In principle, nothing in Dorodango is inherently tied to R6RS -- it should very reasonably be possible to use it for Guile-specific packages as well.
[0] http://home.gna.org/dorodango/ It currently doesn't use a symlinking approach like GNU Stow or scsh packages, but installs real files. However, it keeps track of all installed files (like APT/dpkg) and allows upgrades, uninstalling, etc. It even contains a full-blown dependency resolver, transcribed from aptitude's C++ implementation (in the process shrinking ~9KLoC to ~3KLoC ;-)). > You can start here by doing a survey of what other schemes do: > chicken and racket being the obvious ones, and also perhaps taking a > look at cabal and other CPAN-alikes developed in the last 10 years. > > You'd need to define a format for code -- tarballs or something. > You need to think about signing too, and the possibility both of > dumb servers and smart servers. You'll need to write a web client > in Guile, if one hasn't been written yet. In short, a large project > for an ambitious and careful hacker! > Well, I certainly don't want to stop anyone from coming up with something entirely Guile-specific, but I want to point out that there's already a good amount of code out there, and even some documentation ;-). I'd be thrilled however, if some ambitious, careful hacker would join me and help me enhance dorodango to work perfectly as Guile's package manager! Regards, Rotty -- Andreas Rottmann -- <http://rotty.yi.org/>