[Top][All Lists]
[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