<pre style='margin:0'>
Mojca Miklavec (mojca) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/7e0d71896b2f02181ff0e38f48d6732f2a020d76">https://github.com/macports/macports-base/commit/7e0d71896b2f02181ff0e38f48d6732f2a020d76</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 7e0d718  Portfile.7: Output formatting, mdoc syntax cleanup.
</span>7e0d718 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 7e0d71896b2f02181ff0e38f48d6732f2a020d76
</span>Author: Werner Lemberg <wl@gnu.org>
AuthorDate: Wed Sep 26 13:28:13 2018 +0200

<span style='display:block; white-space:pre;color:#404040;'>    Portfile.7: Output formatting, mdoc syntax cleanup.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This patch doesn't change the contents of the file (besides minor rewordings
</span><span style='display:block; white-space:pre;color:#404040;'>    here and there), which is thus still heavily out of date...
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    * Fix quoting.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Do proper tagging for keywords, flags, environment variables, etc.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Shorten example lines if possible to avoid overlong lines.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Use .Bd/.Ed instead of .Dl for longer lines to avoid line breaks.
</span><span style='display:block; white-space:pre;color:#404040;'>    * Use .Bd/.Ed instead of .Dl for multi-line examples (which don't work
</span><span style='display:block; white-space:pre;color:#404040;'>      with .Dl at all).
</span><span style='display:block; white-space:pre;color:#404040;'>    * Always start a new sentence at the beginning of a line.  This avoids
</span><span style='display:block; white-space:pre;color:#404040;'>      issues with one vs. two spaces after a full dot (which groff treats
</span><span style='display:block; white-space:pre;color:#404040;'>      differently).
</span><span style='display:block; white-space:pre;color:#404040;'>    * Other various mdoc syntax fixes.
</span>---
 doc/portfile.7 | 1025 ++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 667 insertions(+), 358 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/doc/portfile.7 b/doc/portfile.7
</span><span style='display:block; white-space:pre;color:#808080;'>index 6874fa9..d5ced7e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/doc/portfile.7
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/doc/portfile.7
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,10 +45,10 @@ as utilization of TCL's extensive functionality.
</span> are encoded in UTF-8.
 .Pp
 The
<span style='display:block; white-space:pre;background:#ffe0e0;'>-\.Nm MacPorts System
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-uses a target dependency system based on a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends/provides model, allowing for targets to be registered and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-executed in the correct order based on their individual requirements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Nm MacPorts System
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+uses a target dependency system based on a depends/provides model, allowing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for targets to be registered and executed in the correct order based on their
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+individual requirements.
</span> .Pp
 A
 .Nm
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -84,11 +84,13 @@ Upstream version of software.
</span> If a port's version numbering changes such that a newer version looks
 older than the previous version, the
 .Ic epoch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-should be increased. Some
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+should be increased.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Some
</span> .Nm Portfile
 authors have used large
 .Ic epoch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-values that look like a date, but there is no reason to do so. The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+values that look like a date, but there is no reason to do so.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The
</span> .Ic epoch
 is simply an unsigned integer, and the only requirement is that it never be
 decreased.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,42 +104,57 @@ decreased.
</span> .Sy Example:
 .Dl epoch 1
 .It Ic description
<span style='display:block; white-space:pre;background:#ffe0e0;'>-One line description of the software and what it does.  To appear in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description, brackets and semi-colons need to be escaped with a backslash (i.e.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-they must be written as "\\[", "\\]" and "\\;").  The escape sequences listed in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+One-line description of the software and what it does.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To appear in the description, brackets and semi-colons need to be escaped with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a backslash (i.e., they must be written as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e[ ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e; ) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The escape sequences listed in
</span> .Xr re_syntax n
<span style='display:block; white-space:pre;background:#ffe0e0;'>-may also be used, with the exception of \\n, \\r and \\f.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+may also be used, with the exception of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \en ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \er
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \ef .
</span> .br
 .Sy Type:
 .Em required
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl description Dictionary Server Protocol (RFC2229) client
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dl description IMAP email checker
</span> .It Ic long_description
<span style='display:block; white-space:pre;background:#ffe0e0;'>-A verbose description of the software and what it does.  To appear in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description, brackets and semi-colons need to be escaped with a backslash (i.e.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-they must be written as "\\[", "\\]" and "\\;").  The escape sequences listed in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A verbose description of the software and what it does.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To appear in the description, brackets and semi-colons need to be escaped with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a backslash (i.e., they must be written as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e[ ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \e; ) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The escape sequences listed in
</span> .Xr re_syntax n
<span style='display:block; white-space:pre;background:#ffe0e0;'>-may also be used, with the exception of \\n, \\r and \\f.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+may also be used, with the exception of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \en ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \er
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ql \ef .
</span> .br
 .Sy Type:
 .Em required
 .br
 .Sy Example:
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description The GNU Image Manipulation Program \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    (GIMP) is a powerful tool for the preparation and \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    manipulation of digital images. The GIMP provides \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    the user with a wide variety of image manipulation, \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    painting, processing, and rendering tools.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description The GNU Image Manipulation \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Program (GIMP) is a powerful tool for the \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    preparation and manipulation of digital \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    images. The GIMP provides the user with a \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    wide variety of image manipulation, painting, \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    processing, and rendering tools.
</span> .Ed
 .It Ic notes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Notes for setup and use of the port.  This is shown after the port is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-activated and anytime the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Notes for setup and use of the port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is shown after the port is activated and anytime the
</span> .Ic notes
 command is used; for example:
 .Pp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -149,7 +166,8 @@ instead of
</span> .Ic ui_msg
 is that it can be queried after a port is installed but
 .Ic ui_msg
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is only printed during an install.  Therefore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is only printed during an install.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Therefore
</span> .Ic notes
 is good for any information which may be needed anytime after an install.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,13 +176,13 @@ is good for any information which may be needed anytime after an install.
</span> .br
 .Sy Example:
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-notes To fully complete your installation and make python \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ${branch} the default, please run: \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   sudo port install python_select \e\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To fully complete your installation and make\e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+python ${branch} the default, please run:
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   sudo python_select ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  sudo port install python_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  sudo python_select ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span> .Ed
 .It Ic revision
 Local revision number of
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -207,14 +225,31 @@ Declares which platforms are supported by the port.
</span> .Sy Example:
 .Dl platforms darwin
 .It Ic supported_archs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-The CPU architectures for which this port can be built. Archs currently
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-supported by macOS are: i386, ppc, ppc64, x86_64. If this option is not set,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-it is assumed that the port can build for all archs. If a port does not install
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-any architecture-specific files, use the special value noarch.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-If the building architecture isn't among supported_archs, port fails with an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error message except when building on x86_64 (or ppc64) and supported_archs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-contains i386 (or ppc). In this case, the port will be built in 32-bit mode.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The CPU architectures for which this port can be built.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Archs currently supported by macOS are:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em i386 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em ppc ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em ppc64 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em x86_64 .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If this option is not set, it is assumed that the port can build for all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+archs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If a port does not install any architecture-specific files, use the special
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+value noarch.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If the building architecture isn't among
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic supported_archs ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+port fails with an error message except when building on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em x86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em ppc64 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic supported_archs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+contains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em ppc ) .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In this case, the port will be built in 32-bit mode.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -239,17 +274,16 @@ Project homepage for the port.
</span> .It Ic master_sites
 List of sites to fetch
 .Ic distfiles
<span style='display:block; white-space:pre;background:#ffe0e0;'>-from or a predefined mirror site
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-list. If set to a predefined mirror site, without a subdirectory being
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-defined, the portname is used as the name of the subdirectory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+from or a predefined mirror site list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If set to a predefined mirror site, without a subdirectory being defined, the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+portname is used as the name of the subdirectory.
</span> .br
 .Sy Type:
 .Em required
 .br
 .Sy Example:
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites ftp://ftp.cdrom.com/pub/magic \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites ftp://ftp.cdrom.com/pub/magic \e
</span>     sourceforge
 .Ed
 .It Ic worksrcdir
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -284,7 +318,8 @@ List of checksums for the
</span> .Ic distfiles .
 The checksum
 .Ar type
<span style='display:block; white-space:pre;background:#ffe0e0;'>-can currently be md5, sha1, rmd160, sha256 or size. The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+can currently be md5, sha1, rmd160, sha256 or size.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The
</span> .Ar filename
 can be omitted if there is only one distfile.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -293,28 +328,30 @@ can be omitted if there is only one distfile.
</span> .br
 .Sy Example:
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums dictd-1.7.1.tar.gz md5 81317b86ea0a5df0163900ad2e6bb12c \e\ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   magic-words-1.7.1.tar.gz md5 897a005182928613eadd30c267ce9c5b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums dictd-1.7.1.tar.gz md5 81317b86ea0a5df0163900ad2e6bb12c \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          magic-words-1.7.1.tar.gz md5 897a005182928613eadd30c267ce9c5b
</span> .Ed
 .br
 .Sy Example (ledit 1.11):
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums md5 a2d38ba641682509c1e964ad699a9dd2 \e\ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   sha1 1fb6443b5fdf3c83787953f06282d256477c1288
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums md5 a2d38ba641682509c1e964ad699a9dd2 \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          sha1 1fb6443b5fdf3c83787953f06282d256477c1288
</span> .Ed
 .br
 .Sy Example (ssldump 0.9b3):
 .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums md5 ac8c28fe87508d6bfb06344ec496b1dd \e\ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   sha1 a633a9a811a138eac5ed440d583473b644135ef5 \e\ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   rmd160 941cf8f2ef8459ec4f9ce65772e134505d46566
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums md5 ac8c28fe87508d6bfb06344ec496b1dd \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          sha1 a633a9a811a138eac5ed440d583473b644135ef5 \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+          rmd160 941cf8f2ef8459ec4f9ce65772e134505d46566
</span> .Ed
 .It Ic macosx_deployment_target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Value for MACOSX_DEPLOYMENT_TARGET environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Value for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev MACOSX_DEPLOYMENT_TARGET
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Default:
 .Em (current OS version)
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -322,8 +359,9 @@ Value for MACOSX_DEPLOYMENT_TARGET environment variable when invoking the config
</span> .Dl macosx_deployment_target 10.8
 .It Ic use_parallel_build
 If set to yes (and the user has enabled buildmakejobs in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa macports.conf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-), the port can be built using more than one job.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa macports.conf ) ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the port can be built using more than one job.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -377,7 +415,7 @@ target to configure the build.
