[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 & 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