/usr/share/doc/racket/pkg/metadata.html is in racket-doc 6.1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>4 Package Metadata</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_0");">▼</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">Package Management in Racket</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="getting-started.html" class="tocviewlink" data-pltdoc="x">Getting Started with Packages</a></td></tr><tr><td align="right">2 </td><td><a href="Package_Concepts.html" class="tocviewlink" data-pltdoc="x">Package Concepts</a></td></tr><tr><td align="right">3 </td><td><a href="cmdline.html" class="tocviewlink" data-pltdoc="x">Using <span class="stt">raco pkg</span></a></td></tr><tr><td align="right">4 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Package Metadata</a></td></tr><tr><td align="right">5 </td><td><a href="strip.html" class="tocviewlink" data-pltdoc="x">Source, Binary, and Built Packages</a></td></tr><tr><td align="right">6 </td><td><a href="apis.html" class="tocviewlink" data-pltdoc="x">Package APIs</a></td></tr><tr><td align="right">7 </td><td><a href="catalog-protocol.html" class="tocviewlink" data-pltdoc="x">Package Catalog Protocol</a></td></tr><tr><td align="right">8 </td><td><a href="PLaneT_Compatibility.html" class="tocviewlink" data-pltdoc="x"><span class="planetName">PLane<span class="mywbr"> </span>T</span> Compatibility</a></td></tr><tr><td align="right">9 </td><td><a href="FAQ.html" class="tocviewlink" data-pltdoc="x">FAQ</a></td></tr><tr><td align="right">10 </td><td><a href="Future_Plans.html" class="tocviewlink" data-pltdoc="x">Future Plans</a></td></tr><tr><td align="right">11 </td><td><a href="implementation.html" class="tocviewlink" data-pltdoc="x">How Package Installation and Distribution Works</a></td></tr></table></div></div></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <a href="cmdline.html" title="backward to "3 Using raco pkg"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Package Management in Racket"" data-pltdoc="x">up</a> <a href="strip.html" title="forward to "5 Source, Binary, and Built Packages"" data-pltdoc="x">next →</a></span> </div><h3 x-source-module="(lib "pkg/scribblings/pkg.scrbl")" x-part-tag=""metadata"">4<tt> </tt><a name="(part._metadata)"></a>Package Metadata</h3><p>Package metadata, including dependencies on other packages, is reported
by an <span class="stt">"info.rkt"</span> module within the package. This module must be
implemented in the <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&rel=info_rkt.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">info</span></a> language.</p><p>For example, a basic <span class="stt">"info.rkt"</span> file might be</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktMeta">#lang</span><span class="hspace"> </span><span class="RktMeta"></span><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&rel=info_rkt.html&version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">info</span></a><span class="RktMeta"></span></td></tr><tr><td><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._version%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">version</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktVal">"1.0"</span><span class="RktPn">)</span><span class="RktMeta"></span></td></tr><tr><td><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">deps</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym">_package-source-string</span><span class="RktMeta"></span><span class="hspace"> </span><span class="RktMeta"></span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></td></tr></table></blockquote><p>The following <span class="stt">"info.rkt"</span> fields are used by the package manager:</p><ul><li><p><span class="RktSym">collection</span> —<wbr></wbr> either <span class="RktVal">'</span><span class="RktVal">multi</span> to
implement a <a href="Package_Concepts.html#%28tech._multi._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">multi-collection package</span></a> or a string or
<span class="RktVal">'</span><span class="RktVal">use-pkg-name</span> to implement a <a href="Package_Concepts.html#%28tech._single._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">single-collection
package</span></a>. If <span class="RktSym">collection</span> is defined as a string,
then the string is used as the name of the collection
implemented by the package. If <span class="RktSym">collection</span> is
defined as <span class="RktVal">'</span><span class="RktVal">use-pkg-name</span>, then the package name is used
as the package’s collection name.</p><p>Beware that omitting <span class="RktSym">collection</span> or defining it
as <span class="RktVal">'</span><span class="RktVal">use-pkg-name</span> means that a package’s content
effectively changes with the package’s name. A package’s
content should normally be independent of the package’s name,
and so defining <span class="RktSym">collection</span> to a string is
preferable for a <a href="Package_Concepts.html#%28tech._single._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">single-collection package</span></a>.</p></li><li><p><span class="RktSym">version</span> —<wbr></wbr> a <a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> string. The default
<a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> of a package is <span class="RktVal">"0.0"</span>.</p></li><li><p><span class="RktSym">deps</span> —<wbr></wbr> a list of dependencies, where each
dependency has one of the following forms:</p><ul><li><p>A string for a <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a>.</p></li><li><p><div class="SIntrapara">A list of the form
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVar">package-source-string</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">keyword-and-spec</span><span class="hspace"> </span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&version=6.1" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">where each <span class="RktVar">keyword-and-spec</span> has a
distinct keyword in the form
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0"><tr><td align="right" valign="baseline"><span class="hspace"> </span><span class="RktVar">keyword-and-spec</span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktVal">'</span><span class="RktVal">#:version</span><span class="hspace"> </span><span class="RktVar">version-string</span></td></tr><tr><td align="right" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktVal">'</span><span class="RktVal">#:platform</span><span class="hspace"> </span><span class="RktVar">platform-spec</span></td></tr><tr><td align="right" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td></tr><tr><td align="right" valign="baseline"><span class="hspace"> </span><span class="RktVar">platform-spec</span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktVar">string</span></td></tr><tr><td align="right" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktVar">symbol</span></td></tr><tr><td align="right" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt"> </span></td><td align="left" valign="baseline"><span class="RktVar">regexp</span></td></tr></table></div></p><p>A <span class="RktVar">version-string</span> specifies a lower bound
on an acceptable <a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> of the needed package.</p><p>A <span class="RktVar">platform-spec</span> indicates that the dependency
applies only for platforms with a matching result from
<span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._system-type%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">system-type</a></span><span class="RktPn">)</span> when <span class="RktVar">platforms-spec</span> is
a symbol or <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=Manipulating_Paths.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._path-%7E3estring%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">path->string</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._system-library-subpath%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">system-library-subpath</a></span><span class="stt"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="RktPn">)</span> when
<span class="RktVar">platform-spec</span> is a string or regular expression.
See also <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&rel=matching-platform.html%23%2528def._%2528%2528lib._setup%252Fmatching-platform..rkt%2529._matching-platform%7E3f%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">matching-platform?</a></span>. For
example, platform-specific binaries can be placed into
their own packages, with one separate package and one
dependency for each supported platform.</p></li><li><p><div class="SIntrapara">A list of the form
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVar">package-source-string</span><span class="hspace"> </span><span class="RktVar">version-string</span><span class="RktPn">)</span></p></blockquote></div><div class="SIntrapara">which is deprecated and equivalent to
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace"> </span><span class="RktVar">package-source-string</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">#:version</span><span class="hspace"> </span><span class="RktVar">version-string</span><span class="RktPn">)</span></p></blockquote></div></p></li></ul><p>Each element of the <span class="RktSym">deps</span> list determines a
dependency on the <a href="Package_Concepts.html#%28tech._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">package</span></a> whose name is inferred from
the <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a> (i.e., dependencies are on package
names, not package sources), while the <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a>
indicates where to get the package if needed to satisfy the
dependency.</p><p>Using the package name <span class="RktVal">"racket"</span> specifies a dependency
on the Racket run-time system, which is potentially useful when
a version is included in the dependency. For most purposes,
it’s better to specify a versioned dependency on
<span class="RktVal">"base"</span>, instead.</p></li><li><p><span class="RktSym">build-deps</span> —<wbr></wbr> like <span class="RktSym">deps</span>, but for
dependencies that can be dropped in a <a href="strip.html#%28tech._binary._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">binary package</span></a>,
which does not include sources; see <a href="strip.html" data-pltdoc="x">Source, Binary, and Built Packages</a>. The
<span class="RktSym">build-deps</span> and <span class="RktSym">deps</span> lists are
appended, while <a href="cmdline.html#%28part._raco-pkg-create%29" class="plainlink" data-pltdoc="x"><span class="stt">raco pkg create</span></a> strips away
<span class="RktSym">build-deps</span> when converting a package for
<span class="nobreak"><span class="stt">--binary</span></span> mode.</p></li><li><p><span class="RktSym">implies</span> —<wbr></wbr> a list of strings and
<span class="RktVal">'</span><span class="RktVal">core</span>. Each string refers to a package listed in the
<span class="RktSym">deps</span> and indicates that a dependency on the
current package counts as a dependency on the named package;
for example, the <span class="stt">gui</span> package is defined to ensure
access to all of the libraries provided by <span class="stt">gui-lib</span>,
so the <span class="stt">"info.rkt"</span> file of <span class="stt">gui</span> lists
<span class="RktVal">"gui-lib"</span> in <span class="RktSym">implies</span>. Packages listed
in <span class="RktSym">implies</span> list are treated specially by
updating: implied packages are automatically updated whenever
the implying package is updated. The special value
<span class="RktVal">'</span><span class="RktVal">core</span> is intended for use by an appropriate
<span class="stt">base</span> package to declare it as the representative of
core Racket libraries.</p></li><li><p><span class="RktSym">setup-collects</span> —<wbr></wbr> a list of path strings and/or
lists of path strings, which are used as collection names to
set up via <span class="stt">raco setup</span> after the package is installed, or
<span class="RktVal">'</span><span class="RktVal">all</span> to indicate that all collections need to be
setup. By default, only collections included in the package are
set up (plus collections for global documentation indexes and
links).</p></li></ul><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.1", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.1");">top</a></span><span class="navright"> <a href="cmdline.html" title="backward to "3 Using raco pkg"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Package Management in Racket"" data-pltdoc="x">up</a> <a href="strip.html" title="forward to "5 Source, Binary, and Built Packages"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|