</span> .Sy Example:
 .Dl use_configure no
 .It Ic copy_log_files Ar path/to/logfile1 Ar path/to/logfile2 Ar ...
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Copy specific log files from the workdir to the main macports log dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Copy specific log files from the workdir to the main MacPorts log dir.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -411,27 +449,32 @@ in the deprecated port and list the new one to be used.
</span> .Sy Example:
 .Dl replaced_by xorg-renderproto
 .It Ic add_users
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Consists of a list of usernames and settings. At appropriate times during the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-port installation process, a user will be created for each username with the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-corresponding settings. Settings are of the form name=value. A setting
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-applies to the username that appeared most recently before it in the list.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.sp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Consists of a list of usernames and settings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+At appropriate times during the port installation process, a user will be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+created for each username with the corresponding settings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Settings are of the form name=value.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A setting applies to the username that appeared most recently before it in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pp
</span> Applicable options are: group, gid (may be used instead of group), passwd,
 realname, home, and shell.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.sp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pp
</span> .Sy Type:
 .Em optional
 .br
 .Sy Default:
 .Em none (empty)
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl add_users squid group=squid realname=Squid\e Proxy home=${prefix}/var/squid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.sp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl add_users user1 group=mygroup user2 group=mygroup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users squid group=squid realname=Squid\e Proxy \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    home=${prefix}/var/squid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+add_users user1 group=mygroup user2 group=mygroup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic installs_libs
 By default, it is assumed that ports may install libraries or headers that can
<span style='display:block; white-space:pre;background:#ffe0e0;'>-be incorporated into their dependents. If this is not the case, set
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+be incorporated into their dependents.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If this is not the case, set
</span> .Cm installs_libs
 to
 .Em no .
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -451,11 +494,12 @@ linking in its dependents.
</span> .Dl installs_libs no
 .It Ic license_noconflict
 By default, it is assumed that ports may use libraries or headers from their
<span style='display:block; white-space:pre;background:#ffe0e0;'>-dependencies and thus form a derivative work. A dependency with an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-incompatible license thus prevents the port from being distributed in binary
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-form. If a dependency with an incompatible license is not used in such a way
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-that a derivative work is formed, or should not prevent binary distribution
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-for any other reason, add its name to this list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dependencies and thus form a derivative work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A dependency with an incompatible license thus prevents the port from being
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distributed in binary form.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If a dependency with an incompatible license is not used in such a way that a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+derivative work is formed, or should not prevent binary distribution for any
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+other reason, add its name to this list.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -471,7 +515,8 @@ for any other reason, add its name to this list.
</span> A number of hooks are available for customizing many of the standard
 targets that
 .Xr port 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-executes. The targets supporting these hooks are
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+executes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The targets supporting these hooks are
</span> .Cm fetch ,
 .Cm automake ,
 .Cm autoconf ,
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -483,7 +528,7 @@ and
</span> The hooks are:
 .Bl -tag -width lc
 .It Va target Ns Ic .asroot
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Run the 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Run the
</span> .Va target
 with root privileges.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -498,12 +543,15 @@ Directory in which to run the
</span> .It Va target Ns Ic .env
 Change the environment the
 .Va target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is run in. This is often overridden on a per
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is run in.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is often overridden on a per
</span> .Nm
 basis.
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl build.env CC="${configure.cc} [get_canonical_archflags]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env CC="${configure.cc} [get_canonical_archflags]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Va target Ns Ic .pre_args
 Additional arguments passed before the main arguments.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -528,7 +576,7 @@ Additional arguments passed after the main arguments.
