You are looking at historical revision 26912 of this page. It may differ significantly from its current revision.

Metafile reference

The .meta file describes properties of a downloadable extension (see eggs tutorial for an explanation of extensions and meta files).

The following properties are supported:

(synopsis STRING)

A short description of the extension (required).

(author STRING)

The author, optionally with an e-mail address, if desired (required).

 (maintainer STRING)

The maintainer, if not identical to the author.

(files STRING ...)

The names of all files that should be contained in the egg.

(license STRING)

The license under which the code is released. Please make sure you use the proper license if you package code written by others (required). Read eggs licensing for details on how to format this string!

(category SYMBOL)

A category under which the egg should be listed on the eggs index page (required).

Currently the set of categories is fixed, use one of:

   code-generation  Code generation
   crypt            Cryptography
   data             Algorithms and data-structures
   db               Databases
   debugging        Debugging tools
   doc-tools        Documentation tools
   egg-tools        Egg tools
   ffi              Interfacing to other languages
   graphics         Graphics
   io               Input/Output
   lang-exts        Language extensions
   logic            Logic programming
   macros           Macros and meta-syntax
   math             Mathematical libraries
   misc             Miscellaneous
   net              Networking
   oop              Object-oriented programming
   os               OS interface
   parsing          Data formats and parsing
   sound            Sound related stuff
   testing          Unit-testing
   tools            Command line tools
   ui               User interface toolkits
   web              Web programming
   xml              XML processing
   hell             Concurrency and parallelism
   uncategorized    Uncategorized
   obsolete         Unsupported or redundant
(needs EXTENSION-ID ...)

Any extensions needed to build and use this extension. This should normally be the raw extension-identifier, the same that you would use in a require-extension form. Alternatively, EXTENSION-ID may be an arbitrary Scheme expression that is evaluated and should return a list of extension-ids. This is intended to test the executing system for particular platform- or installation-specific features before computing a set of required extensions to be available before the installation of the original extension commences.

(depends EXT ...)

Similar to needs, but EXT may also be of the form (EXTENSIONNAME VERSION) to specify a particular version of an extension this extension depends on.

(test-depends EXT ...)

Specifies dependencies that are required to run the included test-suite.


Marks this extension as being "hidden", that is: it is available for download and the documentation page is generated, but it will not appear in the official list (mainly intended for preliminary eggs and testing).

(platform ID ...)

Identifies the platforms where this extension can be used. ID ... should be one or more feature IDs, i.e. symbols returned by build-platform, software-version, software-type, machine-type and machine-byte-order. If a particular type of feature ID is not given, it implies that this egg is portable across all platforms that are described by this type. To see the features available on your system, enter ,r at the csi prompt. ID may also be a combination of (or ID ...), (and ID ...) and (not ID) forms, having the obvious meaning.

(foreign-depends LIB ... )

Specifies one or more dependencies for non scheme libraries, provided to aid installation for the end-user. LIB ... is a list of strings with one entry per dependency. An egg's foreign dependencies can be displayed with chicken-install's -show-foreign-depends switch.