chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] chicken-install: how to retrieve with dependencies


From: Mario Domenech Goulart
Subject: Re: [Chicken-users] chicken-install: how to retrieve with dependencies
Date: Fri, 25 Nov 2011 07:15:57 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux)

On Fri, 25 Nov 2011 13:08:09 +0100 Vok Vojwo <address@hidden> wrote:

> 2011/11/25 Mario Domenech Goulart <address@hidden>:
>
>> It's far from being a definitive solution, but you can find a quick hack
>> here: http://parenteses.org/mario/misc/fetch-eggs.scm
>>
>> Just call it like:
>>
>>   $ csi -s fetch-eggs.scm egg1 egg2 ...
>
> Thanks! I did already something similar:
>
> (define (main args)
>   (let ((egg (car args)))
>     (system (string-append "chicken-install -r " egg))
>     (letrec ((meta (string-append egg "/" egg ".meta"))
>              (deps (assoc 'depends (read (open-input-file meta)))))
>       (if deps
>           (let ((eggs (map (lambda (egg) (if (pair? egg) (car egg) egg))
>                            (cdr deps))))
>             (for-each
>              (lambda (egg)
>                (main (list egg)))
>              (map symbol->string eggs)))))))

Very nice.  Notice that some eggs use `needs' instead of `depends'.
Both are valid to specify dependencies.

Best wishes.
Mario
-- 
http://parenteses.org/mario



reply via email to

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