[31177] trunk/doc-new-test
simon at macports.org
simon at macports.org
Sat Nov 17 09:57:34 PST 2007
Revision: 31177
http://trac.macosforge.org/projects/macports/changeset/31177
Author: simon at macports.org
Date: 2007-11-17 09:57:32 -0800 (Sat, 17 Nov 2007)
Log Message:
-----------
doc-new-test: Moved man xml files into the guide section.
Added Paths:
-----------
trunk/doc-new-test/guide/xml/portfile-global.7.xml
trunk/doc-new-test/guide/xml/portfile-phase.7.xml
trunk/doc-new-test/guide/xml/portfile-startupitem.7.xml
trunk/doc-new-test/guide/xml/portfile-tcl.7.xml
Removed Paths:
-------------
trunk/doc-new-test/man/xml/portfile-global.7.xml
trunk/doc-new-test/man/xml/portfile-phase.7.xml
trunk/doc-new-test/man/xml/portfile-startupitem.7.xml
trunk/doc-new-test/man/xml/portfile-tcl.7.xml
Copied: trunk/doc-new-test/guide/xml/portfile-global.7.xml (from rev 31176, trunk/doc-new-test/man/xml/portfile-global.7.xml)
===================================================================
--- trunk/doc-new-test/guide/xml/portfile-global.7.xml (rev 0)
+++ trunk/doc-new-test/guide/xml/portfile-global.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -0,0 +1,836 @@
+<?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-GLOBAL</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>portfile-global</refname>
+
+ <refpurpose>MacPorts Portfile reference</refpurpose>
+ </refnamediv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>A reference of all available Portfile global variables and keywords.
+ 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>
+ <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 Keywords</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</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>epoch</term>
+
+ <listitem>
+ <para>Optional keyword (default is 0) that is used if the new port
+ version looks older than the previous version (for example 1.10
+ -> 1.2). Often the epoch is formatted like a date, but it can
+ simple a number like 1.</para>
+
+ <programlisting>epoch 20070924</programlisting>
+
+ <programlisting>epoch 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>
+
+ <programlisting>description A classic 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
+ prerequisites 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>
+ </listitem>
+
+ <listitem>
+ <para>Default variants may be suppressed by preceding 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>
+
+ <refsection>
+ <title>SEE ALSO</title>
+
+ <para><citerefentry>
+ <refentrytitle>portfile-phase</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-startupitem</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-tcl</refentrytitle>
+
+ <manvolnum>7</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
Copied: trunk/doc-new-test/guide/xml/portfile-phase.7.xml (from rev 31176, trunk/doc-new-test/man/xml/portfile-phase.7.xml)
===================================================================
--- trunk/doc-new-test/guide/xml/portfile-phase.7.xml (rev 0)
+++ trunk/doc-new-test/guide/xml/portfile-phase.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -0,0 +1,2053 @@
+<?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-PHASE</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>portfile-phase</refname>
+
+ <refpurpose>MacPorts Portfile reference</refpurpose>
+ </refnamediv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>A reference of all available Portfile keywords that relate to port
+ phases. 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>
+ <title>Installation Phase Keywords</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>extract.mkdir</term>
+
+ <listitem>
+ <para>This option is used to specify if the directory
+ <filename>worksrcdir</filename> is part of the distfile or if it
+ should be created automatically and the distfiles should be
+ extracted there instead. This is useful for distfiles with a flat
+ structure which would pollute the <filename>worksrcdir</filename>
+ with lots of files.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <option>no</option></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>extract.mkdir yes</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:</para>
+
+ <literallayout>extract.suffix = .tar.bz
+extract.cmd = bzip
+
+</literallayout>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <option>no</option></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:</para>
+
+ <literallayout>extract.suffix = .zip
+extract.cmd = unzip
+extract.pre_args = -q
+extract.post_args = "-d ${portpath}/${workdir}"
+
+</literallayout>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <option>no</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 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 Subversion</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>This specifies 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 tag 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 dafa161bc9c61e57636a6085c87c1fe8 \
+ sha1 5da610e1c8bc01b80abc21ab9e98e004363b429c \
+ rmd160 0c1147242adf476f5e93f4d59b553ee3ea378b23</programlisting>
+
+ <programlisting>checksums ${distname}${extract.suffix} md5 dafa161bc9c61e57636a6085c87c1fe8 \
+ sha1 5da610e1c8bc01b80abc21ab9e98e004363b429c \
+ rmd160 0c1147242adf476f5e93f4d59b553ee3ea378b23 \
+ hobbit.tar.gz md5 3b8d02c6cf6239b9bdadbc6543c5a683 \
+ sha1 27874638b23e66d39ed94fe716ca25c967f6e993 \
+ rmd160 82b9991f3bf0ceedbf74c188c5fa44b98b5e40c9</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 "| 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-delete 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. If available, it is encouraged
+ to use the predefined options (like configure.cflags) instead of
+ modifying configure.env directly</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>CFLAGS=-I${prefix}/include
+ LDFLAGS=-L${prefix}/lib</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.env QTDIR=${prefix}/lib/qt3
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>List modifier examples:</para>
+
+ <programlisting>configure.env-append ABI=32
+configure.env-delete TCLROOT=${prefix}</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>-O2</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.cflags -Os -flat_namespace
+
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>List modifier examples:</para>
+
+ <programlisting>configure.cflags-append "-undefined suppress"
+configure.cflags-delete -O2</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>-L${prefix}/lib</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.ldflags -L${worksrcpath}/zlib -lz
+
+</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>-I${prefix}/include</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.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 -DHAVE_RRD_12X"
+configure.cppflags-delete -I${prefix}/lib/db44</programlisting>
+ </listitem>
+ </varlistentry>
+
+ <!-- fortran compiler options -->
+
+ <varlistentry>
+ <term>configure.fflags</term>
+
+ <term>configure.fflags-append</term>
+
+ <term>configure.fflags-delete</term>
+
+ <listitem>
+ <para>Set FFLAGS to be passed to the Fortran compiler; list
+ modifiers add or delete items from a previous Portfile
+ configure.fflags keyword or the default set by MacPorts
+ base.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>-O2</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.fflags -Os
+
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.fcflags</term>
+
+ <term>configure.fcflags-append</term>
+
+ <term>configure.fcflags-delete</term>
+
+ <listitem>
+ <para>Set FCFLAGS to be passed to the Fortran compiler; list
+ modifiers add or delete items from a previous Portfile
+ configure.fcflags keyword or the default set by MacPorts
+ base.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>-O2</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.fcflags -Os
+
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.f90flags</term>
+
+ <term>configure.f90flags-append</term>
+
+ <term>configure.f90flags-delete</term>
+
+ <listitem>
+ <para>Set F90FLAGS to be passed to the Fortran 90 compiler; list
+ modifiers add or delete items from a previous Portfile
+ configure.f90flags keyword or the default set by MacPorts
+ base.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>-O2</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.f90flags -Os
+
+</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <!-- fortran compiler options end -->
+
+ <!-- compiler selection arguments -->
+
+ <varlistentry>
+ <term>configure.cc</term>
+
+ <listitem>
+ <para>Set CC compiler flags for selecting a C compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.cc ${prefix}/bin/gcc-mp-4.2</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.cpp</term>
+
+ <listitem>
+ <para>Set CPP compiler flags for selecting a C
+ preprocessor;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.cpp /usr/bin/cpp-3.3</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.cxx</term>
+
+ <listitem>
+ <para>Set CXX compiler flags for selecting a C++ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.cpp /usr/bin/g++-4.0</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.objc</term>
+
+ <listitem>
+ <para>Set OBJC compiler flags for selecting an Objective-C
+ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.objc /usr/bin/gcc-4.0</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.fc</term>
+
+ <listitem>
+ <para>Set FC compiler flags for selecting a Fortran
+ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.fc ${prefix}/bin/gfortran-mp-4.2</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.f77</term>
+
+ <listitem>
+ <para>Set F77 compiler flags for selecting a Fortran 77
+ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.f77 ${prefix}/bin/gfortran-mp-4.2</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.f90</term>
+
+ <listitem>
+ <para>Set F90 compiler flags for selecting a Fortran 90
+ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.f90 ${prefix}/bin/gfortran-mp-4.2</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.javac</term>
+
+ <listitem>
+ <para>Set JAVAC compiler flags for selecting a Java
+ compiler;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.javac ${prefix}/bin/jikes</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.compiler</term>
+
+ <listitem>
+ <para>Select a compiler suite to fill the compiler environment
+ variables. All variables/tools a compiler suite can provide are
+ set. Manually set variables are not overwritten. Dependencies are
+ not added for you, as they may be just build- or also
+ run-dependencies. Keep in mind that not all compiler suites might
+ be available on your platform.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>gcc-3.3</literal>Mac OS X 10.3</para>
+
+ <para>Default: <literal>gcc-4.0</literal>Mac OS X 10.4,
+ 10.5</para>
+ </listitem>
+
+ <listitem>
+ <para>Options:</para>
+
+ <programlisting>gcc-3.3 gcc-4.0 apple-gcc-3.3 apple-gcc-4.0 macports-gcc-3.3 macports-gcc-3.4 macports-gcc-4.0 macports-gcc-4.1 macports-gcc-4.2 macports-gcc-4.3</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.compiler macports-gcc-4.2</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <!-- compiler selection arguments end -->
+
+ <!-- interpreter selection arguments -->
+
+ <varlistentry>
+ <term>configure.perl</term>
+
+ <listitem>
+ <para>Set PERL flag for selecting a Perl interpreter;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.perl ${prefix}/bin/perl5.8</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.python</term>
+
+ <listitem>
+ <para>Set PYTHON flag for selecting a Python interpreter;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.python ${prefix}/bin/python3.0</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.ruby</term>
+
+ <listitem>
+ <para>Set RUBY flag for selecting a Ruby interpreter;</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.ruby ${prefix}/bin/ruby</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <!-- interpreter selection arguments end -->
+
+ <!-- other tools selection arguments -->
+
+ <varlistentry>
+ <term>configure.install</term>
+
+ <listitem>
+ <para>Set INSTALL flag for selecting an install tool; used for
+ copying files and creating directories</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal>/usr/bin/install</literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.install ${prefix}/bin/ginstall</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.awk</term>
+
+ <listitem>
+ <para>Set AWK flag for selecting an awk executable</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.awk ${prefix}/bin/gawk</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.bison</term>
+
+ <listitem>
+ <para>Set BISON flag for selecting a bison executable, a parser
+ generator</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.bison /usr/bin/bison</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.pkg_config</term>
+
+ <listitem>
+ <para>Set PKG_CONFIG flag for helping find pkg_config, a tool for
+ retrieving information about installed libraries.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.pkg_config ${prefix}/bin/pkg-config</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>configure.pkg_config_path</term>
+
+ <listitem>
+ <para>Set PKG_CONFIG_PATH flag for telling pkg_config where to
+ search for information about installed libraries.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <literal></literal></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>configure.pkg_config_path ${prefix}/lib/pkgconfig:${x11prefix}/lib/pkgconfig</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+
+ <!-- other tools selection arguments end -->
+
+ <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>
+
+ <varlistentry>
+ <term>use_parallel_build</term>
+
+ <listitem>
+ <para>This keyword is for specifying whether or not it is safe for
+ a port to use multiple cpus or multiple cores in parallel during
+ its build phase. If a port is declared to be builadble this way,
+ the option <option>-j N</option> may be passed to the
+ <command>make</command> command if parallel builds are enabled
+ system-wide. This can be obtained by setting
+ <varname>buildmakejobs</varname> in
+ <filename>macports.conf</filename>. The integer <option>N</option>
+ refers to the number of parallel build threads.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Default: <option>no</option></para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>use_parallel_build yes</programlisting>
+ </listitem>
+ </itemizedlist>
+ </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>; default 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>destroot.args BINDIR=${prefix}/bin
+
+</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 target 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>install</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>SEE ALSO</title>
+
+ <para><citerefentry>
+ <refentrytitle>portfile-global</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-startupitem</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-tcl</refentrytitle>
+
+ <manvolnum>7</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>
Copied: trunk/doc-new-test/guide/xml/portfile-startupitem.7.xml (from rev 31176, trunk/doc-new-test/man/xml/portfile-startupitem.7.xml)
===================================================================
--- trunk/doc-new-test/guide/xml/portfile-startupitem.7.xml (rev 0)
+++ trunk/doc-new-test/guide/xml/portfile-startupitem.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -0,0 +1,582 @@
+<?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-STARTUPITEM</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>portfile-startupitem</refname>
+
+ <refpurpose>MacPorts Portfile reference</refpurpose>
+ </refnamediv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>A complete reference of all available Portfile StartupItem keywords.
+ 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>
+ <refsection>
+ <title>StartupItems</title>
+
+ <para>A StartupItem is a MacPort facility to run "daemons," a Unix term
+ for programs that run continuously in the background, rather than under
+ the direct control of a user; for example, mail servers, network
+ listeners, etc. Ports that use StartupItem keywords create Mac OS X
+ scripts for <ulink
+ url="http://developer.apple.com/macosx/launchd.html">launchd</ulink>,
+ which is the Apple facility introduced with OS X 10.4 to replace xinetd
+ for starting and managing daemons. To support
+ <command>launchd</command>, a program named <command>daemondo</command>
+ is provided by MacPorts base that serves as an adapter between OS X's
+ <command>launchd</command> and daemons (<quote>executable</quote>
+ StartupItems) or traditional Unix startup scripts that start daemons
+ (<quote>script</quote> StartupItems).</para>
+
+ <para>There are three categories of StartupItem keywords. Those that
+ trigger StartupItem creation and logging, those that specify attributes
+ of <quote>executable</quote> StartupItems, and those that specify
+ attributes of <quote>script</quote> StartupItems.</para>
+
+ <note>
+ <para>The variable <varname>startupitem_type</varname> in
+ ${prefix}/etc/macports/macports.conf may be set to
+ <option>none</option> to globally override all StartupItem keywords
+ found in Portfiles; this prevents StartupItems from being
+ created.</para>
+ </note>
+
+ <refsection>
+ <title>StartupItem Attributes</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>
+
+ <varlistentry>
+ <term>startupitem.netchange</term>
+
+ <listitem>
+ <para>Cause the daemon to be restarted when a change in network
+ state is detected.</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.netchange yes</programlisting>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+
+ <refsection>
+ <title>Executable StartupItems</title>
+
+ <para>Daemons run continuously, so monitoring the health of daemon
+ processes and restarting them if they die is an important
+ StartupItems' feature. <quote>Executable</quote> StartupItems are
+ preferred over <quote>script</quote> StartupItems because
+ <command>daemondo</command> launches the daemon
+ <emphasis>directly</emphasis>, rather than
+ <emphasis>indirectly</emphasis> via a script, and therefore it
+ automatically knows how to monitor a daemon process and restart it if
+ it dies. Daemons used with <quote>executable</quote> StartupItems may
+ be programs or scripts (shell, perl, python, etc.), but when a script
+ the script <emphasis>itself</emphasis> must be the daemon, rather than
+ a script that launches a daemon. <quote>Script</quote> StartupItems
+ are to be used for the latter.</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/daemon</replaceable>
+ [<replaceable>args</replaceable>]</para>
+ </listitem>
+
+ <listitem>
+ <para>Example:</para>
+
+ <programlisting>startupitem.executable ${prefix}/sbin/vm-pop3d -d 10 -t 600</programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>Do not to wrap the value in quotes if passing arguments
+ to the daemon; unlike with<quote>script</quote> StartupItem
+ values, executable StartupItem value elements must be tagged
+ separately as shown in this example .plist file
+ snippet.</para>
+
+ <programlisting><key>ProgramArguments</key>
+ <array>
+ <string>/opt/local/bin/daemondo</string>
+ <string>--label=vm-pop3d</string>
+ <string>--start-cmd</string>
+ <string>/opt/local/sbin/vm-pop3d</string>
+ <string>-d</string>
+ <string>10</string>
+ <string>-t</string>
+ <string>600</string>
+ <string>;</string>
+ </array></programlisting>
+ </note>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+
+ <refsection>
+ <title>Script StartupItems</title>
+
+ <para>StartupItems of type <quote>script</quote> use
+ <command>daemondo</command> to launch a daemon
+ <emphasis>indirectly</emphasis> via a startup script. A typical
+ snippet of a startup script that may be used with a
+ <quote>script</quote> StartupItem is shown below. Notice that the
+ script is not a daemon; rather the script indirectly launches the
+ vm-pop3d daemon.</para>
+
+ <programlisting>#!/bin/sh
+#
+case "$1" in
+ start)
+ echo -n "Starting vm-pop3d: "
+ /opt/local/sbin/vm-pop3d -d 10 -t 600
+
+
+[... trimmed ...]</programlisting>
+
+ <para>But if a script itself is a daemon, use the
+ <quote>executable</quote> StartupItem type since that way it will be
+ launched directly and its health tracked automatically. When using
+ <quote>script</quote> StartupItems, the
+ <code>startupitem.pidfile</code> keyword must be used if you want
+ <command>daemondo</command> to monitor a daemon process 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.stop "${prefix}/share/mysql/mysql.server stop"
+startupitem.restart "${prefix}/share/mysql/mysql.server restart"</programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>Wrap the stop, start, and restart values in quotes so
+ they will be placed in the wrapper as a single command.</para>
+ </note>
+ </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 "BIN=${prefix}/sbin/bacula-fd"</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>Default: [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>PID file handling options:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><option>none</option> - daemondo will not create or
+ track a PID file, so it won't know when a daemon
+ dies.</para>
+ </listitem>
+
+ <listitem>
+ <para><option>auto</option> - The started process is
+ expected to create a PID file that contains the PID of the
+ running daemon; daemondo then reads the PID from the file
+ and tracks the process. The started process must delete the
+ PID file if this is necessary.</para>
+ </listitem>
+
+ <listitem>
+ <para><option>clean</option> - The started process is
+ expected to create a PID file that contains the PID of the
+ running daemon; daemondo then reads the PID from the file
+ and tracks the process, and deletes the PID file if it
+ detects the daemon has died.</para>
+ </listitem>
+
+ <listitem>
+ <para><option>manual</option> - This option should only be
+ used if an <quote>executable</quote> StartupItem could be
+ used (daemondo launches a daemon directly)
+ <emphasis>and</emphasis> a port author wants a PID file
+ written for some special use. A PID file is not needed to
+ detect process death for daemons launched directly by
+ daemondo. As with executale StartupItems, daemondo remembers
+ the PID of the launched process and tracks it
+ automatically.</para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsection>
+
+ <refsection>
+ <title>Loading / Unloading StartupItems into launchd</title>
+
+ <para>A port with a StartupItem places a link to a .plist file for the
+ port's daemon within <filename>/Library/LaunchDaemons/</filename>. A
+ .plist file is an XML file; MacPorts installs .plist files tagged as
+ <quote>disabled</quote> for the sake of security. You may enable a
+ startup script (tag the.plist file as <quote>enabled</quote>) and load
+ it into <command>launchd</command> with a single command as
+ shown.</para>
+
+ <programlisting><prompt>%%</prompt> <userinput>sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist</userinput></programlisting>
+
+ <para>You may stop a running startup script, disable it (tag the.plist
+ file as <quote>disabled</quote>), and unload it from
+ <command>launchd</command> with a single command as shown.</para>
+
+ <programlisting><prompt>%%</prompt> <userinput>sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist</userinput></programlisting>
+ </refsection>
+
+ <refsection>
+ <title>StartupItem Internals</title>
+
+ <para>During port installation a MacPorts StartupItem creates a .plist
+ file in <filename>${prefix}/etc/LaunchDaemons/</filename>, and places
+ a symbolic link to the .plist file within
+ <filename>/Library/LaunchDaemons/</filename>.</para>
+
+ <para>For example, the StartupItem for the mysql5 port is
+ <filename>org.macports.mysql5.plist</filename>, and it is linked as
+ shown.</para>
+
+ <programlisting><prompt>%%</prompt> <userinput>ls -l /Library/LaunchDaemons</userinput></programlisting>
+
+ <screen>org.macports.mysql5.plist ->
+ /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist</screen>
+
+ <para>For <quote>script</quote> StartupItems, in addition to a .plist
+ file, a wrapper is also created.<programlisting><prompt>%%</prompt> <userinput>ls -l /opt/local/etc/LaunchDaemons/org.macports.mysql5/</userinput></programlisting><screen>-rwxr-xr-x 2 root wheel 475 Aug 2 14:16 mysql5.wrapper
+-rw-r--r-- 2 root wheel 975 Aug 2 14:16 org.macports.mysql5.plist</screen>The
+ wrapper manipulates the script as specified in the startupitem.start
+ and startupitem.stop keywords. An example wrapper script snippet is
+ shown below.</para>
+
+ <programlisting>#!/bin/sh
+#
+# MacPorts generated daemondo support script
+
+# Start
+Start()
+{
+ /opt/local/share/mysql5/mysql/mysql.server start
+}
+
+# Stop
+Stop()
+{
+ /opt/local/share/mysql5/mysql/mysql.server stop
+}
+
+[... trimmed ...]</programlisting>
+ </refsection>
+ </refsection>
+ </refsection>
+
+ <refsection>
+ <title>SEE ALSO</title>
+
+ <para><citerefentry>
+ <refentrytitle>portfile-global</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-phase</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-tcl</refentrytitle>
+
+ <manvolnum>7</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
Copied: trunk/doc-new-test/guide/xml/portfile-tcl.7.xml (from rev 31176, trunk/doc-new-test/man/xml/portfile-tcl.7.xml)
===================================================================
--- trunk/doc-new-test/guide/xml/portfile-tcl.7.xml (rev 0)
+++ trunk/doc-new-test/guide/xml/portfile-tcl.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -0,0 +1,74 @@
+<?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-TCL</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>portfile-tcl</refname>
+
+ <refpurpose>MacPorts Portfile reference</refpurpose>
+ </refnamediv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>A complete reference of all available Portfile Tcl extensions.
+ 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>
+ <title>TCL EXTENSIONS</title>
+
+ <para></para>
+ </refsection>
+
+ <refsection>
+ <title>SEE ALSO</title>
+
+ <para><citerefentry>
+ <refentrytitle>portfile-global</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-phase</refentrytitle>
+
+ <manvolnum>7</manvolnum>
+ </citerefentry>, <citerefentry>
+ <refentrytitle>portfile-startupitem</refentrytitle>
+
+ <manvolnum>7</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
Deleted: trunk/doc-new-test/man/xml/portfile-global.7.xml
===================================================================
--- trunk/doc-new-test/man/xml/portfile-global.7.xml 2007-11-17 17:49:25 UTC (rev 31176)
+++ trunk/doc-new-test/man/xml/portfile-global.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -1,836 +0,0 @@
-<?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-GLOBAL</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>portfile-global</refname>
-
- <refpurpose>MacPorts Portfile reference</refpurpose>
- </refnamediv>
-
- <refsection>
- <title>Description</title>
-
- <para>A reference of all available Portfile global variables and keywords.
- 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>
- <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 Keywords</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</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>epoch</term>
-
- <listitem>
- <para>Optional keyword (default is 0) that is used if the new port
- version looks older than the previous version (for example 1.10
- -> 1.2). Often the epoch is formatted like a date, but it can
- simple a number like 1.</para>
-
- <programlisting>epoch 20070924</programlisting>
-
- <programlisting>epoch 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>
-
- <programlisting>description A classic 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
- prerequisites 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>
- </listitem>
-
- <listitem>
- <para>Default variants may be suppressed by preceding 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>
-
- <refsection>
- <title>SEE ALSO</title>
-
- <para><citerefentry>
- <refentrytitle>portfile-phase</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-startupitem</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-tcl</refentrytitle>
-
- <manvolnum>7</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
Deleted: trunk/doc-new-test/man/xml/portfile-phase.7.xml
===================================================================
--- trunk/doc-new-test/man/xml/portfile-phase.7.xml 2007-11-17 17:49:25 UTC (rev 31176)
+++ trunk/doc-new-test/man/xml/portfile-phase.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -1,2053 +0,0 @@
-<?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-PHASE</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>portfile-phase</refname>
-
- <refpurpose>MacPorts Portfile reference</refpurpose>
- </refnamediv>
-
- <refsection>
- <title>Description</title>
-
- <para>A reference of all available Portfile keywords that relate to port
- phases. 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>
- <title>Installation Phase Keywords</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>extract.mkdir</term>
-
- <listitem>
- <para>This option is used to specify if the directory
- <filename>worksrcdir</filename> is part of the distfile or if it
- should be created automatically and the distfiles should be
- extracted there instead. This is useful for distfiles with a flat
- structure which would pollute the <filename>worksrcdir</filename>
- with lots of files.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <option>no</option></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>extract.mkdir yes</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:</para>
-
- <literallayout>extract.suffix = .tar.bz
-extract.cmd = bzip
-
-</literallayout>
-
- <itemizedlist>
- <listitem>
- <para>Default: <option>no</option></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:</para>
-
- <literallayout>extract.suffix = .zip
-extract.cmd = unzip
-extract.pre_args = -q
-extract.post_args = "-d ${portpath}/${workdir}"
-
-</literallayout>
-
- <itemizedlist>
- <listitem>
- <para>Default: <option>no</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 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 Subversion</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>This specifies 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 tag 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 dafa161bc9c61e57636a6085c87c1fe8 \
- sha1 5da610e1c8bc01b80abc21ab9e98e004363b429c \
- rmd160 0c1147242adf476f5e93f4d59b553ee3ea378b23</programlisting>
-
- <programlisting>checksums ${distname}${extract.suffix} md5 dafa161bc9c61e57636a6085c87c1fe8 \
- sha1 5da610e1c8bc01b80abc21ab9e98e004363b429c \
- rmd160 0c1147242adf476f5e93f4d59b553ee3ea378b23 \
- hobbit.tar.gz md5 3b8d02c6cf6239b9bdadbc6543c5a683 \
- sha1 27874638b23e66d39ed94fe716ca25c967f6e993 \
- rmd160 82b9991f3bf0ceedbf74c188c5fa44b98b5e40c9</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 "| 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-delete 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. If available, it is encouraged
- to use the predefined options (like configure.cflags) instead of
- modifying configure.env directly</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>CFLAGS=-I${prefix}/include
- LDFLAGS=-L${prefix}/lib</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.env QTDIR=${prefix}/lib/qt3
-</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>List modifier examples:</para>
-
- <programlisting>configure.env-append ABI=32
-configure.env-delete TCLROOT=${prefix}</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>-O2</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.cflags -Os -flat_namespace
-
-</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>List modifier examples:</para>
-
- <programlisting>configure.cflags-append "-undefined suppress"
-configure.cflags-delete -O2</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>-L${prefix}/lib</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.ldflags -L${worksrcpath}/zlib -lz
-
-</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>-I${prefix}/include</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.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 -DHAVE_RRD_12X"
-configure.cppflags-delete -I${prefix}/lib/db44</programlisting>
- </listitem>
- </varlistentry>
-
- <!-- fortran compiler options -->
-
- <varlistentry>
- <term>configure.fflags</term>
-
- <term>configure.fflags-append</term>
-
- <term>configure.fflags-delete</term>
-
- <listitem>
- <para>Set FFLAGS to be passed to the Fortran compiler; list
- modifiers add or delete items from a previous Portfile
- configure.fflags keyword or the default set by MacPorts
- base.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>-O2</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.fflags -Os
-
-</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.fcflags</term>
-
- <term>configure.fcflags-append</term>
-
- <term>configure.fcflags-delete</term>
-
- <listitem>
- <para>Set FCFLAGS to be passed to the Fortran compiler; list
- modifiers add or delete items from a previous Portfile
- configure.fcflags keyword or the default set by MacPorts
- base.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>-O2</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.fcflags -Os
-
-</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.f90flags</term>
-
- <term>configure.f90flags-append</term>
-
- <term>configure.f90flags-delete</term>
-
- <listitem>
- <para>Set F90FLAGS to be passed to the Fortran 90 compiler; list
- modifiers add or delete items from a previous Portfile
- configure.f90flags keyword or the default set by MacPorts
- base.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>-O2</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.f90flags -Os
-
-</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <!-- fortran compiler options end -->
-
- <!-- compiler selection arguments -->
-
- <varlistentry>
- <term>configure.cc</term>
-
- <listitem>
- <para>Set CC compiler flags for selecting a C compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.cc ${prefix}/bin/gcc-mp-4.2</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.cpp</term>
-
- <listitem>
- <para>Set CPP compiler flags for selecting a C
- preprocessor;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.cpp /usr/bin/cpp-3.3</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.cxx</term>
-
- <listitem>
- <para>Set CXX compiler flags for selecting a C++ compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.cpp /usr/bin/g++-4.0</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.objc</term>
-
- <listitem>
- <para>Set OBJC compiler flags for selecting an Objective-C
- compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.objc /usr/bin/gcc-4.0</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.fc</term>
-
- <listitem>
- <para>Set FC compiler flags for selecting a Fortran
- compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.fc ${prefix}/bin/gfortran-mp-4.2</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.f77</term>
-
- <listitem>
- <para>Set F77 compiler flags for selecting a Fortran 77
- compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.f77 ${prefix}/bin/gfortran-mp-4.2</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.f90</term>
-
- <listitem>
- <para>Set F90 compiler flags for selecting a Fortran 90
- compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.f90 ${prefix}/bin/gfortran-mp-4.2</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.javac</term>
-
- <listitem>
- <para>Set JAVAC compiler flags for selecting a Java
- compiler;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.javac ${prefix}/bin/jikes</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.compiler</term>
-
- <listitem>
- <para>Select a compiler suite to fill the compiler environment
- variables. All variables/tools a compiler suite can provide are
- set. Manually set variables are not overwritten. Dependencies are
- not added for you, as they may be just build- or also
- run-dependencies. Keep in mind that not all compiler suites might
- be available on your platform.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>gcc-3.3</literal>Mac OS X 10.3</para>
-
- <para>Default: <literal>gcc-4.0</literal>Mac OS X 10.4,
- 10.5</para>
- </listitem>
-
- <listitem>
- <para>Options:</para>
-
- <programlisting>gcc-3.3 gcc-4.0 apple-gcc-3.3 apple-gcc-4.0 macports-gcc-3.3 macports-gcc-3.4 macports-gcc-4.0 macports-gcc-4.1 macports-gcc-4.2 macports-gcc-4.3</programlisting>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.compiler macports-gcc-4.2</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <!-- compiler selection arguments end -->
-
- <!-- interpreter selection arguments -->
-
- <varlistentry>
- <term>configure.perl</term>
-
- <listitem>
- <para>Set PERL flag for selecting a Perl interpreter;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.perl ${prefix}/bin/perl5.8</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.python</term>
-
- <listitem>
- <para>Set PYTHON flag for selecting a Python interpreter;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.python ${prefix}/bin/python3.0</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.ruby</term>
-
- <listitem>
- <para>Set RUBY flag for selecting a Ruby interpreter;</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.ruby ${prefix}/bin/ruby</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <!-- interpreter selection arguments end -->
-
- <!-- other tools selection arguments -->
-
- <varlistentry>
- <term>configure.install</term>
-
- <listitem>
- <para>Set INSTALL flag for selecting an install tool; used for
- copying files and creating directories</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal>/usr/bin/install</literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.install ${prefix}/bin/ginstall</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.awk</term>
-
- <listitem>
- <para>Set AWK flag for selecting an awk executable</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.awk ${prefix}/bin/gawk</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.bison</term>
-
- <listitem>
- <para>Set BISON flag for selecting a bison executable, a parser
- generator</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.bison /usr/bin/bison</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.pkg_config</term>
-
- <listitem>
- <para>Set PKG_CONFIG flag for helping find pkg_config, a tool for
- retrieving information about installed libraries.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.pkg_config ${prefix}/bin/pkg-config</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>configure.pkg_config_path</term>
-
- <listitem>
- <para>Set PKG_CONFIG_PATH flag for telling pkg_config where to
- search for information about installed libraries.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <literal></literal></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>configure.pkg_config_path ${prefix}/lib/pkgconfig:${x11prefix}/lib/pkgconfig</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
-
- <!-- other tools selection arguments end -->
-
- <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>
-
- <varlistentry>
- <term>use_parallel_build</term>
-
- <listitem>
- <para>This keyword is for specifying whether or not it is safe for
- a port to use multiple cpus or multiple cores in parallel during
- its build phase. If a port is declared to be builadble this way,
- the option <option>-j N</option> may be passed to the
- <command>make</command> command if parallel builds are enabled
- system-wide. This can be obtained by setting
- <varname>buildmakejobs</varname> in
- <filename>macports.conf</filename>. The integer <option>N</option>
- refers to the number of parallel build threads.</para>
-
- <itemizedlist>
- <listitem>
- <para>Default: <option>no</option></para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>use_parallel_build yes</programlisting>
- </listitem>
- </itemizedlist>
- </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>; default 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>destroot.args BINDIR=${prefix}/bin
-
-</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 target 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>install</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>SEE ALSO</title>
-
- <para><citerefentry>
- <refentrytitle>portfile-global</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-startupitem</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-tcl</refentrytitle>
-
- <manvolnum>7</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>
Deleted: trunk/doc-new-test/man/xml/portfile-startupitem.7.xml
===================================================================
--- trunk/doc-new-test/man/xml/portfile-startupitem.7.xml 2007-11-17 17:49:25 UTC (rev 31176)
+++ trunk/doc-new-test/man/xml/portfile-startupitem.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -1,582 +0,0 @@
-<?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-STARTUPITEM</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>portfile-startupitem</refname>
-
- <refpurpose>MacPorts Portfile reference</refpurpose>
- </refnamediv>
-
- <refsection>
- <title>Description</title>
-
- <para>A complete reference of all available Portfile StartupItem keywords.
- 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>
- <refsection>
- <title>StartupItems</title>
-
- <para>A StartupItem is a MacPort facility to run "daemons," a Unix term
- for programs that run continuously in the background, rather than under
- the direct control of a user; for example, mail servers, network
- listeners, etc. Ports that use StartupItem keywords create Mac OS X
- scripts for <ulink
- url="http://developer.apple.com/macosx/launchd.html">launchd</ulink>,
- which is the Apple facility introduced with OS X 10.4 to replace xinetd
- for starting and managing daemons. To support
- <command>launchd</command>, a program named <command>daemondo</command>
- is provided by MacPorts base that serves as an adapter between OS X's
- <command>launchd</command> and daemons (<quote>executable</quote>
- StartupItems) or traditional Unix startup scripts that start daemons
- (<quote>script</quote> StartupItems).</para>
-
- <para>There are three categories of StartupItem keywords. Those that
- trigger StartupItem creation and logging, those that specify attributes
- of <quote>executable</quote> StartupItems, and those that specify
- attributes of <quote>script</quote> StartupItems.</para>
-
- <note>
- <para>The variable <varname>startupitem_type</varname> in
- ${prefix}/etc/macports/macports.conf may be set to
- <option>none</option> to globally override all StartupItem keywords
- found in Portfiles; this prevents StartupItems from being
- created.</para>
- </note>
-
- <refsection>
- <title>StartupItem Attributes</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>
-
- <varlistentry>
- <term>startupitem.netchange</term>
-
- <listitem>
- <para>Cause the daemon to be restarted when a change in network
- state is detected.</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.netchange yes</programlisting>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsection>
-
- <refsection>
- <title>Executable StartupItems</title>
-
- <para>Daemons run continuously, so monitoring the health of daemon
- processes and restarting them if they die is an important
- StartupItems' feature. <quote>Executable</quote> StartupItems are
- preferred over <quote>script</quote> StartupItems because
- <command>daemondo</command> launches the daemon
- <emphasis>directly</emphasis>, rather than
- <emphasis>indirectly</emphasis> via a script, and therefore it
- automatically knows how to monitor a daemon process and restart it if
- it dies. Daemons used with <quote>executable</quote> StartupItems may
- be programs or scripts (shell, perl, python, etc.), but when a script
- the script <emphasis>itself</emphasis> must be the daemon, rather than
- a script that launches a daemon. <quote>Script</quote> StartupItems
- are to be used for the latter.</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/daemon</replaceable>
- [<replaceable>args</replaceable>]</para>
- </listitem>
-
- <listitem>
- <para>Example:</para>
-
- <programlisting>startupitem.executable ${prefix}/sbin/vm-pop3d -d 10 -t 600</programlisting>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Do not to wrap the value in quotes if passing arguments
- to the daemon; unlike with<quote>script</quote> StartupItem
- values, executable StartupItem value elements must be tagged
- separately as shown in this example .plist file
- snippet.</para>
-
- <programlisting><key>ProgramArguments</key>
- <array>
- <string>/opt/local/bin/daemondo</string>
- <string>--label=vm-pop3d</string>
- <string>--start-cmd</string>
- <string>/opt/local/sbin/vm-pop3d</string>
- <string>-d</string>
- <string>10</string>
- <string>-t</string>
- <string>600</string>
- <string>;</string>
- </array></programlisting>
- </note>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsection>
-
- <refsection>
- <title>Script StartupItems</title>
-
- <para>StartupItems of type <quote>script</quote> use
- <command>daemondo</command> to launch a daemon
- <emphasis>indirectly</emphasis> via a startup script. A typical
- snippet of a startup script that may be used with a
- <quote>script</quote> StartupItem is shown below. Notice that the
- script is not a daemon; rather the script indirectly launches the
- vm-pop3d daemon.</para>
-
- <programlisting>#!/bin/sh
-#
-case "$1" in
- start)
- echo -n "Starting vm-pop3d: "
- /opt/local/sbin/vm-pop3d -d 10 -t 600
-
-
-[... trimmed ...]</programlisting>
-
- <para>But if a script itself is a daemon, use the
- <quote>executable</quote> StartupItem type since that way it will be
- launched directly and its health tracked automatically. When using
- <quote>script</quote> StartupItems, the
- <code>startupitem.pidfile</code> keyword must be used if you want
- <command>daemondo</command> to monitor a daemon process 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.stop "${prefix}/share/mysql/mysql.server stop"
-startupitem.restart "${prefix}/share/mysql/mysql.server restart"</programlisting>
- </listitem>
- </itemizedlist>
-
- <note>
- <para>Wrap the stop, start, and restart values in quotes so
- they will be placed in the wrapper as a single command.</para>
- </note>
- </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 "BIN=${prefix}/sbin/bacula-fd"</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>Default: [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>PID file handling options:</para>
-
- <itemizedlist>
- <listitem>
- <para><option>none</option> - daemondo will not create or
- track a PID file, so it won't know when a daemon
- dies.</para>
- </listitem>
-
- <listitem>
- <para><option>auto</option> - The started process is
- expected to create a PID file that contains the PID of the
- running daemon; daemondo then reads the PID from the file
- and tracks the process. The started process must delete the
- PID file if this is necessary.</para>
- </listitem>
-
- <listitem>
- <para><option>clean</option> - The started process is
- expected to create a PID file that contains the PID of the
- running daemon; daemondo then reads the PID from the file
- and tracks the process, and deletes the PID file if it
- detects the daemon has died.</para>
- </listitem>
-
- <listitem>
- <para><option>manual</option> - This option should only be
- used if an <quote>executable</quote> StartupItem could be
- used (daemondo launches a daemon directly)
- <emphasis>and</emphasis> a port author wants a PID file
- written for some special use. A PID file is not needed to
- detect process death for daemons launched directly by
- daemondo. As with executale StartupItems, daemondo remembers
- the PID of the launched process and tracks it
- automatically.</para>
- </listitem>
- </itemizedlist>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsection>
-
- <refsection>
- <title>Loading / Unloading StartupItems into launchd</title>
-
- <para>A port with a StartupItem places a link to a .plist file for the
- port's daemon within <filename>/Library/LaunchDaemons/</filename>. A
- .plist file is an XML file; MacPorts installs .plist files tagged as
- <quote>disabled</quote> for the sake of security. You may enable a
- startup script (tag the.plist file as <quote>enabled</quote>) and load
- it into <command>launchd</command> with a single command as
- shown.</para>
-
- <programlisting><prompt>%%</prompt> <userinput>sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist</userinput></programlisting>
-
- <para>You may stop a running startup script, disable it (tag the.plist
- file as <quote>disabled</quote>), and unload it from
- <command>launchd</command> with a single command as shown.</para>
-
- <programlisting><prompt>%%</prompt> <userinput>sudo launchctl unload -w /Library/LaunchDaemons/org.macports.mysql5.plist</userinput></programlisting>
- </refsection>
-
- <refsection>
- <title>StartupItem Internals</title>
-
- <para>During port installation a MacPorts StartupItem creates a .plist
- file in <filename>${prefix}/etc/LaunchDaemons/</filename>, and places
- a symbolic link to the .plist file within
- <filename>/Library/LaunchDaemons/</filename>.</para>
-
- <para>For example, the StartupItem for the mysql5 port is
- <filename>org.macports.mysql5.plist</filename>, and it is linked as
- shown.</para>
-
- <programlisting><prompt>%%</prompt> <userinput>ls -l /Library/LaunchDaemons</userinput></programlisting>
-
- <screen>org.macports.mysql5.plist ->
- /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist</screen>
-
- <para>For <quote>script</quote> StartupItems, in addition to a .plist
- file, a wrapper is also created.<programlisting><prompt>%%</prompt> <userinput>ls -l /opt/local/etc/LaunchDaemons/org.macports.mysql5/</userinput></programlisting><screen>-rwxr-xr-x 2 root wheel 475 Aug 2 14:16 mysql5.wrapper
--rw-r--r-- 2 root wheel 975 Aug 2 14:16 org.macports.mysql5.plist</screen>The
- wrapper manipulates the script as specified in the startupitem.start
- and startupitem.stop keywords. An example wrapper script snippet is
- shown below.</para>
-
- <programlisting>#!/bin/sh
-#
-# MacPorts generated daemondo support script
-
-# Start
-Start()
-{
- /opt/local/share/mysql5/mysql/mysql.server start
-}
-
-# Stop
-Stop()
-{
- /opt/local/share/mysql5/mysql/mysql.server stop
-}
-
-[... trimmed ...]</programlisting>
- </refsection>
- </refsection>
- </refsection>
-
- <refsection>
- <title>SEE ALSO</title>
-
- <para><citerefentry>
- <refentrytitle>portfile-global</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-phase</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-tcl</refentrytitle>
-
- <manvolnum>7</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
Deleted: trunk/doc-new-test/man/xml/portfile-tcl.7.xml
===================================================================
--- trunk/doc-new-test/man/xml/portfile-tcl.7.xml 2007-11-17 17:49:25 UTC (rev 31176)
+++ trunk/doc-new-test/man/xml/portfile-tcl.7.xml 2007-11-17 17:57:32 UTC (rev 31177)
@@ -1,74 +0,0 @@
-<?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-TCL</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>portfile-tcl</refname>
-
- <refpurpose>MacPorts Portfile reference</refpurpose>
- </refnamediv>
-
- <refsection>
- <title>Description</title>
-
- <para>A complete reference of all available Portfile Tcl extensions.
- 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>
- <title>TCL EXTENSIONS</title>
-
- <para></para>
- </refsection>
-
- <refsection>
- <title>SEE ALSO</title>
-
- <para><citerefentry>
- <refentrytitle>portfile-global</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-phase</refentrytitle>
-
- <manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>portfile-startupitem</refentrytitle>
-
- <manvolnum>7</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/20071117/8bd0f482/attachment-0001.html
More information about the macports-changes
mailing list