guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CPAN for Guile


From: Andreas Rottmann
Subject: CPAN for Guile
Date: Mon, 07 Mar 2011 21:13:34 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Andy Wingo <address@hidden> 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/>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]