</span> Read-only access to the MacPorts configuration is provided.
 .Bl -tag -width lc
 .It Ic prefix
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Install prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Install prefix.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -590,50 +638,57 @@ Location to store downloaded distfiles.
</span> .Sy Default:
 .Em ${portdbpath}/distfiles/${dist_subdir}/
 .It Ic os.arch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Identifies hardware type (e.g. "powerpc").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Identifies hardware type (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq powerpc ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic os.version
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Version number of operating system (e.g. "7.0").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Version number of operating system (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq 7.0 ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic os.major
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Major version number of operating system (e.g. "7").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Major version number of operating system (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq 7 ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic os.endian
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Endianness of the processor (e.g. "big").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Endianness of the processor (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq big ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic os.platform
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Operating system name (e.g. "darwin").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Operating system name (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq darwin ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic os.subplatform
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Name of specific operating system variant (e.g. "macosx").
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Name of specific operating system variant (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq macosx ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic install.user
<span style='display:block; white-space:pre;background:#ffe0e0;'>-User for MacPorts installation (e.g.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa root )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+User for MacPorts installation (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq root ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic install.group
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Group for MacPorts installation (e.g.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa wheel )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Group for MacPorts installation (e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq wheel ) .
</span> .br
 .Sy Type:
 .Em read-only
 .It Ic applications_dir
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Absolute path to the final location to install macOS application
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bundles (.app directories).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Absolute path to the final location to install macOS application bundles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Pa .app
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+directories).
</span> .br
 .Sy Type:
 .Em read-only
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -641,8 +696,9 @@ bundles (.app directories).
</span> .Sy Default:
 .Em /Applications/MacPorts
 .It Ic frameworks_dir
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Absolute path to the final location to install macOS framework
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-bundles (.framework directories).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Absolute path to the final location to install macOS framework bundles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Pa .framework
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+directories).
</span> .br
 .Sy Type:
 .Em read-only
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -654,27 +710,34 @@ bundles (.framework directories).
</span> Port dependencies should refer to other MacPorts ports
 whenever possible, therefore each dependency should be
 expressed in the format:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Bl -tag -width ls
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.It port: Ns Ao port Ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bl -tag -width ls -offset indent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.It Li port: Ns Aq port
</span> .El
 .Pp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Where 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Ao port Ac represents the name of an existing MacPorts
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Aq port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+represents the name of an existing MacPorts
</span> .Nm port .
 If satisfying a dependency with a MacPorts port is not
 practical and it is likely that a dependency must be met
 by an Apple optional install, then the alternative dependency
 format:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Bl -tag -width lc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.It Ar type Ns : Ns Ao filename Ac Ns : Ns Ao port Ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bl -tag -width lc -offset indent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.It Ar type Ns Li \&: Ns Ao filename Ac Ns Li \&: Ns Aq port
</span> .El
 .Pp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-may be used. Where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+may be used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Where
</span> .Ar type
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is "bin" if
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Ao filename Ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is a program, "lib" if it is a library, or "path" if it is a path to an
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-installed file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq bin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Aq filename
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is a program,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if it is a library, or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if it is a path to an installed file.
</span> .br
 .Sy Example:
 .Dl lib:libX11.6:XFree86
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -736,8 +799,9 @@ List of dependencies to check before
</span> .Cm install
 and
 .Cm package
<span style='display:block; white-space:pre;background:#ffe0e0;'>-targets. Will be recorded in the registry as being required by the dependent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-port when it is installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+targets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Will be recorded in the registry as being required by the dependent port when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+it is installed.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -752,8 +816,9 @@ List of dependencies to check before
</span> .Cm install ,
 and
 .Cm package
<span style='display:block; white-space:pre;background:#ffe0e0;'>-targets. Will be recorded in the registry as being required by the dependent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-port when it is installed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+targets.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Will be recorded in the registry as being required by the dependent port when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+it is installed.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -766,7 +831,7 @@ Fetch all distribution files and patches.
</span> .Bl -tag -width lc
 .It Ic master_sites.mirror_subdir
 Subdirectory to append to all mirror sites for any list specified in
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic master_sites .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -788,7 +853,9 @@ from or a predefined mirror site list.
</span> .Em ${master_sites}
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl patch_sites ftp://ftp.patchcityrepo.com/pub/magic/patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch_sites ftp://ftp.patchcityrepo.com/pub/magic/patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic patch_sites.mirror_subdir
 Subdirectory to append to all mirror sites for any list specified in
 .Ic patch_sites .
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -836,13 +903,25 @@ List of patches to fetch and apply.
</span> .It Ic use_zip
 Use zip.
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .zip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .zip .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: unzip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq unzip .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.pre_args to: -q
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.pre_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq -q .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.post_args to: "-d ${workpath}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.post_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq -d ${workpath} .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -852,9 +931,15 @@ Sets extract.post_args to: "-d ${workpath}"
</span> .It Ic use_bzip2
 Use bzip2.
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .bz2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .bz2 .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: bzip2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq bzip2 .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -864,9 +949,15 @@ Sets extract.cmd to: bzip2
</span> .It Ic use_lzma
 Use lzma.
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .lzma
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .lzma .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: lzma
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq lzma .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -876,11 +967,20 @@ Sets extract.cmd to: lzma
</span> .It Ic use_tar
 Use an uncompressed tar archive.
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .tar .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: tar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq tar .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.pre_args to: -xf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.pre_args
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq -xf .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -890,9 +990,15 @@ Sets extract.pre_args to: -xf
</span> .It Ic use_xz
 Use xz.
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .xz .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: xz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq xz .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -902,9 +1008,15 @@ Sets extract.cmd to: xz
</span> .It Ic use_7z
 Use 7z (7zip).
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.suffix to: .7z
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq .7z .
</span> .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Sets extract.cmd to: 7za
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Sets
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic extract.cmd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq 7za .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -940,7 +1052,9 @@ HTTP or FTP password to fetch the resource.
</span> .Sy Type:
 .Em optional
 .It Ic fetch.use_epsv
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Whether to use EPSV command for FTP transfers.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Whether to use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Li EPSV
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+command for FTP transfers.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -959,9 +1073,10 @@ Whether to ignore the host SSL certificate (for HTTPS).
</span> .br
 .El
 .Ss FETCHING FROM CVS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-As an alternative to fetching distribution files, pulling the sources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from a CVS repository is supported. Use of CVS can give rise to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-non-reproducible builds, so it is strongly discouraged.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As an alternative to fetching distribution files, pulling the sources from a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CVS repository is supported.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use of CVS can give rise to non-reproducible builds, so it is strongly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+discouraged.
</span> .Bl -tag -width lc
 .It Ic cvs.root
 Specify the address to a CVS repository from which to checkout files.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -973,7 +1088,9 @@ Specify the address to a CVS repository from which to checkout files.
</span> .Em none
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl cvs.root :pserver:anonymous@cvs.sv.gnu.org:/sources/emacs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cvs.root :pserver:anonymous@cvs.sv.gnu.org:/sources/emacs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic cvs.tag
 Specify a CVS tag identifying the code to checkout.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1009,9 +1126,10 @@ A CVS module from which to check out the code.
</span> .Dl cvs.module Sources
 .El
 .Ss FETCHING FROM SUBVERSION
<span style='display:block; white-space:pre;background:#ffe0e0;'>-As an alternative to fetching distribution files, pulling the sources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from a subversion repository is supported. Use of subversion can give
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-rise to non-reproducible builds, so it is strongly discouraged.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As an alternative to fetching distribution files, pulling the sources from a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subversion repository is supported.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use of subversion can give rise to non-reproducible builds, so it is strongly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+discouraged.
</span> .Bl -tag -width lc
 .It Ic svn.url
 Specify the url from which to fetch files.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1022,15 +1140,19 @@ Specify the url from which to fetch files.
</span> .Sy Default:
 .Em none
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl svn.url https://www.example.com/svn/project/tags/1.2.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      svn.url svn://www.example.com/svn/project/tags/1.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.url https://www.example.com/svn/project/tags/1.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.url svn://www.example.com/svn/project/tags/1.2.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic svn.revision
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Specify a tag from which svn should fetch files. This
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-corresponds to the -r option to the svn cli.  Note that you
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-will need to use backslashes to escape characters that have
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-meaning to the Tcl interpreter, such as braces and double
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-quotes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specify a tag from which svn should fetch files.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+corresponds to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Fl r
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option to the svn cli.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note that you will need to use backslashes to escape characters that have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+meaning to the Tcl interpreter, such as braces and double quotes.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1038,17 +1160,20 @@ quotes.
</span> .Sy Default:
 .Em none
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl svn.revision 37192
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      svn.revision \\{\\"2006-02-17 15:30 +0230\\"\\}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.revision 37192
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+svn.revision {"2006-02-17 15:30 +0230"}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .El
 .Ss FETCHING FROM GIT
<span style='display:block; white-space:pre;background:#ffe0e0;'>-As an alternative to fetching distribution files, pulling the sources
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-from a git repository is supported. Use of git can give rise to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-non-reproducible builds, so it is strongly discouraged.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+As an alternative to fetching distribution files, pulling the sources from a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git repository is supported.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use of git can give rise to non-reproducible builds, so it is strongly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+discouraged.
</span> .Bl -tag -width lc
 .It Ic git.url
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Specify the url from which to fetch files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specify the url from which to fetch files.
</span> .br
 .Sy Type:
 .Em required
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1056,12 +1181,15 @@ Specify the url from which to fetch files
</span> .Sy Default:
 .Em none
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl git.url git://git.kernel.org/pub/scm/git/git.git
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      git.url http://www.kernel.org/pub/scm/git/git.git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git.url git://git.kernel.org/pub/scm/git/git.git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git.url http://www.kernel.org/pub/scm/git/git.git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic git.branch
 Specify a branch (or other commit-ish) that git should checkout.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Note that any branch besides HEAD should be prefixed by origin/.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note that any branch besides HEAD should be prefixed by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa origin/ .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1069,9 +1197,11 @@ Note that any branch besides HEAD should be prefixed by origin/.
</span> .Sy Default:
 .Em none
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl git.branch 72bf1c8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      git.branch origin/next
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git.branch 72bf1c8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+git.branch origin/next
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .El
 .Sh EXTRACT OPTIONS
 Extract all compressed/archived files.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1115,7 +1245,12 @@ working directory instead of a subdirectory.
</span> .Dl extract.mkdir yes
 .El
 .Sh CONFIGURE OPTIONS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-MacPorts provide special support for configure flags (CFLAGS, LDFLAGS, CPPFLAGS, CXXFLAGS, CC, CXX, CPP, FC, F77, F90). Please note that the previous way to alter these flags (using configure.env) may become deprecated at some point. The following options are defined:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts provide special support for configure flags (CFLAGS, LDFLAGS,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CPPFLAGS, CXXFLAGS, CC, CXX, CPP, FC, F77, F90).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Please note that the previous way to alter these flags (using
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic configure.env )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+may become deprecated at some point.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The following options are defined:
</span> .Bl -tag -width lc
 .It Ic configure.optflags
 Flags to use for optimization.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1129,7 +1264,9 @@ Flags to use for optimization.
</span> .Sy Example:
 .Dl configure.optflags -O3
 .It Ic configure.cflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the CFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1140,7 +1277,9 @@ Flags to put in the CFLAGS environment variable when invoking the configure scri
</span> .Sy Example:
 .Dl configure.cflags-append -DHAS_LRINTF
 .It Ic configure.cppflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the CPPFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CPPFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1148,7 +1287,9 @@ Flags to put in the CPPFLAGS environment variable when invoking the configure sc
</span> .Sy Default:
 .Em -I${prefix}/include
 .It Ic configure.cxxflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the CXXFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CXXFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1156,7 +1297,9 @@ Flags to put in the CXXFLAGS environment variable when invoking the configure sc
</span> .Sy Default:
 .Em ${configure.optflags}
 .It Ic configure.objcflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the OBJCFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev OBJCFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1164,7 +1307,9 @@ Flags to put in the OBJCFLAGS environment variable when invoking the configure s
</span> .Sy Default:
 .Em ${configure.optflags}
 .It Ic configure.ldflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the LDFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev LDFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1172,36 +1317,46 @@ Flags to put in the LDFLAGS environment variable when invoking the configure scr
</span> .Sy Default:
 .Em -L${prefix}/lib -Wl,-headerpad_max_install_names
 .It Ic configure.fflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the FFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev FFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
 .br
 .Sy Default:
 .Em ${configure.optflags}
 .It Ic configure.f90flags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the F90FLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev F90FLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
 .br
 .Sy Default:
 .Em ${configure.optflags}
 .It Ic configure.fcflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the FCFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev FCFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
 .br
 .Sy Default:
 .Em ${configure.optflags}
 .It Ic configure.classpath
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Flags to put in the CLASSPATH environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CLASSPATH
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
 .It Ic configure.cc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-C-compiler to put in the CC environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+C\~compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1209,17 +1364,23 @@ C-compiler to put in the CC environment variable when invoking the configure scr
</span> .Sy Example:
 .Dl configure.cc /usr/bin/gcc
 .It Ic configure.cpp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-C-preprocessor to put in the CPP environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+C\~preprocessor to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CPP
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.cxx
<span style='display:block; white-space:pre;background:#ffe0e0;'>-C++-compiler to put in the CXX environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+C++ compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CXX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.objc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Objective-C-compiler to put in the OBJC environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Objective\~C compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev OBJC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1227,36 +1388,72 @@ Objective-C-compiler to put in the OBJC environment variable when invoking the c
</span> .Sy Example:
 .Dl configure.objc ${prefix}/bin/gcc-mp-4.1
 .It Ic configure.fc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Fortran-compiler to put in the FC environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fortran compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev FC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.f77
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Fortran-77-compiler to put in the F77 environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fortran\~77 compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev F77
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.f90
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Fortran-90-compiler to put in the F90 environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fortran\~90 compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev F90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.javac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Java compiler to put in the JAVAC environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Java compiler to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev JAVAC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.compiler
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Selects a complete compiler suite to use. This option will override the compiler environment variable for all compilers the named suite features. Please note that this option will intentionally not set any dependencies on the selected compiler suite!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Selects a complete compiler suite to use.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This option will override the compiler environment variable for all compilers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the named suite features.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Please note that this option will intentionally not set any dependencies on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the selected compiler suite!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em gcc-3.3 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em gcc-4.0 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em gcc-4.2 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em llvm-gcc-4.2 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use the standard Xcode compiler suites,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em apple-gcc-4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em apple-gcc-4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use Apple's gcc suite installed via MacPorts,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.2 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.3 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.4 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.5 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.6 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.7 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-gcc-4.8 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em macports-llvm-gcc-4.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use the vanilla compiler suites installed via MacPorts.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Type:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em optional
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Values:
</span> .Em gcc-3.3
 .Em gcc-4.0
 .Em gcc-4.2
 .Em llvm-gcc-4.2
 .Em clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use the standard Xcode compiler suites,
</span> .Em apple-gcc-4.0
 .Em apple-gcc-4.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use Apple's gcc suite installed via MacPorts,
</span> .Em macports-gcc-4.2
 .Em macports-gcc-4.3
 .Em macports-gcc-4.4
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1265,22 +1462,15 @@ use Apple's gcc suite installed via MacPorts,
</span> .Em macports-gcc-4.7
 .Em macports-gcc-4.8
 .Em macports-llvm-gcc-4.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use the vanilla compiler suites installed via MacPorts.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Type:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Em optional
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Values:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Em gcc-3.3 gcc-4.0 gcc-4.2 llvm-gcc-4.2 clang apple-gcc-4.0 apple-gcc-4.2 macports-gcc-4.2 macports-gcc-4.3 macports-gcc-4.4 macports-gcc-4.5 macports-gcc-4.6 macports-gcc-4.7 macports-gcc-4.8 macports-llvm-gcc-4.2
</span> .br
 .Sy Example:
 .Dl configure.compiler llvm-gcc-4.2
 .It Ic configure.sdk_version
 macOS SDK version to build against.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.br 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.br
</span> .Sy Default:
 .Em (current OS version)
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1289,7 +1479,11 @@ macOS SDK version to build against.
</span> .\" FOOBAR
 .El
 .Ss UNIVERSAL TARGET HOOKS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-For universal builds of configure-based ports, we also define specific target hooks. These can be overridden for specific ports. Please note that these hooks are used by the default universal variant and redefining the variant will make them useless.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For universal builds of configure-based ports, we also define specific target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+hooks.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These can be overridden for specific ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Please note that these hooks are used by the default universal variant and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+redefining the variant will make them useless.
</span> .Bl -tag -width lc
 .It Ic configure.universal_args
 Arguments appended to the configure script to build the port universal.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1300,7 +1494,9 @@ Arguments appended to the configure script to build the port universal.
</span> .Sy Default:
 .Em --disable-dependency-tracking
 .It Ic configure.universal_cflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Additional flags to put in the CFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Additional flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1308,12 +1504,16 @@ Additional flags to put in the CFLAGS environment variable when invoking the con
</span> .Sy Default:
 .Em -isysroot/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
 .It Ic configure.universal_cppflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Additional flags to put in the CPPFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Additional flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CPPFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
 .It Ic configure.universal_cxxflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Additional flags to put in the CXXFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Additional flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev CXXFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1321,7 +1521,9 @@ Additional flags to put in the CXXFLAGS environment variable when invoking the c
</span> .Sy Default:
 .Em -isysroot/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc
 .It Ic configure.universal_ldflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Additional flags to put in the LDFLAGS environment variable when invoking the configure script.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Additional flags to put in the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ev LDFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+environment variable when invoking the configure script.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1345,13 +1547,22 @@ Make command to run relative to
</span> .Sy Example:
 .Dl build.cmd scons
 .It Ic build.type
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Defines which 'make' is required, either 'gnu' or 'bsd'. Can also choose 'xcode'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-(or the deprecated synonym 'pbx'), however you should generally use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the xcode PortGroup rather than setting this directly.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Defines which
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Xr make 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+program is required, either
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq bsd .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Can also choose
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq xcode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(or the deprecated synonym
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq pbx ) ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+however you should generally use the xcode PortGroup rather than setting this
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+directly.
</span> Sets
 .Ic build.cmd
 to either
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa gnumake,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa gnumake ,
</span> .Pa bsdmake
 or
 .Pa xcodebuild
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1380,7 +1591,8 @@ Target passed to
</span> .El
 .Sh DESTROOT OPTIONS
 Execute necessary commands to install into a temporary destination root
<span style='display:block; white-space:pre;background:#ffe0e0;'>-("destroot") staging area.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Dq destroot )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+staging area.
</span> .Bl -tag -width lc
 .It Ic destroot.cmd
 Install command to run relative to
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1442,7 +1654,10 @@ completion.
</span> .Sy Example:
 .Dl destroot.keepdirs ${destroot}${prefix}/var/log/mysql
 .It Ic destroot.violate_mtree
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Indicates if a port will violate the common directory structure. Enables or disables tests for violations of mtree (e. g. non-standard directories in ${prefix}). The standard mtree can be found in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Indicates if a port will violate the common directory structure.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Enables or disables tests for violations of mtree (e.g., non-standard
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+directories in ${prefix}).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The standard mtree can be found in
</span> .Xr porthier 7 .
 .br
 .Sy Type:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1491,10 +1706,10 @@ Test target to pass to
</span> .Dl test.target checks
 .El
 .Sh STARTUPITEM OPTIONS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-If a port needs to run on system startup, it can use MacPorts
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem keywords to install native macOS startup scripts.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Startup scripts require user interaction after port installation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-to activate them and instructions are given during port installs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If a port needs to run on system startup, it can use MacPorts startupitem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+keywords to install native macOS startup scripts.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Startup scripts require user interaction after port installation to activate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+them and instructions are given during port installs.
</span> .Bl -tag -width lc
 .It Ic startupitem.create
 Choose whether or not to generate a startup item.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1511,10 +1726,15 @@ Choose whether or not to generate a startup item.
</span> .Sy Example:
 .Dl startupitem.create yes
 .It Ic startupitem.type
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Select the type of startupitem to generate. By default, a startupitem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-will be generated that is of the appropriate type for the OS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-For macOS this is always launchd.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-A global default may be specified with the startupitem_type preference in macports.conf.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Select the type of startupitem to generate.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+By default, a startupitem will be generated that is of the appropriate type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for the OS.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For macOS this is always
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa launchd .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+A global default may be specified with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem_type
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+preference in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa macports.conf .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1536,7 +1756,7 @@ Displayed name of the startup item.
</span> .Sy Example:
 .Dl startupitem.name OpenSSH
 .It Ic startupitem.autostart
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Whether to automatically load the StartupItem after activating the port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Whether to automatically load the startupitem after activating the port.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1564,13 +1784,18 @@ Enable additional debug logging.
</span> .Sy Example:
 .Dl startupitem.debug yes
 .It Ic startupitem.executable
<span style='display:block; white-space:pre;background:#ffe0e0;'>-The name of the daemon to be run in the background. This is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the preferred type of startup item rather than any of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem.init, startupitem.start, startupitem.stop, or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem.restart, and may not be used together with any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of these options.  This option may contain multiple
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-arguments, but they must be appropriate for a call to exec; they
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-may not contain arbitrary shell code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The name of the daemon to be run in the background.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is the preferred type of startupitem rather than any of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.init ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.start ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.stop ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.restart ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and may not be used together with any of these options.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This option may contain multiple arguments, but they must be appropriate for a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+call to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Li exec ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+they may not contain arbitrary shell code.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1582,7 +1807,10 @@ may not contain arbitrary shell code.
</span> .Dl startupitem.executable ${prefix}/bin/wonka
 .It Ic startupitem.init
 Shell code that will be executed prior to any of the options
<span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem.start, startupitem.stop and startupitem.restart.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.start ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.stop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.restart .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1593,8 +1821,9 @@ startupitem.start, startupitem.stop and startupitem.restart.
</span> .Sy Example:
 .Dl startupitem.init FOO=start
 .It Ic startupitem.install
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Whether to install a link to the StartupItem in the appropriate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subdirectory of /Library.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Whether to install a link to the startupitem in the appropriate subdirectory
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa /Library .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1608,10 +1837,12 @@ subdirectory of /Library.
</span> .Sy Example:
 .Dl startupitem.install no
 .It Ic startupitem.location
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Chooses the subdirectory in which to install the StartupItem. Also
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-affects how it will be loaded: LaunchDaemons must be loaded as root,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and only one instance will run for the whole system. LaunchAgents are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-loaded as a normal user, and one instance per user can run.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Chooses the subdirectory in which to install the startupitem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Also affects how it will be loaded:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Li LaunchDaemons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+must be loaded as root, and only one instance will run for the whole system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Li LaunchAgents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+are loaded as a normal user, and one instance per user can run.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1620,7 +1851,8 @@ loaded as a normal user, and one instance per user can run.
</span> .Em LaunchDaemons
 .br
 .Sy Values:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Em LaunchDaemons|LaunchAgents
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em LaunchDaemons
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em LaunchAgents
</span> .br
 .Sy Example:
 .Dl startupitem.location LaunchAgents
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1634,7 +1866,9 @@ Shell code executed to start the daemon.
</span> .Em sh code
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl startupitem.start ${prefix}/share/mysql/mysql.server start
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.start ${prefix}/share/mysql/mysql.server start
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic startupitem.stop
 Shell code executed to stop the daemon.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1645,11 +1879,13 @@ Shell code executed to stop the daemon.
</span> .Em sh code
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl startupitem.stop ${prefix}/share/mysql/mysql.server stop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.stop ${prefix}/share/mysql/mysql.server stop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic startupitem.restart
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Shell code executed to restart the daemon. In the absence
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of this key, the daemon will be restarted by taking the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-stop action, followed by taking the start action.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Shell code executed to restart the daemon.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+In the absence of this key, the daemon will be restarted by taking the stop
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+action, followed by taking the start action.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1658,16 +1894,25 @@ stop action, followed by taking the start action.
</span> .Em sh code
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl startupitem.restart ${prefix}/share/mysql/mysql.server restart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.restart ${prefix}/share/mysql/mysql.server restart
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic startupitem.pidfile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Specification for pidfile handling. This is particularly useful
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in conjunction with the startupitem.executable key, because it is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-important that the startupitem know how to track the executable.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This specifies whether the daemon generates its own pidfile (auto),
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-whether it generates its own but forgets to delete it, so that the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem should delete it (clean), or whether it never generates
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-one, in which case the startupitem should manage the pidfile on its
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-own (manual), or whether no pidfile should be used at all (none).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specification for pidfile handling.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This is particularly useful in conjunction with the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.executable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+key, because it is important that the startupitem knows how to track the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+executable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This specifies whether the daemon generates its own pidfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Dq auto ) ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+whether it generates its own but forgets to delete it, so that the startupitem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+should delete it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Dq clean ) ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or whether it never generates one, in which case the startupitem should manage
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the pidfile on its own
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf ( Dq manual ) ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or whether no pidfile should be used at all
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pf  ( Dq none ) .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1676,15 +1921,25 @@ own (manual), or whether no pidfile should be used at all (none).
</span> .Em none "${prefix}/var/run/${name}.pid"
 .br
 .Sy Values:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Em none|auto|manual|clean [/path/to/pidfile]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Po
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em auto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em manual
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Em clean
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bq Pa /path/to/pidfile
</span> .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl startupitem.pidfile auto ${prefix}/var/run/${name}.pidfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.pidfile auto ${prefix}/var/run/${name}.pidfile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .It Ic startupitem.logfile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Path to a logfile for logging events about the lifetime of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitem. Depending on the type of startupitem, and the manner
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-in which it is started, standard output from the daemon may also be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-directed to the logfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Path to a logfile for logging events about the lifetime of the startupitem.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Depending on the type of startupitem, and the manner in which it is started,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+standard output from the daemon may also be directed to the logfile.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1698,8 +1953,8 @@ directed to the logfile.
</span> .Sy Example:
 .Dl startupitem.logfile ${prefix}/var/log/mydaemon.log
 .It Ic startupitem.logevents
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Control whether or not to log events to the log file. If logevents
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-is set, events with timestamps are logged to the logfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Control whether or not to log events to the log file.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If this option is set, events with timestamps are logged to the logfile.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1728,14 +1983,18 @@ machine's network state is detected.
</span> .Sy Example:
 .Dl startupitem.netchange yes
 .It Ic startupitems
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Used when a port needs to install more than one StartupItem, this
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-option consists of a list where alternating elements represent keys
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and values. Each key corresponds to one of the startupitem.* options,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and the following value is associated with it. Each StartupItem
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-defined in the list must specify at least a name. Each other key/value
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pair is associated with the StartupItem named most recently in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-list. Any keys that are not defined for a given StartupItem will use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the value of the corresponding startupitem.* option.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Used when a port needs to install more than one startupitem, this option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+consists of a list where alternating elements represent keys and values.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Each key corresponds to one of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options, and the following value is associated with it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Each startupitem defined in the list must specify at least a name.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Each other key/value pair is associated with the startupitem named most
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+recently in the list.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Any keys that are not defined for a given startupitem will use the value of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the corresponding
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic startupitem.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option.
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1747,29 +2006,34 @@ the value of the corresponding startupitem.* option.
</span> .Em List of keys and values
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-startupitems        name        myport-system \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    location    LaunchDaemons \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    executable  ${prefix}/sbin/myportd \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    name        myport-session \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    location    LaunchAgents \\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    executable  ${prefix}/bin/myport-agent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitems name        myport-system \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             location    LaunchDaemons \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             executable  ${prefix}/sbin/myportd \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             name        myport-session \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             location    LaunchAgents \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             executable  ${prefix}/bin/myport-agent
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ed
</span> .El
 .Sh DISTCHECK AND LIVECHECK OPTIONS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-MacPorts can automatically check if the software has been updated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-since the Portfile was modified and if some external changes require
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-an update to the Portfile. This helps maintainers have up-to-date
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-and working Portfiles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Two checks are available. With distcheck, MacPorts can check that the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-distfile(s) are still downloadable and did not change since the portfile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-was modified.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-With livecheck, MacPorts can query a resource to determine if a newer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version of the software is available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts can automatically check if the software has been updated since the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Portfile was modified and if some external changes require an update to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Portfile.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This helps maintainers have up-to-date and working Portfiles.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Two checks are available.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+With
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq distcheck ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts can check that the distfile(s) are still downloadable and did not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+change since the Portfile was modified.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+With
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq livecheck ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+MacPorts can query a resource to determine if a newer version of the software
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is available.
</span> .Bl -tag -width lc
 .It Ic distcheck.check
<span style='display:block; white-space:pre;background:#ffe0e0;'>-This option can be used to disable distcheck. It specifies what kind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-of check should be performed on distfiles:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This option can be used to disable distcheck.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It specifies what kind of check should be performed on distfiles:
</span> .Em moddate
 (check if the Portfile is older than the distfile) or
 .Em none
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1787,7 +2051,9 @@ of check should be performed on distfiles:
</span> What kind of check to perform to figure out if the software has been updated.
 Can be
 .Em freecode
<span style='display:block; white-space:pre;background:#ffe0e0;'>-(uses the date_updated tag of the freecode XML file),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(uses the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Li date_updated
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+tag of the freecode XML file),
</span> .Em sourceforge
 (uses the version of the latest file release of the project),
 .Em googlecode
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1810,7 +2076,9 @@ Can be
</span> .Em sourceforge
 or
 .Em googlecode
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if the master_sites is one of these, else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic master_sites
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is one of these, else
</span> .Em freecode
 .br
 .Sy Values:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1823,12 +2091,16 @@ Name of the project for live checks (used for freecode, sourceforge, and googlec
</span> .br
 .Sy Default:
 .Em ${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-or the sourceforge/freecode/googlecode project name if it can be guessed by looking at the master_sites.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or the sourceforge/freecode/googlecode project name if it can be guessed by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+looking at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic master_sites .
</span> .It Ic livecheck.distname
 Name of the file release (used for sourceforge and googlecode checks).
 For sourceforge releases use the name of the package release.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-For googlecode releases use the name of the file download, including extension.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Replace the version part of the name with "(.*)".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For googlecode releases use the name of the file download, including
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extension.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Replace the version part of the name with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq Li (.*) .
</span> .br
 .Sy Type:
 .Em optional
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1885,11 +2157,12 @@ allowing for user-customization of a software's build-time settings.
</span> .Xc
 The value is usually a TCL script which modifies one or more
 .Nm
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variables. Dependencies and conflicts with other variants in the same
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-port can be expressed with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variables.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Dependencies and conflicts with other variants in the same port can be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+expressed with
</span> .Cm requires
 and
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Cm conflicts . 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Cm conflicts .
</span> .Cm description
 provides a means to supply a description of the variant for the user.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1897,11 +2170,13 @@ provides a means to supply a description of the variant for the user.
</span> .Em optional
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Add a "gnome" variant to a port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Add a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq gnome
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant to a port.
</span> .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant gnome requires glib { configure.args-append --with-gnome \e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append port:gnome-session }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant gnome requires glib \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    { configure.args-append --with-gnome \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      depends_lib-append port:gnome-session }
</span> .Ed
 .It Ic default_variants
 If variants are defined, then the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1918,10 +2193,11 @@ When using MacPorts on macOS, a universal variant is defined and
</span> the default behavior is to configure ports with universal flags
 (see the
 .Ic UNIVERSAL TARGET HOOKS
<span style='display:block; white-space:pre;background:#ffe0e0;'>-section above). The variant can be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-overridden if the default code does not work. It can also be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-suppressed if having a universal variant for the port does not make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-sense. To suppress it, use the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+section above).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The variant can be overridden if the default code does not work.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+It can also be suppressed if having a universal variant for the port does not
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+make sense.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+To suppress it, use the
</span> .Ic universal_variant
 option.
 .br
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1949,35 +2225,43 @@ versions of the same platform.
</span> .Ar body
 .Xc
 The body is executed if the given platform/version/arch combination matches
<span style='display:block; white-space:pre;background:#ffe0e0;'>-os.platform or os.subplatform and/or os.major and/or os.arch.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-The following examples are from the lang/php5, audio/flac and sysutils/getopt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Nm Portfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic os.platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic os.subplatform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and/or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic os.major
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and/or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic os.arch .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The following examples are from the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa lang/php5 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa audio/flac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Pa sysutils/getopt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Nm Portfiles ,
</span> respectively.
 .br
 .Sy Type:
 .Em optional
 .br
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 10 { configure.env-append LIBS=-lresolv }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Ed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Bd -literal -offset indent -compact
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin i386 { configure.args-append --disable-asm-optimizations }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Ed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.br
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Sy Example:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Sy Examples:
</span> .Bd -literal -offset indent -compact
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 8 powerpc { configure.universal_ldflags-append -liconv }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 10 \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    { configure.env-append LIBS=-lresolv }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin i386 \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    { configure.args-append --disable-asm-optimizations }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin 8 powerpc \e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    { configure.universal_ldflags-append -liconv }
</span> .Ed
 .El
 .Sh PORTGROUP
 To factorize the work with similar ports, MacPorts provides the notion of
 .Nm PortGroup
<span style='display:block; white-space:pre;background:#ffe0e0;'>-that can be used to load definitions for a given class or group of ports. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that can be used to load definitions for a given class or group of ports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See
</span> .Xr portgroup 7
<span style='display:block; white-space:pre;background:#ffe0e0;'>-for more details on the various PortGroup classes.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for more details on the various
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Nm PortGroup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+classes.
</span> .Sh TCL EXTENSIONS
 A number of TCL extensions are available for use in
 .Nm Portfiles .
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2019,8 +2303,8 @@ A number of TCL extensions are available for use in
</span> .Op Fl W Ar dir
 .Ar directory
 .Xc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Install file(s) to a target file or directory. The options are
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-intended to be compatible with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Install file(s) to a target file or directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The options are intended to be compatible with
</span> .Xr install 1 :
 .Bl -tag -width indent
 .It Fl b
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2047,9 +2331,11 @@ Specify the group.
</span> Disable use of
 .Xr mmap 2 .
 .It Fl m
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Specify an alternate mode. The default is 0755. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Specify an alternate mode.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The default is 0755.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See
</span> .Xr chmod 1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-for defails.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for details.
</span> .It Fl p
 Preserve the modification time.
 .It Fl S
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2077,9 +2363,11 @@ and execute
</span> .Ar body
 for each found file/directory.
 .Va varname
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is set to the path of the file/directory. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is set to the path of the file/directory.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ic break
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is called during execution, the filesystem traversal is stopped. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is called during execution, the filesystem traversal is stopped.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ic continue
 is called during execution, the current file and any children are skipped
 and traversal continues with the next file/directory.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2102,8 +2390,8 @@ to ignore any permissions/read errors encountered during processing.
</span> .Pp
 If
 .Nm fs-traverse
<span style='display:block; white-space:pre;background:#ffe0e0;'>-is called directly on a symbolic link, the link will be followed. All other
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-links encountered during traversal will not be followed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is called directly on a symbolic link, the link will be followed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+All other links encountered during traversal will not be followed.
</span> .Pp
 .Nm fs-traverse
 will not descend into directories that have a different device number than
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2136,18 +2424,19 @@ is newer than
</span> .It Xo
 .Ic adduser
 .Ar username
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm uid Ns = Ns uid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm gid Ns = Ns gid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm passwd Ns = Ns passwd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm realname Ns = Ns realname
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm home Ns = Ns home
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm shell Ns = Ns shell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm uid Ns = Ns Ar uid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm gid Ns = Ns Ar gid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm passwd Ns = Ns Ar passwd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm realname Ns = Ns Ar realname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm home Ns = Ns Ar home
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm shell Ns = Ns Ar shell
</span> .Xc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Add a new local user to the system with the specified uid, gid,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-password, real name, home directory and login shell. Note that it is usually
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-preferable to set the add_users option rather than call adduser directly,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-since it may need to be called in multiple places to handle all cases (e.g.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-installing from a binary archive).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Add a new local user to the system with the specified uid, gid, password, real
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name, home directory and login shell.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note that it is usually preferable to set the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic add_users
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option rather than call adduser directly, since it may need to be called in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+multiple places to handle all cases (e.g., installing from a binary archive).
</span> .It Ic existsuser Ar username
 Check if a local user exists.
 .It Ic nextuid
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2155,17 +2444,18 @@ Returns the highest used uid plus one.
</span> .It Xo
 .Ic addgroup
 .Ar group
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm gid Ns = Ns gid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm passwd Ns = Ns passwd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm realname Ns = Ns realname
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Op Cm users Ns = Ns users
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm gid Ns = Ns Ar gid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm passwd Ns = Ns Ar passwd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm realname Ns = Ns Ar realname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Op Cm users Ns = Ns Ar users
</span> .Xc
 Add a new local group to the system, with the specified gid, password,
 real name, and with a list users as members.
 .It Ic existsgroup Ar group
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Check if a local group exists and return the corresponding gid. This can be used
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-with adduser:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl addgroup foo 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Check if a local group exists and return the corresponding gid.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This can be used with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ic adduser :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dl addgroup foo
</span> .Dl adduser foo gid=[existsgroup foo]
 .It Ic nextgid
 Returns the highest used gid plus one.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2178,8 +2468,10 @@ Returns the highest used gid plus one.
</span> Provide in-place
 .Xr sed 1
 like editing of a file.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-The -E flag does the same thing as in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-.Xr sed 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Fl E
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+flag does the same thing as in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Xr sed 1 .
</span> .br
 .Sy Example:
 .Dl reinplace \*qs|/usr/local|${prefix}|g\*q doc/manpage.1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2188,13 +2480,16 @@ Standard TCL command to manipulate file names and attributes, recommended if you
</span> resource forks when destrooting ports.
 Use
 .Nm xinstall
<span style='display:block; white-space:pre;background:#ffe0e0;'>-to also preserve Extended Attributes (i.e. Access Control Lists). See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+to also preserve Extended Attributes (i.e., Access Control Lists).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See
</span> .Xr file n
 for more information on this command.
 .It Ic copy
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Built-in shorthand alternative to "file copy".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Built-in shorthand alternative to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq file copy .
</span> .It Ic move
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Built-in shorthand alternative to "file rename".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Built-in shorthand alternative to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq file rename .
</span> .It Ic delete Ar
 Deletes each of the given files/directories.
 Behaves identically to
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2209,13 +2504,14 @@ Built-in command mimicking the BSD ln command.
</span> .Op Fl W Ar dir
 .Ar commandline
 .Xc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Execute a program. See
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Execute a program.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See
</span> .Xr system 3 .
 For calls to
 .Xr install 1
 please use
 .Nm xinstall .
<span style='display:block; white-space:pre;background:#ffe0e0;'>-For calls to 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+For calls to
</span> .Xr mv 1 ,
 .Xr cp 1 ,
 .Xr rm 1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2255,9 +2551,9 @@ from the
</span> Return the list of elements in a
 .Ar directory ,
 excluding
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa \&.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq Pa \&.
</span> and
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Pa \&.. .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dq Pa \&.. .
</span> .It Ic strsed Ar string Ar pattern
 Perform
 .Xr ed 1 Ns / Ns
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2281,12 +2577,19 @@ See
</span> .It Ic md5 Ar
 Compute the MD5 hashes of the file(s).
 .It Ic vercmp Ar versionA Ar versionB
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Compare two EVR-format versions for equality.  The return value is like
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-strcmp(), returning -1, 0, or 1 when versionA is earlier, equal to, or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-later than versionB, respectively.  Note that some comparisons featuring
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-floating-point notation may compare incorrectly, e.g. 2.101 is considered
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-later than 2.2 (101 is larger than 2) which may be incorrect per some
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-projects versioning methods (see ticket #11873).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Compare two EVR-format versions for equality.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The return value is like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Xr strcmp 3 ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+returning -1, 0, or\~1 when
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ar versionA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is earlier, equal to, or
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+later than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Ar versionB ,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+respectively.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Note that some comparisons featuring floating-point notation may compare
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+incorrectly, e.g., 2.101 is considered later than 2.2 (101 is larger than\~2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+which may be incorrect per some projects versioning methods (see ticket
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#11873).
</span> .It Xo
 .Ic lpush
 .Ar varName
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2296,7 +2599,8 @@ Treats the variable given by
</span> .Ar varName
 as a list and appends each of the
 .Ar value
<span style='display:block; white-space:pre;background:#ffe0e0;'>-arguments to that list as a separate element. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+arguments to that list as a separate element.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ar varName
 doesn't exist, it is created as a list with elements
 given by the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2307,8 +2611,9 @@ Really just an alias for
</span> .It Ic lpop Ar varName
 Removes the last element from the list given by
 .Ar varName
<span style='display:block; white-space:pre;background:#ffe0e0;'>-and returns it. If there are no elements in the list,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the empty string is returned. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and returns it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If there are no elements in the list, the empty string is returned.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ar varName
 doesn't exist, an exception is raised.
 .It Xo
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2320,7 +2625,8 @@ Treats the variable given by
</span> .Ar varName
 as a list and prepends each of the
 .Ar value
<span style='display:block; white-space:pre;background:#ffe0e0;'>-arguments to that list as a separate element. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+arguments to that list as a separate element.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ar varName
 doesn't exist, it is created as a list with elements
 given by the
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2329,8 +2635,9 @@ arguments.
</span> .It Ic lshift Ar varName
 Removes the first element from the list given by
 .Ar varName
<span style='display:block; white-space:pre;background:#ffe0e0;'>-and returns it. If there are no elements in the list,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-the empty string is returned. If
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and returns it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If there are no elements in the list, the empty string is returned.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If
</span> .Ar varName
 doesn't exist, an exception is raised.
 .It Xo
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2342,7 +2649,8 @@ Treats the variable given by
</span> .Ar varName
 as a list and removes the element pointed to by the sequence of
 .Ar index
<span style='display:block; white-space:pre;background:#ffe0e0;'>-arguments and returns it. If no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+arguments and returns it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If no
</span> .Ar index
 arguments are provided,
 .Ar varName
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2404,7 +2712,8 @@ try {
</span> .Op Ar message
 .Op Ar info
 .Xc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Throws an exception. If given arguments, works just like
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Throws an exception.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+If given arguments, works just like
</span> .Ic error
 .Ar message
 .Ar info
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2425,7 +2734,7 @@ Display a
</span> to the user, at various different levels.
 .br
 .Sy Example:
<span style='display:block; white-space:pre;background:#ffe0e0;'>-.Dl ui_msg \*qAdd each user to the system using the clamav command\*q
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+.Dl ui_msg \*qThis build may take a very long time\*q
</span> .El
 .Sh SEE ALSO
 .Xr port 1 ,
</pre><pre style='margin:0'>

</pre>