[29282] trunk/doc-new/man/xml/portfile.7.xml

source_changes at macosforge.org source_changes at macosforge.org
Thu Sep 20 01:16:39 PDT 2007


Revision: 29282
          http://trac.macosforge.org/projects/macports/changeset/29282
Author:   markd at macports.org
Date:     2007-09-20 01:16:38 -0700 (Thu, 20 Sep 2007)

Log Message:
-----------
Commit a preliminary portfile.7 rewrite sourced in DocBook.

Added Paths:
-----------
    trunk/doc-new/man/xml/portfile.7.xml

Added: trunk/doc-new/man/xml/portfile.7.xml
===================================================================
--- trunk/doc-new/man/xml/portfile.7.xml	                        (rev 0)
+++ trunk/doc-new/man/xml/portfile.7.xml	2007-09-20 08:16:38 UTC (rev 29282)
@@ -0,0 +1,2729 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<refentry>
+  <refmeta>
+    <refentrytitle>PORTFILE</refentrytitle>
+
+    <manvolnum>7</manvolnum>
+  </refmeta>
+
+  <refnamediv>
+    <refname>portfile</refname>
+
+    <refpurpose>MacPorts Portfile reference</refpurpose>
+  </refnamediv>
+
+  <refsection>
+    <title>Description</title>
+
+    <para>A complete reference of all available Portfile variables and example
+    syntax. Portfiles consist of valid TCL and are encoded in UTF-8. They
+    usually contain only simple keyword/value combinations and Tcl extensions
+    as described below, though they may also contain arbitrary TCL code. Every
+    port has a corresponding Portfile, but Portfiles do not completely define
+    a port's installation behavior since the MacPorts base has default port
+    installation characteristics coded within it. Therefore Portfiles need
+    only specify required options and, if necessary, non-default
+    characteristics for a port.</para>
+  </refsection>
+
+  <refsection condition="guide">
+    <title>Table of Contents</title>
+
+    <para>The contents of this man page.</para>
+
+    <orderedlist>
+      <listitem>
+        <para>Global Variables</para>
+      </listitem>
+
+      <listitem>
+        <para>Global Keyword Reference</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>General Global Keywords</para>
+          </listitem>
+
+          <listitem>
+            <para>Dependencies</para>
+          </listitem>
+
+          <listitem>
+            <para>Variants</para>
+          </listitem>
+
+          <listitem>
+            <para>Livecheck / Distcheck</para>
+          </listitem>
+
+          <listitem>
+            <para>StartupItems</para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>Installation Phase Keyword Reference</para>
+
+        <itemizedlist>
+          <listitem>
+            <para>A word about keyword list modifiers</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Common uses for keyword list modifiers</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>A word about keyword argument modifiers</para>
+          </listitem>
+
+          <listitem>
+            <para>Fetch</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Fetch from CVS</para>
+              </listitem>
+
+              <listitem>
+                <para>Fetch from SVN</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>Checksum</para>
+          </listitem>
+
+          <listitem>
+            <para>Extract</para>
+          </listitem>
+
+          <listitem>
+            <para>Patch</para>
+          </listitem>
+
+          <listitem>
+            <para>Automake / Autoconf</para>
+          </listitem>
+
+          <listitem>
+            <para>Configure</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Configure Universal</para>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>Build</para>
+          </listitem>
+
+          <listitem>
+            <para>Destroot</para>
+          </listitem>
+
+          <listitem>
+            <para>Test</para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+
+      <listitem>
+        <para>Tcl Extensions</para>
+      </listitem>
+    </orderedlist>
+  </refsection>
+
+  <refsection>
+    <title>Global Variables</title>
+
+    <para>Global variables are variables available to any Portfile. For a list
+    of additional variables available to ports that are assigned to a MacPorts
+    Portgroup, see portgroup(7).</para>
+
+    <variablelist>
+      <varlistentry>
+        <term>prefix</term>
+
+        <listitem>
+          <para>Installation prefix, set in
+          <filename>${prefix}/etc/macports/macports.conf</filename> —may be
+          overridden on a per port basis. For example, aqua applications are
+          installed in <filename>/Applications/MacPorts</filename>.</para>
+
+          <para>Default: /opt/local</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>binpath</term>
+
+        <listitem>
+          <para>Default PATH to use in finding executables.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>libpath</term>
+
+        <listitem>
+          <para>Path to the MacPorts TCL libraries.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>portpath</term>
+
+        <listitem>
+          <para>Full path to the Portfile location.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>filesdir</term>
+
+        <listitem>
+          <para>Path to port files relative to
+          <varname>${portpath}</varname>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>workpath</term>
+
+        <listitem>
+          <para>Full path to work directory.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>worksrcpath</term>
+
+        <listitem>
+          <para>Full path to extracted source code. Equivalent to
+          <varname>${workpath}/${worksrcdir}</varname>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>destroot</term>
+
+        <listitem>
+          <para>Full path into which software will be destrooted. Equivalent
+          to <filename>${workpath}/destroot</filename>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>distpath</term>
+
+        <listitem>
+          <para>Location to store downloaded distfiles.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>install.user</term>
+
+        <listitem>
+          <para>The Unix user at the time of port installation.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>install.group</term>
+
+        <listitem>
+          <para>The Unix group at the time of port installation.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>os.platform</term>
+
+        <listitem>
+          <para>Identifies platform type (ie, "darwin", "freebsd",
+          etc).</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>os.arch</term>
+
+        <listitem>
+          <para>Identifies hardware type (ie, "powerpc", "intel").</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>os.version</term>
+
+        <listitem>
+          <para>The version number of the host operating system (ie "8.0" for
+          Darwin 8.0).</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+        <term>os.major</term>
+
+        <listitem>
+          <para>The major version number of the host operating system (ie "8"
+          for Darwin 8.0).</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsection>
+
+  <refsection>
+    <title>Global Keyword Reference</title>
+
+    <para>MacPorts keywords are used to specify required or optional items
+    within a Portfile, or to override default options used by MacPorts base
+    for individual ports. Keywords are to be used within the "global" and
+    "variant" sections of Portfiles, and not within optional port phase
+    declarations.</para>
+
+    <para>The global keywords listed below specify information for ports as a
+    whole, whereas the keywords listed under a port phase specify information
+    to be used during a particular installation phase.</para>
+
+    <refsection>
+      <title>General Global Keywords</title>
+
+      <para>The list of global keywords.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>PortSystem</term>
+
+          <listitem>
+            <para>The top line of every Portfile; it must be followed by a
+            blank line. It defines which version of the Portfile interpreter
+            will be used.</para>
+
+            <programlisting>PortSystem   1.0
+
+</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>name</term>
+
+          <listitem>
+            <para>The name of the Port; it should be lowercase.</para>
+
+            <programlisting>name         foo</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>version</term>
+
+          <listitem>
+            <para>The version of the ported software.</para>
+
+            <programlisting>version      1.23.45</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>revision</term>
+
+          <listitem>
+            <para>Optional keyword (default is 0) that is used to track port
+            revisions. It should not be incremented for port revisions unless
+            it would benefit users to upgrade an installed port, and cleared
+            when the port is updated to a newer version.</para>
+
+            <programlisting>revision     1</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>categories</term>
+
+          <listitem>
+            <para>The category under which the ported software falls. The
+            first category should be the same as the directory within which
+            the Portfile is stored; secondary and tertiary categories may be
+            selected.</para>
+
+            <programlisting>categories     net security</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>maintainers</term>
+
+          <listitem>
+            <para>A port's maintainer is a person or persons who take
+            responsibility for keeping the port up-to-date, and the maintainer
+            keyword lists maintainer email addresses(s). However, many
+            maintainers wish to hide these addresses from spambots; to do so
+            follow these conventions:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>For addresses in domain @macports.org, simply omit the
+                domain name.</para>
+              </listitem>
+
+              <listitem>
+                <para>For addresses in other domains, say
+                <email>account at example.org</email>, use the convention
+                example.org:account to specify the address.</para>
+              </listitem>
+            </itemizedlist>
+
+            <para>In the example below, the maintainer email addresses
+            <email>jdoe at macports.org</email> and
+            <email>julesverne at example.org</email> are hidden using these
+            conventions.</para>
+
+            <programlisting>maintainers       jdoe \
+                  example.org:julesverne</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>description</term>
+
+          <listitem>
+            <para>A one-sentence description of the ported software.</para>
+
+            <epigraph>
+              <para>ddd</para>
+            </epigraph>
+
+            <programlisting>description    A clasic shooter arcade game.</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>long_description</term>
+
+          <listitem>
+            <para>A long description of the ported software. Break long lines
+            with escaped newlines.</para>
+
+            <programlisting>description    A classic shooter arcade game derived from \
+               the game alien-munchers.  Not suitable for \
+               children under two years old.      </programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>homepage</term>
+
+          <listitem>
+            <para>Port application's homepage.</para>
+
+            <programlisting>homepage       http://www.somesite.org/apps</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>platforms</term>
+
+          <listitem>
+            <para>The platforms on which the port has been tested.</para>
+
+            <programlisting>platforms      darwin freebsd</programlisting>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Dependencies</title>
+
+      <para>Free and open source software is highly modular, and MacPorts
+      ports often require that other ports be installed beforehand; these
+      prerequistes for a given port are called a port's
+      <quote>dependencies</quote>.</para>
+
+      <para>There are three types of MacPorts dependencies: library, build,
+      and run dependencies. Dependency types are important for proper port
+      upgrade and uninstall behavior. For example, you may not uninstall a
+      port that is a library dependency for another port, though you may
+      remove one with a build dependency; likewise, upgrading a port will
+      upgrade its library and build dependencies also, but not its run
+      dependencies.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>depends_lib</term>
+
+          <term>depends_lib-append</term>
+
+          <term>depends_lib-delete</term>
+
+          <listitem>
+            <para>The list of dependencies to check before phases
+            <option>configure</option>, <option>build</option>,
+            <option>destroot</option>, <option>install</option>, and
+            <option>package</option>. Library dependencies are needed both at
+            build time (for headers and libraries to link against) and at run
+            time.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>depends_build</term>
+
+          <term>depends_build-append</term>
+
+          <term>depends_build-delete</term>
+
+          <listitem>
+            <para>The list of dependencies to check before phases
+            <option>build</option>, <option>destroot</option>,
+            <option>install</option>, and <option>package</option>. Build
+            dependencies are needed when software is compiled, but not needed
+            at all once the software is compiled and installed.</para>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>depends_run</term>
+
+          <term>depends_run-append</term>
+
+          <term>depends_run-delete</term>
+
+          <listitem>
+            <para>The list of dependencies to check before phases
+            <option>destroot</option>, <option>install</option>, and
+            <option>package</option>. Run dependencies are needed when the
+            software is run, but not to compile it.</para>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <refsection>
+        <title>Port and Non-Port Dependencies</title>
+
+        <para>Port dependencies should be provided by MacPorts ports whenever
+        possible, however dependencies may be provided by vendor-supplied
+        software when satisfying a dependency by a port is not practical or
+        desirable for a special reason. Dependencies of this type are called
+        non-port dependencies.</para>
+
+        <para>Port dependencies, the preferred type, are specified as shown in
+        these examples:</para>
+
+        <programlisting>depends_lib        port:rrdtool port:apache2
+
+depends_build      port:apache2 port:php5</programlisting>
+
+        <para>Non-port dependencies are specified as shown in these
+        examples:</para>
+
+        <programlisting>depends_lib        lib:libX11.6:xorg
+
+depends_build      bin:rrdtool</programlisting>
+      </refsection>
+    </refsection>
+
+    <refsection>
+      <title>Variants</title>
+
+      <para>MacPorts variants are conditional modifications of port
+      installation behavior that may be invoked by a user at the time of port
+      install.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>variant [requires variant] [conflicts variant] [description
+          description]</term>
+
+          <listitem>
+            <para>The variant declaration may contain any keywords that can be
+            placed in a Portfile's global section. If you wish to execute
+            system (shell) calls or Tcl extensions during the execution of a
+            port phase, you should place those statements within a
+            <literal>variant_isset</literal> conditional within a phase
+            declaration and not within the variant declaration itself.
+            Dependencies and conflicts with other variants in the same port
+            can be expressed with requires and conflicts. See the isset Tcl
+            extension.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: no</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>variant gnome requires glib {
+      configure.args-append --with-gnome
+      depends_lib-append port:gnome-session
+}</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>default_variants</term>
+
+          <listitem>
+            <para>If variants are defined, then the default_variants value
+            lists which variants are enabled by default. This allows for
+            Portfile modularity and also allows users to suppress default
+            variants if they wish.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>default_variants +ssl +tcpd</programlisting>
+              </listitem>
+            </itemizedlist>
+
+            <para>Default variants may be suppressed by preceeding a variant
+            name with a "-" as shown in this example.</para>
+
+            <programlisting><prompt>%%</prompt> <userinput>port install foo -ssl</userinput></programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>universal_variant</term>
+
+          <listitem>
+            <para>When using MacPorts on Mac OS X, a universal variant is
+            defined by default to configure ports with universal flags. The
+            variant can be overridden if the default code does not work (see
+            the Configure Universal section below), or suppressed if a
+            universal variant is not possible for the port with this
+            keyword.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: yes</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>universal_variant  no</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Livecheck / Distcheck</title>
+
+      <para>Options livecheck and distcheck are especially useful for port
+      maintainers, but others may also find this information valuable.</para>
+
+      <para>Livecheck checks to see if MacPorts can query the developer's
+      download site to determine if a newer version of the software has become
+      available since the port was installed.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>livecheck.check</term>
+
+          <listitem>
+            <para>Specify what kind of update check to perform.</para>
+
+            <para>Open source mirror site options are to use the project's
+            latest file release from <option>sourceforge</option> or
+            <option>googlecode</option>, or the project's
+            <literal>date_updated</literal> XML tag for
+            <option>freshmeat</option>. </para>
+
+            <para>Generic download site options are to specify a
+            <option>moddate</option> (modification date) of a URL resource), a
+            <option>regex</option> (retrieve the version by applying a regex
+            to a URL resource), <option>regexm</option> (retrieve the version
+            by applying a multi-line regex to a URL resource),
+            <option>md5</option> (compares the md5 sum of a URL resource) or
+            <option>none</option> (no check).</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: sourceforge or googlecode if the master_sites
+                is one of these, else freshmeat.</para>
+              </listitem>
+
+              <listitem>
+                <para>Values: freshmeat sourceforge googlecode moddate regex
+                regexm md5 none</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>livecheck.check     regex
+livecheck.url       http://dev.mysql.com/
+livecheck.regex     "Generally Available (${major_version}\\.\[0-9.\]+)"
+</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.name</term>
+
+          <listitem>
+            <para>Name of the project for live checks; only used with
+            freshmeat, sourceforge, and googlecode livechecks.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <varname>${name}</varname> or the
+                sourceforge/freshmeat/googlecode project name if it can be
+                guessed from <literal>master_sites</literal>.</para>
+              </listitem>
+
+              <listitem>
+                <para>Values:
+                <replaceable>any_project_name</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck.name   hibernate</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.distname</term>
+
+          <listitem>
+            <para>Name of the file release for sourceforge and googlecode
+            checks. You may use this keyword without livecheck.version if you
+            replace the version part of the name with "(.*)".</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: SourceForge:
+                <varname>${livecheck.name}</varname> ; GoogleCode: first
+                ${distfiles} item</para>
+              </listitem>
+
+              <listitem>
+                <para>Values: <replaceable>filename</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck.distname  faad2.src</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.version</term>
+
+          <listitem>
+            <para>Version of the project for a check; used for regex-based
+            checks.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <varname>${version}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>Values: <replaceable>any_version</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck.version   ${name}-${version}</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.url</term>
+
+          <listitem>
+            <para>URL to query for a check.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:</para>
+
+                <itemizedlist>
+                  <listitem>
+                    <para>homepage or the first hit among the following
+                    sites</para>
+                  </listitem>
+
+                  <listitem>
+                    <para>http://freshmeat.net/projects-xml/${livecheck.name}/${livecheck.name}.xml</para>
+                  </listitem>
+
+                  <listitem>
+                    <para>http://sourceforge.net/export/rss2_projfiles.php?project=${livecheck.name}</para>
+                  </listitem>
+
+                  <listitem>
+                    <para>http://code.google.com/p/${livecheck.name}/downloads/list</para>
+                  </listitem>
+                </itemizedlist>
+              </listitem>
+
+              <listitem>
+                <para>Values: <replaceable>any_url</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck.url  http://ftp.gnu.org/gnu/bison/</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.regex</term>
+
+          <listitem>
+            <para>Regular expression to parse the resource for regex checks.
+            Be sure to use a regular expression grouping around the version
+            component.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Values: <replaceable>any_regex</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck.regex  4th-([a-z0-9.]+)-unix.tar.gz</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>livecheck.md5</term>
+
+          <listitem>
+            <para>md5 checksum to use for an md5 comparison.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Values:
+                <replaceable>any_md5_checksum</replaceable></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>livecheck  md5 37e6a5b6516a680c7178b72021d3b706</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <para>Distcheck reports whether or not the distfile(s) specified in a
+      Portfile are still available on the developer's download site. Examples
+      are given below.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>distcheck.check</term>
+
+          <listitem>
+            <para>This option can be used to disable distcheck. It specifies
+            what kind of check should be performed on distfiles: moddate
+            (check if the Portfile is older than the distfile) or none (no
+            check).</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: moddate</para>
+              </listitem>
+
+              <listitem>
+                <para>Values: moddate none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>distcheck.check  none</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>StartupItems</title>
+
+      <para>StartupItems are keywords that create Mac OS X startup scripts for
+      <ulink
+      url="http://developer.apple.com/macosx/launchd.html">launchd</ulink>,
+      the facility introduced by Apple beginning with OS X 10.4, that starts,
+      stops, and manages daemons, programs and scripts. Port authors use
+      StartupItem keywords within Portfiles to instruct MacPorts to generate
+      and install <command>launchd</command> scripts for daemons during port
+      installation. To support launchd, a wrapper program named
+      <command>daemondo</command> is provided by MacPorts base that serves as
+      an adapter between OS X's <command>launchd</command> and daemons that
+      are normally started via traditional rc.d style scripts.</para>
+
+      <para>There are three categories of StartupItem keywords. Those that
+      trigger StartupItem creation and setup logging, those that specify
+      attributes of <quote>executable</quote> StartupItems, and those that
+      specify attributes of <quote>script</quote> StartupItems.</para>
+
+      <refsection>
+        <title>StartupIem Creation &amp; Logging</title>
+
+        <para>The keywords in this section may be used with either
+        <quote>executable</quote> or <quote>script</quote> StartupItems (see
+        below).</para>
+
+        <variablelist>
+          <varlistentry>
+            <term>startupitem.create</term>
+
+            <listitem>
+              <para>Trigger the creation of a StartupItem.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: yes no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.create  yes</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>startupitem.name</term>
+
+            <listitem>
+              <para>Sets the name for the StartupItem.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: required</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: <replaceable>any_name</replaceable></para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.name  OpenSSH</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>startupitem.logfile</term>
+
+            <listitem>
+              <para>Path to a logfile for logging events about the lifetime of
+              the StartupItem. Depending on the type of StartupItem, and the
+              manner in which it is started, standard output from the daemon
+              may also be directed to the logfile.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: <filename>/dev/null</filename></para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: <replaceable>/file/path</replaceable></para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.logfile  ${prefix}/var/log/mydaemon.log</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>startupitem.logevents</term>
+
+            <listitem>
+              <para>Control whether or not to log events to the log file. If
+              logevents is set, events with timestamps are logged to the
+              logfile.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: yes no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.logevents   yes</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+
+      <refsection>
+        <title>Executable StartupItems</title>
+
+        <para><quote>Executable</quote> StartupItems are slightly preferred
+        over <quote>script</quote> StartupItems because
+        <command>daemondo</command> launches the daemon directly, rather than
+        indirectly via a startup script, and therefore it automatically knows
+        how to monitor the daemon to restart it if it dies. The
+        <quote>executable</quote> StartupItem specifies the path and name of
+        the daemon to be run in the background.</para>
+
+        <note>
+          <para>For a given port, the <quote>executable</quote> StartupItem
+          keyword may not be used with any keywords in the
+          <quote>script</quote> StartupItem category.</para>
+        </note>
+
+        <variablelist>
+          <varlistentry>
+            <term>startupitem.executable</term>
+
+            <listitem>
+              <para>Specifies the name of the daemon to be run in the
+              background. It may have multiple arguments, but they must be
+              appropriate for a call to exec; arbitrary shell code may not be
+              used.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values:
+                  <replaceable>/path/to/executable</replaceable></para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.executable  "${prefix}/bin/nmicmpd"</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+
+      <refsection>
+        <title>Script StartupItems</title>
+
+        <para>StartupItems of type <quote>script</quote> use
+        <command>daemondo</command> to launch a daemon via a startup script
+        provided in port distributions containing daemons. When using this
+        type of StartupItem, the <code>startupitem.pidfile</code> keyword may
+        be used so <command>daemondo</command> can monitor the daemon's PID
+        and restart it if it dies.</para>
+
+        <note>
+          <para>For a given port, StartupItem keywords in category
+          <quote>script</quote> may not be used with an
+          <quote>executable</quote> StartupItem keyword.</para>
+        </note>
+
+        <variablelist>
+          <varlistentry>
+            <term>startupitem.start</term>
+
+            <term>startupitem.stop</term>
+
+            <term>startupitem.restart</term>
+
+            <listitem>
+              <para>Specify a shell script to start, stop, and restart the
+              daemon. In the absence of a restart key, the daemon will be
+              restarted by taking the stop action, followed by the start
+              action.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: <replaceable>shell_script</replaceable></para>
+                </listitem>
+
+                <listitem>
+                  <para>Examples:</para>
+
+                  <programlisting>startupitem.start ${prefix}/share/mysql/mysql.server start
+startupitem.start ${prefix}/share/mysql/mysql.server stop
+startupitem.start ${prefix}/share/mysql/mysql.server restart</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>startupitem.init</term>
+
+            <listitem>
+              <para>Shell code that will be executed prior to any of the
+              options <code>startupitem.start</code>,
+              <code>startupitem.stop</code> and
+              <code>startupitem.restart</code>.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Default: no</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values: <replaceable>shell_script</replaceable></para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.init  "PID=/var/run/dhcpd.pid"</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>startupitem.pidfile</term>
+
+            <listitem>
+              <para>This keyword must be defined properly for
+              <command>daemondo</command> to be able to monitor daemons
+              launched via <quote>script</quote> StartupItems and restart them
+              if they die. It specifies two things: a process id (PID) file
+              handling method, and a pidfile name and path.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Type: optional</para>
+                </listitem>
+
+                <listitem>
+                  <para>Defualt: [none] |
+                  [<filename>${prefix}/var/run/${name}.pid</filename>]</para>
+                </listitem>
+
+                <listitem>
+                  <para>Values [none auto manual clean]
+                  [<replaceable>/path/to/pidfile</replaceable>]</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>startupitem.pidfile auto ${prefix}/var/run/${name}.pidfile</programlisting>
+                </listitem>
+              </itemizedlist>
+
+              <para>Pidfile handling options:</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para><option>none</option> - The daemon is not to use a
+                  pidfile.</para>
+                </listitem>
+
+                <listitem>
+                  <para><option>auto</option> - The daemon generates its own
+                  pidfile.</para>
+                </listitem>
+
+                <listitem>
+                  <para><option>manual</option> - The daemon never generates a
+                  pidfile; the StartupItem must manage the pidfile on its
+                  own.</para>
+                </listitem>
+
+                <listitem>
+                  <para><option>clean</option> - The daemon generates its own
+                  but will not delete it; the StartupItem must delete
+                  it.</para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+    </refsection>
+  </refsection>
+
+  <refsection>
+    <title>Installation Phase Keyword Reference</title>
+
+    <para>MacPorts keywords are used to specify required or optional items
+    within a Portfile, or to override default options used by MacPorts base
+    for individual ports. Keywords are to be used within the "global" and
+    "variant" sections of Portfiles, and not within optional port phase
+    declarations.</para>
+
+    <para>In other words, port phase keywords are not located within port
+    phase declarations, but rather they <emphasis>refer</emphasis> to port
+    phases and set options for those phases, and they take affect whether or
+    not phase declarations have been explicitly defined in a Portfile.</para>
+
+    <refsection>
+      <title>A Word about Keyword List Modifiers (-append / -delete)</title>
+
+      <para>It is often necessary to add to a list of keyword values
+      previously set by a previously executed Portfile keyword or by MacPorts
+      base. To keep from overwriting a previous keyword list, use a keyword
+      list modifier. Keywords that support list modifiers are identified under
+      appropriate reference sections below.</para>
+
+      <para>The three most common uses for keyword list modifiers are to
+      preserve configure defaults, to preserve PortGroup dependencies, and to
+      add or delete items for variants.</para>
+
+      <refsection>
+        <title>Common Uses for Keyword List Modifiers</title>
+
+        <para>The three most common uses for keyword list modifiers are to
+        preserve configure defaults, to preserve PortGroup dependencies, and
+        to add or delete items for variants.</para>
+
+        <variablelist>
+          <varlistentry>
+            <term>Preserve configure Defaults</term>
+
+            <listitem>
+              <para>MacPorts base sets the gcc compiler flags CFLAGS and
+              LDFLAGS for all ports using <literal>configure.cflags</literal>
+              and <literal>configure.ldflags</literal>, therefore to keep from
+              overwriting the default compiler flags use
+              <literal>configure.cflags-append</literal> and
+              <literal>configure.ldflags-append</literal>.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para><code>configure.cflags-append</code></para>
+                </listitem>
+
+                <listitem>
+                  <para><code>configure.ldflags-append</code></para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>Preserve PortGroup Dependencies</term>
+
+            <listitem>
+              <para>Ports in a PortGroup have default library dependencies set
+              by MacPorts base. Therefore, never use
+              <literal>depends_lib</literal> in ports belonging to a PortGroup
+              or it will overwrite the default library dependencies. Instead,
+              use <literal>depends_lib-append</literal>.</para>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>Add or Delete Items for Variants</term>
+
+            <listitem>
+              <para>When a variant requires more or fewer dependencies,
+              distfiles, or patchfiles, when the variant is invoked you want
+              to add or remove items to the appropriate keyword values list
+              set in the global section of the Portfile. Use the appropriate
+              keywords, for example:</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para><code>depends_lib-append</code> or
+                  <code>depends_lib-delete</code></para>
+                </listitem>
+
+                <listitem>
+                  <para><code>distfiles-append</code> or
+                  <code>distfile-delete</code></para>
+                </listitem>
+
+                <listitem>
+                  <para><code>patchfiles-append</code> or
+                  <code>patchfiles-delete</code></para>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+    </refsection>
+
+    <refsection>
+      <title>A Word about Keyword Argument Modifiers (.pre_args /
+      .post_args)</title>
+
+      <para>Keywords that support pre_args and post_args are used to assemble
+      command strings together in a row, as described in the reference
+      sections below. But it should be noted that all keyword argument
+      modifiers implicitly support keyword list modifiers. For example, the
+      keyword <literal>configure.pre_args</literal> also supports
+      <literal>configure.pre_args-append</literal> and
+      <literal>configure.pre_args-delete</literal>.</para>
+    </refsection>
+
+    <refsection>
+      <title>Fetch Phase Keywords</title>
+
+      <para>The list of keywords related to the fetch phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>master_sites</term>
+
+          <listitem>
+            <para>A list of URLs from which a port's download file(s) may be
+            retrieved. For multiple master_sites, they are searched in order
+            until a file matching <varname>${distfile}</varname> is
+            found.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: ???</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>master_sites   http://www.somesite.org/files/ \
+               http://www.somemirror.org/somesite_org/files/</programlisting>
+
+                <para>You may also use mirror site lists predefined by
+                MacPorts. Here the sourceforge and gnu mirrors are
+                used.</para>
+
+                <programlisting>master_sites   sourceforge gnu</programlisting>
+
+                <para>When using mirror master_sites, the subdirectory
+                <varname>${name}</varname> is checked on every mirror. If the
+                mirror subdirectory does not match ${name}, then you may
+                specify it using after the mirror separated by a colon.</para>
+
+                <programlisting>master_sites   sourceforge:widget \
+               gnu:widget</programlisting>
+
+                <para>For ports that must fetch multiple download files from
+                different locations, you must label the files with tags and
+                match the tags in a distfiles statement. The format is
+                <literal>mirror:subdirectory:tag</literal>.</para>
+
+                <para>In the example below, file_one.tar.gz is fetched from
+                sourceforge mirrors in subdirectory
+                <varname>${name}</varname>; file tagtwo.tar.gz is fetched from
+                the gnu mirrors in subdirectory sources.</para>
+
+                <programlisting>master_sites    sourceforge::tagone \
+                gnu:sources:tagtwo
+
+distfiles       file_one.tar.gz:tagone \
+                file_two.tar.gz:tagtwo</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>patch_sites</term>
+
+          <listitem>
+            <para>A list of sites from which a port's patchfiles may be
+            downloaded, where applicable.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <varname>${master_sites}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>patch_sites    ftp://ftp.patchcityrepo.com/pub/magic/patches</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>distname</term>
+
+          <listitem>
+            <para>The name of the distribution filename, not including the
+            extract suffix.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <varname>${name}-${version}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>distname     ${name}</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>distfiles</term>
+
+          <listitem>
+            <para>The full distribution filename, including the extract
+            suffix. Used to specify non-default distribution filenames; this
+            keyword must be specified (and tags used) when a port has multiple
+            download files (see master_sites).</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:
+                <varname>${distname}${extract.suffix}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>distfiles    ${name}-dev_src.tgz
+
+
+distfiles       file_one.tar.gz:tagone \
+                file_two.tar.gz:tagtwo</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>extract.suffix</term>
+
+          <listitem>
+            <para>This keyword is used to specify the extract suffix
+            type.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <filename>.tar.gz</filename></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>extract.suffix   .tgz</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>use_bzip2</term>
+
+          <listitem>
+            <para>This keyword is for downloads that are tarred and bzipped.
+            When invoked, it automatically sets: extract.suffix =
+            <filename>.tar.bz</filename> and extract.cmd =
+            <command>bzip</command>.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: yes</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>use_bzip2     yes</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>use_zip</term>
+
+          <listitem>
+            <para>This keyword is for downloads are zipped. When invoked, it
+            automatically sets: extract.suffix = .<filename>zip</filename>,
+            extract.cmd = <command>unzip</command>, extract.pre_args =
+            <option>-q</option>, extract.post_args = "<option>-d</option>
+            <varname>${portpath}/${workdir}</varname>"</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <option>yes</option></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>use_zip       yes</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <refsection>
+        <title>Fetch from CVS</title>
+
+        <para><ulink url="http://www.nongnu.org/cvs/">CVS</ulink> may be used
+        as an alternative method of fetching distribution files using the
+        keywords in this section. However, fetching via CVS may cause
+        non-reproducible builds, so it is strongly discouraged.</para>
+
+        <variablelist>
+          <varlistentry>
+            <term>cvs.root</term>
+
+            <listitem>
+              <para>Specify the url from which to fetch files.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>cvs.root :pserver:anonymous at cvs.sv.gnu.org:/sources/emacs</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>cvs.tag</term>
+
+            <listitem>
+              <para>Optional for for fetching with CVS, this specifies the
+              code revision to checkout.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>cvs.tag  HEAD</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>cvs.date</term>
+
+            <listitem>
+              <para>A date that identifies the CVS code set to
+              checkout.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>cvs.date "12-April-2007"</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>cvs.module</term>
+
+            <listitem>
+              <para>A CVS module from which to check out the code.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting>cvs.module  Sources</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+
+      <refsection>
+        <title>Fetch from SVN</title>
+
+        <para><ulink url="http://subversion.tigris.org/">Subversion</ulink>
+        may be used as an alternative method of fetching distribution files
+        using the keywords in this section. However, fetching via Subversion
+        may cause non-reproducible builds, so it is strongly
+        discouraged.</para>
+
+        <variablelist>
+          <varlistentry>
+            <term>svn.url</term>
+
+            <listitem>
+              <para>Optional for fetching with CVS, this specify the url from
+              which to fetch files.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Examples:</para>
+
+                  <programlisting>svn.url http://www.domain.com/svn-repo/mydirectory
+svn.url svn://www.domain.com/svn-repo/mydirectory
+</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>svn.tag</term>
+
+            <listitem>
+              <para>Optional for for fetching with Subversion, this specifies
+              the code revision to checkout; it corresponds to the -r option
+              in the svn cli. You must use backslashes to escape characters
+              that are meaningful to the Tcl interpreter, such as braces and
+              double quotes.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: none</para>
+                </listitem>
+
+                <listitem>
+                  <para>Examples:</para>
+
+                  <programlisting>svn.tag 37192
+svn.tag \{\"2006-02-17 15:30 +0230\"\}</programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+    </refsection>
+
+    <refsection>
+      <title>Checksum Phase Keywords</title>
+
+      <para>The list of keywords related to the checksum phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>checksums</term>
+
+          <listitem>
+            <para>Checksum(s) of the distribution files. For ports with
+            multiple distribution files, filenames must be included to
+            associate files with their checksums.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: ???</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>checksums     md5 65b89365a65dcad71d4402b48</programlisting>
+
+                <programlisting>checksums     ${distname}${extract.suffix} md5 65b89365a65dcad71d4402b44 \
+              hobbit.tar.gz md5 65b89365a65dcad71d4402b48</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Extract Phase Keywords</title>
+
+      <para>The list of keywords related to the extract phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>extract.only</term>
+
+          <term>extract.only-append</term>
+
+          <term>extract.only-delete</term>
+
+          <listitem>
+            <para>List of files to extract into
+            <varname>${worksrcpath}</varname>; the default is
+            <varname>${distfiles}</varname>. Only use if default extract
+            behavior is not correct for your port.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>extract.only     foo.tar.gz</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>extract.only-append  bar.tar.gz
+extract.only-delete  foo.tar.gz</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>extract.cmd</term>
+
+          <listitem>
+            <para>Command to perform extraction.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: gzip</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>extract.cmd     gunzip</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>extract.args</term>
+
+          <term>extract.pre_args</term>
+
+          <term>extract.post_args</term>
+
+          <listitem>
+            <para>Main arguments to extract.cmd; additional arguments passed
+            before and after the main arguments.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: ${distpath}/${distfile}</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>extract.args      ${distpath}/${distfile}</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>The following argument modifiers are available:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>extract.pre_args default: "-dc"</para>
+              </listitem>
+
+              <listitem>
+                <para>extract.post_args_default: " | tar -xf"</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>extract.pre_args     xf
+extract.post_args    extract.post_args “| gnutar –x”</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Patch Phase Keywords</title>
+
+      <para>The list of keywords related to the patch phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>patch.dir</term>
+
+          <listitem>
+            <para>Specify the base path for patch files.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <varname>${worksrcpath}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>patch.dir      ${worksrcpath}/util</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>patch.cmd</term>
+
+          <listitem>
+            <para>Specify the command to be used for patching files.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <command>patch</command></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>patch.cmd      cat</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>patchfiles</term>
+
+          <term>patchfiles-append</term>
+
+          <term>patchfiles-delete</term>
+
+          <listitem>
+            <para>Specify patch files to be applied for a port; list modifiers
+            specify patchfiles to be added or removed from a previous
+            patchfile declaration.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>patchfiles     patch-Makefile.in \
+               patch-source.c</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>patchfiles-append   patch-configure
+patchfiles-append   patch-src-Makefile.in
+</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>patch.args</term>
+
+          <term>patch.pre_args</term>
+
+          <term>patch.post_args</term>
+
+          <listitem>
+            <para>Main arguments to patch.cmd; optional argument modifiers
+            pass arguments before and after the main arguments.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>patch.args   ???</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>The following argument modifiers are available:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>patch.pre_args default: -p0</para>
+              </listitem>
+
+              <listitem>
+                <para>patch.post_args_default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>patch.pre_args     -p1
+patch.post_args    ???</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Configure Phase Keywords</title>
+
+      <para>The list of keywords related to the configure phase.</para>
+
+      <para>MacPorts base sets some important default configure options, so
+      should use the -append version of most configure keywords so you don't
+      overwrite them. For example, MacPorts base sets default
+      <literal>configure.cflags</literal> so you should always use
+      <literal>configure.cflags-append</literal> to set additional CFLAGS in
+      Portfiles.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>configure.env</term>
+
+          <term>configure.env-append</term>
+
+          <term>configure.env-delete</term>
+
+          <listitem>
+            <para>Set environment variables for configure; list modifiers add
+            and delete items from a previous Portfile configure.env keyword,
+            or a default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: <literal>CFLAGS=-I${prefix}/include
+                LDFLAGS=-L${prefix}/lib</literal></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>configure.args    --bindir=${prefix}/bin</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>configure.args-append   --with-mysql5
+configure.args-delete   --without-x11</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>configure.cflags</term>
+
+          <term>configure.cflags-append</term>
+
+          <term>configure.cflags-delete</term>
+
+          <listitem>
+            <para>Set CFLAGS compiler flags; list modifiers add or delete
+            items from a previous Portfile configure.cflags keyword or the
+            default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:
+                <literal>CFLAGS=-I${prefix}/include</literal></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>configure.cflags    CFLAGS=-I${worksrcpath}/include</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>configure.cflags-append   "-I/usr/X11R6/include -I${worksrcpath}"
+configure.cflags-delete   -I${prefix}/include/db44</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>configure.ldflags</term>
+
+          <term>configure.ldflags-append</term>
+
+          <term>configure.ldflags-delete</term>
+
+          <listitem>
+            <para>Set LDFLAGS compiler flags; list modifiers add or delete
+            items from a previous Portfile configure.ldflags keyword or the
+            default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:
+                <literal>LDFLAGS=-L${prefix}/lib</literal></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>configure.ldflags    CFLAGS=-I${worksrcpath}/include</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>configure.ldflags-append   "-L/usr/X11R6/lib -L${worksrcpath}/lib"
+configure.ldflags-delete   -L${prefix}/lib/db44</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>configure.cppflags</term>
+
+          <term>configure.cppflags-append</term>
+
+          <term>configure.cppflags-delete</term>
+
+          <listitem>
+            <para>Set CPPFLAGS to be passed to the C processor; list modifiers
+            add or delete items from a previous Portfile configure.cppflags
+            keyword or the default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:
+                <literal>CPPFLAGS=-I${prefix}/include</literal></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>configure.cppflags    CPPFLAGS=-I${worksrcpath}/include</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>configure.cppflags-append   "-I/usr/X11R6/lib -I${worksrcpath}/lib"
+configure.cppflags-delete   -I${prefix}/lib/db44</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>configure.args</term>
+
+          <term>configure.pre_args</term>
+
+          <term>configure.post_args</term>
+
+          <listitem>
+            <para>Main arguments to configure.cmd; optional argument modifiers
+            pass arguments before and after the main arguments.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>configure.args    --bindir=${prefix}/bin
+</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>The following argument modifiers are available:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>configure.pre_args default: --prefix=${prefix}</para>
+              </listitem>
+
+              <listitem>
+                <para>configure.post_args_default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>configure.pre_args --prefix=${prefix}/share/bro
+configure.post_args OPT="-D__DARWIN_UNIX03"</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <refsection>
+        <title>Configure Universal</title>
+
+        <para>Universal keywords are used to make a port compile on the OS X
+        platform to run on either PPC or Intel.</para>
+
+        <note>
+          <para>There is a default universal variant made available to all
+          ports by MacPorts base, so redefining universal keywords should only
+          be done to make a given port compile if the default options fail to
+          do so.</para>
+        </note>
+
+        <variablelist>
+          <varlistentry>
+            <term>configure.universal_args</term>
+
+            <listitem>
+              <para>Arguments used in the configure script to build the port
+              universal.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: --disable-dependency-tracking</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting></programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>configure.universal_cflags</term>
+
+            <listitem>
+              <para>Arguments appended to the configure script to build the
+              port universal.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: -sysroot /Developer/SDKs/MacOSX10.4u.sdk
+                  -arch i386 -arch ppc</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting></programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>configure.universal_cppflags</term>
+
+            <listitem>
+              <para>Additional flags to put in the CPPFLAGS environment
+              variable when invoking the configure script.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: ???</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting></programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>configure.universal_cxxflags</term>
+
+            <listitem>
+              <para>Additional flags to put in the CXXFLAGS environment
+              variable when invoking the configure script.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: -isysroot /Developer/SDKs/MacOSX10.4u.sdk
+                  -arch i386 -arch ppc</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting></programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>configure.universal_ldflags</term>
+
+            <listitem>
+              <para>Additional flags to put in the LDFLAGS environment
+              variable when invoking the configure script.</para>
+
+              <itemizedlist>
+                <listitem>
+                  <para>Default: -arch i386 -arch ppc</para>
+                </listitem>
+
+                <listitem>
+                  <para>Example:</para>
+
+                  <programlisting></programlisting>
+                </listitem>
+              </itemizedlist>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+
+      <refsection>
+        <title>Automake and Autoconf</title>
+
+        <para>The list of configure keywords available for ports that need
+        automake and/or autoconf.</para>
+
+        <variablelist>
+          <varlistentry>
+            <term>use_automake</term>
+
+            <listitem>
+              <para>Whether or not to use automake; the default is
+              "no".</para>
+
+              <programlisting>use_automake      yes</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>automake.env</term>
+
+            <listitem>
+              <para>Environment variables to pass to automake.</para>
+
+              <programlisting>automake.env      CFLAGS=-I${prefix}/include</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>automake.args</term>
+
+            <listitem>
+              <para>Arguments to pass to automake.</para>
+
+              <programlisting>automake.args     --foreign</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>automake.dir</term>
+
+            <listitem>
+              <para>Directory in which to run
+              <varname>${automake.cmd}</varname>; the default is
+              <varname>${worksrcpath}</varname>.</para>
+
+              <programlisting>automake.dir      ./src</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>use_autoconf</term>
+
+            <listitem>
+              <para>Whether or not to use autoconf; the default is
+              "no".</para>
+
+              <programlisting>use_autoconf      yes</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>autoconf.env</term>
+
+            <listitem>
+              <para>Environmental variables to pass to autoconf.</para>
+
+              <programlisting>autoconf.env      CFLAGS=-I${prefix}/include/gtk12</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>autoconf.args</term>
+
+            <listitem>
+              <para>Arguments to pass to autoconf.</para>
+
+              <programlisting>autoconf.args     -l src/aclocaldir</programlisting>
+            </listitem>
+          </varlistentry>
+
+          <varlistentry>
+            <term>autoconf.dir</term>
+
+            <listitem>
+              <para>Directory in which to run
+              <varname>${autoconf.cmd}</varname>; the default is
+              <varname>${worksrcpath}</varname>.</para>
+
+              <programlisting>autoconf.dir      src</programlisting>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </refsection>
+    </refsection>
+
+    <refsection>
+      <title>Build Phase Keywords</title>
+
+      <para>The list of keywords related to the build phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>build.cmd</term>
+
+          <listitem>
+            <para>Make command to run in <varname>${worksrcdir}</varname>; the
+            default is "make".</para>
+
+            <programlisting>build.cmd      pbxbuild</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>build.type</term>
+
+          <listitem>
+            <para>Defines which "make" is required: "gnu" or "bsd". Sets
+            build.cmd to either "gnumake" or "bsdmake" accordingly.</para>
+
+            <programlisting>build.type     gnu</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>build.args</term>
+
+          <term>build.pre_args</term>
+
+          <term>build.post_args</term>
+
+          <listitem>
+            <para>Main arguments to build.cmd; optional argument modifiers
+            pass arguments before and after the main arguments.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>build.args    -DNOWARN
+
+</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>The following argument modifiers are available:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>build.pre_args default:
+                <varname>${build.target.current}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>build.post_args_default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>build.pre_args  -project AudioSlicer.xcode
+build.post_args CFLAGS_SYS="-DUSE_FREETYPE -DPREFER_FREETYPE"</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>build.target</term>
+
+          <term>build.target-append</term>
+
+          <term>build.target-delete</term>
+
+          <listitem>
+            <para>Build target to pass to ${build.cmd}; list modifiers add or
+            delete items from a previous Portfile build.target keyword or the
+            default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: all</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>build.target    all-src</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>build.target-append   doc extra
+build.target-delete   compat</programlisting>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+
+    <refsection>
+      <title>Destroot Phase Keywords</title>
+
+      <para>The list of keywords related to the destroot phase.</para>
+
+      <variablelist>
+        <varlistentry>
+          <term>destroot.cmd</term>
+
+          <listitem>
+            <para>Install command to run relative to
+            <varname>${worksrcdir}</varname>; defaults is
+            <varname>${build.cmd}</varname>.</para>
+
+            <programlisting>destroot.cmd         pbxbuild</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.type</term>
+
+          <listitem>
+            <para>Defines which "make" is required: either "gnu" or "bsd".
+            Sets install.cmd to either "gnumake" or "bsdmake"
+            accordingly.</para>
+
+            <programlisting>destroot.type        gnu</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.args</term>
+
+          <term>destroot.pre_args</term>
+
+          <term>destroot.post_args</term>
+
+          <listitem>
+            <para>Main arguments to ${destroot.cmd}; optional argument
+            modifiers pass arguments before and after the main
+            arguments.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>build.args    -DNOWARN
+</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>The following argument modifiers are available:</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>destroot.pre_args default:
+                <varname>${destroot.target}</varname></para>
+              </listitem>
+
+              <listitem>
+                <para>destroot.post_args_default: none</para>
+              </listitem>
+
+              <listitem>
+                <para>Examples:</para>
+
+                <programlisting>destroot.pre_args  -project AudioSlicer.xcode
+destroot.post_args INSTDIR=${destroot}${prefix}</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.target</term>
+
+          <term>destroot.target-append</term>
+
+          <term>destroot.target-delete</term>
+
+          <listitem>
+            <para>Install taget to pass to ${destroot.cmd}; list modifiers add
+            or delete items from a previous Portfile destroot.target keyword
+            or the default set by MacPorts base.</para>
+
+            <itemizedlist>
+              <listitem>
+                <para>Default:
+                <literal>CPPFLAGS=-I${prefix}/include</literal></para>
+              </listitem>
+
+              <listitem>
+                <para>Example:</para>
+
+                <programlisting>destroot.target    install install-config install-commandmode
+</programlisting>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+
+          <listitem>
+            <para>List modifier examples:</para>
+
+            <programlisting>destroot.target-append   install-plugins
+destroot.target-delete   install-commandmode</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.destdir</term>
+
+          <listitem>
+            <para>Arguments passed to ${destroot.cmd} to install correctly
+            into the destroot.</para>
+
+            <programlisting>destroot.destdir     prefix=${destroot}${prefix}</programlisting>
+
+            <note>
+              <para>If an application's Makefile properly supports the DESTDIR
+              variable, MacPorts will automatically destroot the port
+              properly. A port must destroot properly or the port will not
+              install correctly, upgrade, or uninstall. If not, you may need
+              to set this variable, or even patch the application's
+              Makefile.</para>
+            </note>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.keepdirs</term>
+
+          <listitem>
+            <para>A list of directories that should not be removed if empty
+            upon destroot completion.</para>
+
+            <programlisting>destroot.keepdirs \
+                ${destroot}${prefix}/var/run \
+                ${destroot}${prefix}/var/log \
+                ${destroot}${prefix}/var/cache/mrtg</programlisting>
+          </listitem>
+        </varlistentry>
+
+        <varlistentry>
+          <term>destroot.violate_mtree</term>
+
+          <listitem>
+            <para>MacPorts tests for compliance to the common directory
+            structure in ${prefix}; the default is "no". If a port is not
+            compliant with the standard, set it to "yes".</para>
+
+            <programlisting>destroot.violate_mtree    yes</programlisting>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+    </refsection>
+  </refsection>
+
+  <refsection>
+    <title>TCL EXTENSIONS</title>
+
+    <para></para>
+  </refsection>
+
+  <refsection>
+    <title>SEE ALSO</title>
+
+    <para><citerefentry>
+        <refentrytitle>port</refentrytitle>
+
+        <manvolnum>1</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>macports.conf</refentrytitle>
+
+        <manvolnum>5</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>portgroup</refentrytitle>
+
+        <manvolnum>7</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>portstyle</refentrytitle>
+
+        <manvolnum>7</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>porthier</refentrytitle>
+
+        <manvolnum>7</manvolnum>
+      </citerefentry>, <citerefentry>
+        <refentrytitle>file</refentrytitle>
+
+        <manvolnum>n</manvolnum>
+      </citerefentry></para>
+  </refsection>
+
+  <refsection>
+    <title>AUTHORS</title>
+
+    <para>Landon Fuller <email>landonf at macports.org</email></para>
+
+    <para>Juan Manuel Palacios <email>jmpp at macports.org</email></para>
+
+    <para>Mark Duling <email>markd at macports.org</email></para>
+
+    <para>Kevin Van Vechten <email>kevin at opendarwin.org</email></para>
+
+    <para>Jordan K. Hubbard <email>jkh at macports.org</email></para>
+
+    <para>Chris Ridd <email>cjr at opendarwin.org</email></para>
+
+    <para>Kevin Ballard <email>eridius at macports.org</email></para>
+
+    <para>Markus W. Weissmann <email>mww at macports.org</email></para>
+  </refsection>
+</refentry>
\ No newline at end of file

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070920/83bdce7f/attachment.html


More information about the macports-changes mailing list