Changeset 37951 in project


Ignore:
Timestamp:
10/04/19 16:22:27 (2 weeks ago)
Author:
Mario Domenech Goulart
Message:

eggs tutorial: adapt to provide information on eggs for CHICKEN 5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggs tutorial

    r33367 r37951  
    1313A good way to start getting involved in the CHICKEN community is to contribute new eggs.
    1414Not only this will benefit other users, who will now be able to use your egg, it will also benefit you as you'll gain access to all the infrastructure for managing eggs (eg. you will be able to install your eggs using {{chicken-install}}) and other users might start helping improve your eggs. You can create an egg from software you've written yourself, or else with free software libraries you've ported from other Schemes (or even other languages).
    15 
    16 We will assume your extension is called ''mpeg3''.  Replace occurences of that string throughout this file with the actual name of your extension.
    1715
    1816== Programming your extension
     
    2422Modules also allow to export syntax definitions in a clean and easy-to-use way.
    2523
    26 
    27 == Additional files
    28 
    29 
    3024=== Documentation
    3125
     
    3428You can enter your entire documentation for your egg into this wiki. This has the advantage of inviting other members of the CHICKEN community to help improve the documentation for your eggs.  Also, eggs documented in the CHICKEN wiki are automatically indexed by our [[http://api.call-cc.org|API browser]].
    3529
    36 You can either use your favourite text editor to edit wiki files (then commit your changes to the subversion repository) or point your browser to http://wiki.call-cc.org/eggref/4/eggname-here and use it to edit the wiki contents.
     30You can either use your favourite text editor to edit wiki files (then commit your changes to the subversion repository) or point your browser to http://wiki.call-cc.org/eggref/5/eggname-here and use it to edit the wiki contents.
    3731
    3832If you decide to edit the wiki files locally using a text editor then commiting to the repository, you'll need to ckeck out a copy of the subversion repository for wiki files:
     
    5448
    5549
    56 === The setup file
     50=== Egg build system and metadata
     51
     52CHICKEN 5 introduced an new format for the system to build eggs, which
     53is incompatible with the one for CHICKEN 4.  Below you can find
     54information about both.
     55
     56
     57==== For CHICKEN 5
     58
     59The build system for eggs in CHICKEN 5 reads {{.egg}} files, which
     60contain information about the egg and describe how eggs are to be built.
     61
     62See [[/man/5/Extensions|the manual section on extensions]] for more
     63information and simple examples on how to write {{.egg}} files and
     64[[/man/5/Egg%20specification%20format|Egg specification format]] for
     65the specification of {{.egg}} files.
     66
     67For practical examples, see what
     68[[https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree|existing eggs]]
     69do.
     70
     71
     72==== For CHICKEN 4
     73
     74CHICKEN 4 uses two separate files for the build system: a {{.setup}}
     75with instructions on how to build the egg; and a {{.meta}} file
     76containing metadata on the egg (license, dependencies, synopsis,
     77author etc.).
     78
     79Below is an example of an extension is called ''mpeg3''.  Replace
     80occurences of that string throughout this file with the actual name of
     81your extension.
     82
     83
     84===== The setup file
    5785
    5886In order for {{chicken-install}} to install your extension, we recommend that you create a {{mpeg3.setup}} file with information about your egg.
     
    86114Note that version is represented by a string.  That's because numbers can be tricky to represent versions.  Integers are usually not enough to represent minor/major changes, and floating point numbers require you to determine the number of minor releases a priori, otherwise you'll inevitably end up with version 1.10, which is numerically equivalent to 1.1, and that would cause problems when chicken-install tries to match versions to determine dependencies.
    87115
    88 === The meta file
     116===== The meta file
    89117
    90118Finally, you will need to create {{mpeg3.meta}}, with information about your egg.
     
    115143</enscript>
    116144
    117 For the category entry you can use any of the following:
     145More information about extension meta properties can be found here at
     146the [[Metafile reference]].
     147
     148
     149==== Egg categories
     150
     151For the category entry, used by for {{.meta}} and {{.egg}} files
     152(CHICKEN 4 and 5, respectively) you can use any of the following
     153possibilities:
    118154
    119155;code-generation: Code generation
     
    146182;obsolete: Unsupported or redundant
    147183
    148 Make sure you read [[Eggs Licensing]]!
    149 
    150 More information about extension meta properties can be found here at
    151 the [[Metafile reference]].
     184=== Licensing
     185
     186Please refer to [[Eggs Licensing]].
     187
    152188
    153189=== Tests
    154190
    155 [[/man/4/Extensions|chicken-install]] can automatically run a test suite on a freshly installed egg, if the egg directory
     191[[/man/5/Extensions|chicken-install]] can automatically run a test suite on a freshly installed egg, if the egg directory
    156192contains a directory named {{tests}}, which should include a Scheme source file named {{run.scm}}.
    157193When {{chicken-install}} is invoked with the {{-test}} option, then this file will be executed
Note: See TracChangeset for help on using the changeset viewer.