[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Packaging eggs
From: |
Mario Domenech Goulart |
Subject: |
Re: [Chicken-users] Packaging eggs |
Date: |
Mon, 30 Aug 2010 20:01:00 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
Hi Jim
On Mon, 30 Aug 2010 17:53:15 -0400 Jim Pryor <address@hidden> wrote:
> On Mon, Aug 30, 2010 at 04:33:44PM -0400, Mario Domenech Goulart wrote:
>> Extracting information from the .meta files is not very hard. Here's an
>> example:
>>
>> ...
>> $ csi -p '(alist-ref (quote depends) (with-input-from-file
>> "awful/awful.meta" read))'
>> ((spiffy 4.2) (spiffy-request-vars 0.8) html-tags html-utils (http-session
>> 2.0) json spiffy-cookies)
>
> Thanks Mario. Running over a bunch of meta files I find these keys:
>
> egg
> synopsis
> author
> maintainer
> date
> needs
> depends
> test-depends
> category
> license
> platform
>
> Those are all clear enough. The wiki says "needs" and "depends" are
> synonyms, correct?
Yes.
> I also find these keys, whose meaning I've just been guessing at:
>
> doc-from-wiki ; no associated value when present
> ; it means the egg's documentation is available on the
> ; wiki?
>
> documentation ; so far I only found one egg with this key,
> ; aes has (documentation "aes.html")
>
> eggdoc ; so far as I can tell eggs have this key, with
> ; a local filename as the value, only if they
> ; don't also have (doc-from-wiki)
Those are deprecated. Documentation for eggs can be found at
http://wiki.call-cc.org/egg/<eggname>, where <eggname> is the egg you
want.
You can also get the wiki source files from
http://code.call-cc.org/svn/chicken-eggs/wiki/eggref/4/
> files ; I guess this is obvious
> file ; srfi-63 has (file "srfi-63.scm")
> ; is that key officially recognized, or is it an error?
`files' is ok. `file' is a bug (I've fixed it -- thanks for reporting it).
Actually the .meta file can contain anything, but only the supported
tags will be taken into consideration.
> hidden ; log5scm has (hidden)
> ; what does that mean?
It means that the egg is `hidden'. It's not listed at
http://wiki.call-cc.org/chicken-projects/egg-index-4.html
It can be used when the egg is in the early development stages and not
ready to be installed/used.
> Is the current version stored anywhere inside the meta or setup files?
> I've been using the latest directory in tags/ when the egg's svn
> directory has tags/ folder, but many don't. In those cases I have to
> scrape the version from somewhere else. It would help to know what the
> official method for retrieving the version is.
>
> Edit: currently, when I can't read the version number from a tags/
> subdirectory, I instead look for a VERSION file (one or two eggs have
> this), and also scrape the .setup file for any of:
> (define version 1.0 ; the version may be in string quotes or not
> (define VERSION 1.0
> (define the_eggs_name-version 1.0
> (define version 1.0
> (define version "v1.0"
> (extension-version 1.0
> ... are there more? Is there any standard here?
I think the .setup info should be the canonical one, but I don't know an
easy way to obtain the egg version from it.
OTOH, once the egg is installed, you can get its version either by
executing
$ csi -p '(extension-information "awful")'
or
$ chicken-status '^awful$'
> What's the official method for retrieving what non-scheme dependencies
> the eggs have? I think I just had to determine this by trial and error
> (sometimes reading the egg's documentation) and keep a record of it
> myself in the automation scripts. Is there no officially sanctioned
> way to mechanically retrieve this information?
There's no such a thing.
> Also, most eggs seem to follow the convention that if the egg's name is
> foo, the .meta file is foo.meta. However, srfi-27-reference's .meta file
> is just srfi-27.meta. Are there only loose conventions about this?
I think that's an exception. The real information about the egg name is
the (egg ...) tag from the .meta file.
> I think required-extension-version in the .setup file declares minimum
> version requirements for scheme dependencies. Can I rely on this to
> match what's in the .meta file, and so just read the .meta file and
> ignore the .setup file? I think when I set these automation scripts up
> that wasn't sufficient.
>
> What about -require-extension in the .setup file?
I'm not sure about this one. I think the .meta requirements should be
enough.
I _think_ `required-extension-version' is back from when .meta's
`depends' (or `needs') didn't support minimum version requirements.
Best wishes.
Mario
--
http://parenteses.org/mario
- [Chicken-users] Packaging eggs, Jim Pryor, 2010/08/30
- Re: [Chicken-users] Packaging eggs, Christian Kellermann, 2010/08/30
- Re: [Chicken-users] Packaging eggs, Jim Pryor, 2010/08/30
- Re: [Chicken-users] Packaging eggs, Mario Domenech Goulart, 2010/08/30
- Re: [Chicken-users] Packaging eggs, Jim Pryor, 2010/08/30
- Re: [Chicken-users] Packaging eggs,
Mario Domenech Goulart <=
- Re: [Chicken-users] Packaging eggs, Felix, 2010/08/31
- Re: [Chicken-users] Packaging eggs, Mario Domenech Goulart, 2010/08/31
- Re: [Chicken-users] Packaging eggs, Felix, 2010/08/31
- Re: [Chicken-users] Packaging eggs, Moritz Heidkamp, 2010/08/31
- Re: [Chicken-users] Packaging eggs, Felix, 2010/08/31
- Re: [Chicken-users] Packaging eggs, Jim Pryor, 2010/08/30
Re: [Chicken-users] Packaging eggs, John Cowan, 2010/08/30