[Midnightbsd-cvs] mports: bsd.mport.mk.pod: Finished formatting.

ctriv at midnightbsd.org ctriv at midnightbsd.org
Mon Nov 10 22:39:53 EST 2008


Log Message:
-----------
Finished formatting.  Need to write a makefile to turn this into a man page
for inclusion in src.

Modified Files:
--------------
    mports/Mk/docs:
        bsd.mport.mk.pod (r1.3 -> r1.4)

-------------- next part --------------
Index: bsd.mport.mk.pod
===================================================================
RCS file: /home/cvs/mports/Mk/docs/bsd.mport.mk.pod,v
retrieving revision 1.3
retrieving revision 1.4
diff -L Mk/docs/bsd.mport.mk.pod -L Mk/docs/bsd.mport.mk.pod -u -r1.3 -r1.4
--- Mk/docs/bsd.mport.mk.pod
+++ Mk/docs/bsd.mport.mk.pod
@@ -9,7 +9,7 @@
 .include <bsd.mport.mk>
 
 bsd.mport.mk is the master makefile for the ports tree.  This man pages
-documents the public targets and variables used by user and individual
+documents the public targets and variables used by users and individual
 ports.
 
 =head1 TARGETS
@@ -184,11 +184,30 @@
 do-* target.  This way, you can override do-foo, twiddle some variables
 and then call 'make run-foo'.
 
-NEVER override the "regular" targets unless you want to open
+B<NEVER> override the "regular" targets unless you want to open
 a major can of worms.
 
 =head1 VARIABLES
 
+=head2 Global Knobs
+
+The following change globals behavoirs for the mports system.
+
+=over 4
+
+=item USE_MPORT_TOOLS
+
+If set, the mport system will use libmport to make and install mport
+archives.  The mport binary system will also be used as the package
+database.
+
+=item MPORT_MAINTAINER_MODE
+
+If set, the mports system will perform checks to see if several steps are
+successfully completed.
+
+=back
+
 =head2 Meta Variables
 
 These are meta-variables that are automatically set to the system
@@ -311,7 +330,145 @@
 
 =back
 
-=head2 Fetch Variables 
+=head2 Path Variables
+
+Various directory definitions and variables to control them.
+You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
+
+=over 4
+
+=item DESTDIR
+
+The path to the environment we are installing to.  This is only used during
+the final package install, at which point mport.install is run chroot'ed
+into the DESTDIR.
+
+=item X11BASE
+
+Where X11 ports install things.  Deprecated.
+
+Default: ${LOCALBASE}
+
+=item USE_X_PREFIX
+
+If set, this port installs in ${X11BASE}.  Deprecated.
+
+=item LOCALBASE	
+
+Where almost all  ports install things.
+
+Default: /usr/local
+
+=item LINUXBASE
+
+Where Linux ports install things.
+
+Default: /compat/linux
+
+=item PREFIX
+
+Where B<this> port installs its files.
+
+Default: ${LINUXBASE} if USE_LINUX_PREFIX is set, otherwise ${LOCALBASE}
+
+=item IGNORE_PATH_CHECKS
+
+There are some sanity checks against PREFIX and DESTDIR. You can diasble
+these checks with defining this variable, but this is not recommended! Only
+do this if you really know what you are doing.  These sanity checks are the
+following:
+
+=over 8
+
+=item DESTDIR can't be /.  
+
+Just leave it undefined if you want to install to /.
+
+=item DESTDIR has to be an absolute path.
+
+=item DESTDIR can't have a trailing slash.
+
+=item PREFIX has to be an absolute path.
+
+=item PREFIX can't have a trailing slash.
+
+=back
+
+=item MASTERDIR
+
+Where the port finds patches, package files, etc.  Define this is you have
+two or more ports that share most of the files.
+
+Default: ${.CURDIR}
+
+=item PORTSDIR
+
+The root of the ports tree.
+
+Default: /usr/mports
+
+=item DISTDIR
+
+Where to search for and store copies of original sources
+
+Default: ${PORTSDIR}/Distfiles
+
+=item PACKAGES
+
+A top level directory where all packages go (rather than going locally to
+each port). Default: ${PORTSDIR}/Packages/${ARCH}
+
+=item WRKDIRPREFIX
+
+The place to root the temporary working directory hierarchy.
+
+Default: none
+
+=item WRKDIR
+
+A temporary working directory that gets B<clobbered> on clean
+
+Default: ${WRKDIRPREFIX}${.CURDIR}/work
+
+=item WRKSRC
+
+A subdirectory of ${WRKDIR} where the distribution actually unpacks to.
+
+Default: ${WRKDIR}/${DISTNAME} unless NO_WRKSUBDIR is set, in which case
+simply ${WRKDIR}
+
+=item NO_WRKSUBDIR
+
+Assume port unpacks directly into ${WRKDIR}.
+
+=item PATCHDIR
+
+A directory containing any additional patches you made to port this software
+to MidnightBSD.
+
+Default: ${MASTERDIR}/files
+
+=item SCRIPTDIR
+
+A directory containing any auxiliary scripts
+
+Default: ${MASTERDIR}/scripts
+
+=item FILESDIR
+
+A directory containing any miscellaneous additional files.
+
+Default: ${MASTERDIR}/files
+
+=item PKGDIR
+
+A directory containing any package creation files.
+
+Default: ${MASTERDIR}
+
+=back
+
+=head2 Distfile Variables
 
 These variable describe how to fetch files required for building the port.
 
@@ -500,15 +657,6 @@
 
 Default: not set.
 
-=item USE_SUBMAKE
-
-Set this if you want that each of the port's main 6 targets (extract, patch,
-configure, build, install and package) to be executed in a separate make(1)
-process. Useful when one of the stages needs to influence make(1) variables
-of the later stages using ${WRKDIR}/Makefile.inc generated on the fly.
-
-Default: not set.
-
 =back 
 
 Set these if your port only makes sense to certain architectures.
@@ -611,6 +759,16 @@
 
 Default: cached-install
 
+=item NO_DEPENDS
+
+Don't verify build of dependencies.
+
+=item USE_PACKAGE_DEPENDS
+
+Install dependencies from existing packages instead of building the port
+from scratch.
+
+
 =back
 
 =head2 Built-In Depends
@@ -623,7 +781,7 @@
 
 This approach to built-in dependencies is going away in the future.  Soon a
 declaration like:
- 
+
  USE_GHOSTSCRIPT_RUN=yes
 
 will be replaced by
@@ -638,6 +796,84 @@
 
 B<NOTE>:  These ideas are still in maturation.  Changes expected!
 
+Note: the distinction between the USE_* and WANT_* variables, and the
+WITH_* and WITHOUT_* variables, are that the former are restricted to
+usage inside the ports framework, and the latter are reserved for user-
+settable options.  (Setting USE_* in /etc/make.conf is always wrong).
+
+=over 4
+
+=item USE_ICONV	
+
+If set, this port uses libiconv.
+
+=item USE_GETTEXT
+
+If set, this port uses GNU gettext (libintl).
+
+=item USE_GHOSTSCRIPT
+
+If set, this port needs ghostscript to both build and run.
+
+=item USE_GHOSTSCRIPT_BUILD
+
+If set, this port needs ghostscript to build.
+
+=item USE_GHOSTSCRIPT_RUN
+
+If set, this port needs ghostscript to run.
+
+=item GHOSTSCRIPT_PORT
+
+The port that provides postscript functionality. Some installations may wish
+to override the default to specify a version without X11 and/or localized
+versions for their nationality.
+
+=item WITH_GHOSTSCRIPT_GPL
+
+If set, this port uses the GPL version of the ghostscript software instead
+of the GNU version, which is used otherwise.
+
+=item WITH_GHOSTSCRIPT_AFPL
+
+If set, this port uses the AFPL version of the ghostscript software instead
+of the GNU version, which is used otherwise.
+
+=item USE_BISON
+
+If set to build, adds a build dependancy on bison. run implies a run
+depends, both adds a build and run depends.  The legacy option yes is
+deprecated (but implies build for now).
+
+=item USE_XLIB
+
+If set, this port uses the X libraries. In the USE_LINUX
+case the linux X libraries are referenced.  In general this is deprecated
+in favor of USE_XORG.
+
+=item USE_FREETYPE
+
+If set, this port uses the freetype print libraries.
+
+=item USE_GL 
+
+If set, this port uses libGL.
+
+=item USE_MOTIF
+
+If set, this port uses a Motif toolkit.  Implies USE_XPM.
+
+=item NO_OPENMOTIF
+
+If set, this port uses a custom Motif toolkit instead of Openmotif.  Used
+only when USE_MOTIF is set.
+
+=item WANT_LESSTIF
+
+If set, this port uses Lesstif as Motif toolkit.  Used only when USE_MOTIF
+is set.  Implies NO_OPENMOTIF.
+
+=back
 
 =head2 Extension Variables
 
@@ -648,7 +884,7 @@
 For the larger extensions, the code is located in the extentions
 directory. See the extension files sectio for details.
 
-=over4
+=over 4
 
 =item EXTENSIONS
 
@@ -695,650 +931,913 @@
 
 Default: gmake
 
-=item USE_ICONV	
+=item USE_IMAKE
 
-If set, this port uses libiconv.
+If set, this port uses imake.  Implies USE_X_PREFIX 
 
-=item USE_GETTEXT
+=item XMKMF
 
-If set, this port uses GNU gettext (libintl).
+Set to path of `xmkmf' if not in $PATH
 
-=item USE_GHOSTSCRIPT
+Default: xmkmf -a
 
-If set, this port needs ghostscript to both build and run.
+=item USE_SDL
 
-=item USE_GHOSTSCRIPT_BUILD
+If set, this port uses the sdl libraries.  Loads the sdl extension.  See
+sdl.mk for more information.
 
-If set, this port needs ghostscript to build.
+=item USE_XFCE
 
-=item USE_GHOSTSCRIPT_RUN
+If set, this port uses the XFCE libraries.  Loads the xfce extension.  See
+xfce.mk for more information.
 
-If set, this port needs ghostscript to run.
+=item USE_XPM
 
-=item GHOSTSCRIPT_PORT
+If set, this port uses the xpm graphics libraries.
 
-The port that provides postscript functionality. Some installations may wish
-to override the default to specify a version without X11 and/or localized
-versions for their nationality.
+=item USE_OPENSSL
 
+If set, this port relies on the OpenSSL package.  Loads the openssl
+extension.  See openssl.mk for more information.
 
-WITH_GHOSTSCRIPT_GPL
-				- If set, this port uses the GPL version of the ghostscript
-				  software instead of the GNU version, which is used otherwise.
-WITH_GHOSTSCRIPT_AFPL
-				- If set, this port uses the AFPL version of the ghostscript
-				  software instead of the GNU version, which is used otherwise.
-
-USE_BISON		- If set to build, adds a build dependancy on bison. run implies a run
-				  depends, both adds a build and run depends.  The legacy
-				  option yes is deprecated (but implies build for now).
-
-USE_IMAKE		- If set, this port uses imake.  Implies USE_X_PREFIX 
-XMKMF			- Set to path of `xmkmf' if not in $PATH
-				  Default: xmkmf -a
-USE_X_PREFIX	- If set, this port installs in ${X11BASE}.  
-USE_XLIB		- If set, this port uses the X libraries. In the USE_LINUX
-				  case the linux X libraries are referenced.
-
-USE_FREETYPE	- If set, this port uses the freetype print libraries.
-USE_GL               - If set, this port uses libGL
-USE_MOTIF		- If set, this port uses a Motif toolkit.  Implies USE_XPM.
-NO_OPENMOTIF	- If set, this port uses a custom Motif toolkit
-				  instead of Openmotif.
-				  Used only when USE_MOTIF is set.
-WANT_LESSTIF	- If set, this port uses Lesstif as Motif toolkit.
-				  Used only when USE_MOTIF is set.  Implies
-				  NO_OPENMOTIF.
-
-USE_SDL		- If set, this port uses the sdl libraries.
-				  See bsd.sdl.mk for more information.
-
-USE_XFCE		- If set, this port uses the XFCE libraries.
-				  See bsd.xfce.mk for more information.
-
-USE_XPM		- If set, this port uses the xpm graphics libraries.
-
-USE_OPENSSL	- If set, this port relies on the OpenSSL package.
-
-USE_OPENLDAP	- If set, this port uses the OpenLDAP libraries.
-				  Implies: WANT_OPENLDAP_VER?=23
-WANT_OPENLDAP_VER
-				- Legal values are: 22, 23, 24
-				  If set to an unkown value, the port is marked BROKEN.
-WANT_OPENLDAP_SASL
-				- If set, the system should use OpenLDAP libraries
-				  with SASL support.
-
-USE_FAM		- If set, this port uses the File Alteration Monitor.
-
-WANT_FAM_SYSTEM
-				- Legal values are: gamin (default),fam
-				  If set to an unknown value, the port is marked IGNORE.
-
-USE_AUTOTOOLS	- If set, this port uses various GNU autotools
-				  (libtool, autoconf, autoheader, automake et al.)
-				  See bsd.autotools.mk for more details.
-
-USE_SCONS - If set, this port uses the Python-based SCons build system
-				  See bsd.scons.mk for more details.
-
-USE_JAVA		- If set, this port relies on the Java language.
-				  Implies inclusion of bsd.java.mk.  (Also see
-				  that file for more information on USE_JAVA_*).
-USE_PYTHON	- If set, this port relies on the Python language.
-				  Implies inclusion of bsd.python.mk. (Also see
-				  that file for more information on USE_PYTHON_*
-				  and USE_PYDISTUTILS).
-USE_RUBY		- If set, this port relies on the Ruby language.
-				  Implies inclusion of bsd.ruby.mk.  (Also see
-				  that file for more information on USE_RUBY_*).
-USE_GNUSTEP	- If set, this port relies on the GNUstep system.
-				  Implies the inclusion of bsd.gnustep.mk.
-				  (Also see that file for more information on
-				  USE_GNUSTEP_*).
-
-USE_GNOME		- A list of the Gnome dependencies the port has (e.g.,
-				  glib12, gtk12).  Implies that the port needs Gnome.
-				  Implies inclusion of bsd.gnome.mk.  See bsd.gnome.mk
-				  or http://www.FreeBSD.org/gnome/docs/porting.html
-				  for more details.
-
-USE_WX			- If set, this port uses the WxWidgets library and related
-				  components.  See bsd.wx.mk for more details.
-USE_KDEBASE_VER
-				- Set to 3 to use the KDE windowing system.
-				  Implies inclusion of bsd.kde.mk.
-USE_KDELIBS_VER
-				- Set to 3 to use the KDE libraries.
-				  Implies inclusion of bsd.kde.mk.
-USE_QT_VER	- Set to 3 to use the QT3 libraries which implies bsd.kde.mk.
-				  Set to 4 to use QT4 which implies bsd.qt.mk.
-
-USE_LINUX		- Set to yes to say the port needs the default linux base port.
-				  Set to value <X>, if the port needs emulators/linux_base-<X>.
-				  If set to "7", a dependency is registered to emulators/linux_base.
-				  Implies appropriate settings for STRIP and STRIP_CMD.
-USE_LINUX_PREFIX
-				- controls the action of PREFIX (see above). Only use this
-				  if the port is a linux infrastructure port (e.g. contains libs
-				  or a sound server which supports the FreeBSD native one),
-				  use the default or the X11 prefix if it's a leaf port
-				  (e.g. a game or program).
-				  Implies NO_MTREE=yes, and, if INSTALLS_SHLIB is defined:
-				    - USE_LINUX=yes
-				    - appropriate invocation of the Linux ldconfig
-USE_LINUX_RPM	- Set to yes to pull in variables and targets useful to Linux
-				  RPM ports.
-				  Implies inclusion of bsd.linux-rpm.mk.
-
-USE_XORG 		- Set to a list of xorg module dependancies.  Implies includsion
-				  of bsd.xorg.mk
-
-AUTOMATIC_PLIST
-				- Set to yes to enable automatic packing list generation.
-				  Currently has no effect unless USE_LINUX_RPM is set.
-
-OVERRIDE_LINUX_BASE_PORT
-				- This specifies the default linux base to use, for valid
-				  values have a look at the description of USE_LINUX. This is
-				  an user-only variable. Don't use it in any port, it's meant
-				  to be used in make.conf.
-
-LINUX_BASE_PORT
-				- This is a read-only variable, it gets set to a value which is
-				  usable in *_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}).
-				  It honors USE_LINUX=foo and OVERRIDE_LINUX_BASE_PORT.
-USE_RC_SUBR	- If set, the ports startup/shutdown script uses the common
-				  routines found in etc/rc.subr and may need to
-				  depend on the sysutils/rc_subr port.
-				  If this is set to a list of files, these files will be
-				  automatically added to ${SUB_FILES}, some %%VAR%%'s will
-				  automatically be expanded, they will be installed in
-				  ${PREFIX}/etc/rc.d and added to the packing list.
-USE_RCORDER	- List of rc.d startup scripts to be called early in the boot
-				  process. This acts exactly like USE_RC_SUBR except that
-				  scripts are installed in /etc/rc.d.
-RC_SUBR		- Set to path of rc.subr.
-				  Default: ${LOCALBASE}/etc/rc.subr.
+=item USE_OPENLDAP
 
-USE_APACHE	- If set, this port relies on an apache webserver.
+If set, this port uses the OpenLDAP libraries.
 
-Conflict checking.  Use if your port cannot be installed at the same time as
-another package.
+Implies: WANT_OPENLDAP_VER?=23
 
-CONFLICTS		- A list of package name patterns that the port conflicts
-				  with, separated by blanks.  The names may include shell
-				  pattern meta-characters "*", "?", "[", "]", and "!".
-				  Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_*
+=item WANT_OPENLDAP_VER
 
-Various directory definitions and variables to control them.
-You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR.
+Legal values are: 22, 23, 24
 
-DESTDIR		- The path to the environment we are installing to.  This is 
-				  only used during the final package install, at which point
-				  mport.install is run chroot'ed into the DESTDIR.
-
-X11BASE		- Where X11 ports install things.
-				  Default: ${LOCALBASE}
-LOCALBASE		- Where non-X11 ports install things.
-				  Default: /usr/local
-LINUXBASE		- Where Linux ports install things.
-				  Default: /compat/linux
-PREFIX		- Where *this* port installs its files.
-				  Default: ${X11BASE} if USE_X_PREFIX is set,
-				  ${LINUXBASE} if  USE_LINUX_PREFIX is set,
-				  otherwise ${LOCALBASE}
-
-IGNORE_PATH_CHECKS	- There are some sanity checks against PREFIX and DESTDIR.
-				  You can diasble these checks with defining
-				  this variable, but this is not recommended!
-				  Only do this if you really know what you are
-				  doing.  These sanity checks are the following:
-				    - DESTDIR can't be /.  Just leave it undefined
-				      if you want to install to /.
-				    - DESTDIR has to be an absolute path.
-				    - DESTDIR can't have a trailing slash.
-				    - PREFIX has to be an absolute path.
-				    - PREFIX can't have a trailing slash.
-
-MASTERDIR		- Where the port finds patches, package files, etc.  Define
-				  this is you have two or more ports that share most of the
-				  files.
-				  Default: ${.CURDIR}
-PORTSDIR		- The root of the ports tree.
-				  Default: /usr/mports
-DISTDIR		- Where to search for and store copies of original sources
-				  Default: ${PORTSDIR}/Distfiles
-PACKAGES		- A top level directory where all packages go (rather than
-				  going locally to each port).
-				  Default: ${PORTSDIR}/Packages/${ARCH}
-WRKDIRPREFIX	- The place to root the temporary working directory
-				  hierarchy.
-				  Default: none
-WRKDIR		- A temporary working directory that gets *clobbered* on clean
-				  Default: ${WRKDIRPREFIX}${.CURDIR}/work
-WRKSRC		- A subdirectory of ${WRKDIR} where the distribution actually
-				  unpacks to.
-				  Default: ${WRKDIR}/${DISTNAME} unless NO_WRKSUBDIR is set,
-				  in which case simply ${WRKDIR}
-NO_WRKSUBDIR	- Assume port unpacks directly into ${WRKDIR}.
-PATCHDIR		- A directory containing any additional patches you made
-				  to port this software to FreeBSD.
-				  Default: ${MASTERDIR}/files
-SCRIPTDIR		- A directory containing any auxiliary scripts
-				  Default: ${MASTERDIR}/scripts
-FILESDIR		- A directory containing any miscellaneous additional files.
-				  Default: ${MASTERDIR}/files
-PKGDIR		- A directory containing any package creation files.
-				  Default: ${MASTERDIR}
+If set to an unkown value, the port is marked BROKEN.
 
+=item WANT_OPENLDAP_SASL
 
-The following change globals behavoirs for the mports system.
+If set, the system should use OpenLDAP libraries with SASL support.
+
+=item USE_FAM
+
+If set, this port uses the File Alteration Monitor.
+
+=item WANT_FAM_SYSTEM
+
+Legal values are: gamin (default),fam
+
+If set to an unknown value, the port is marked IGNORE.
+
+=item USE_AUTOTOOLS
+
+If set, this port uses various GNU autotools (libtool, autoconf, autoheader,
+automake et al.) Loads the autotools extension. See autotools.mk for more
+details.
+
+=item USE_SCONS
+
+If set, this port uses the Python-based SCons build system.  Loads the scons
+extension.  See scons.mk for more details.
+
+=item USE_JAVA
+
+If set, this port relies on the Java language. Implies inclusion of
+java.mk.  (Also see that file for more information on USE_JAVA_*).
+
+=item USE_PYTHON
+
+If set, this port relies on the Python language.  Implies inclusion of
+python.mk. (Also see that file for more information on USE_PYTHON_* and
+USE_PYDISTUTILS).
+
+=item USE_RUBY
+
+If set, this port relies on the Ruby language. Implies inclusion of
+ruby.mk.  (Also see that file for more information on USE_RUBY_*).
+
+=item USE_GNUSTEP
+
+If set, this port relies on the GNUstep system. Implies the inclusion of
+bsd.gnustep.mk. (Also see that file for more information on USE_GNUSTEP_*).
+
+=item USE_GNOME
+
+A list of the Gnome dependencies the port has (e.g., glib12, gtk12). Implies
+that the port needs Gnome. Implies inclusion of gnome.mk.  See gnome.mk or
+http://www.FreeBSD.org/gnome/docs/porting.html for more details.
+
+=item USE_WX
+
+If set, this port uses the WxWidgets library and related components.  See
+wx.mk for more details.
+
+=item USE_KDEBASE_VER
+
+Set to 3 to use the KDE windowing system. Implies inclusion of kde.mk.
+
+=item USE_KDELIBS_VER
+
+Set to 3 to use the KDE libraries. Implies inclusion of bsd.kde.mk.
+
+=item USE_QT_VER
 
-USE_MPORT_TOOLS -			If set, the mport system will use libmport to make and
-                          install mport archives.  The mport binary system will also
-							be used as the package database.
+Set to 3 to use the QT3 libraries which implies kde.mk.
 
-MPORT_MAINTAINER_MODE - 	If set, the mports system will perform checks to see if several
-							steps are successfully completed.  
+Set to 4 to use QT4 which implies qt.mk.
+
+=item USE_LINUX		
+
+Set to yes to say the port needs the default linux base port. Set to value
+E<lt>XE<gt>, if the port needs emulators/linux_base-<X>. If set to "7", a dependency
+is registered to emulators/linux_base. Implies appropriate settings for
+STRIP and STRIP_CMD.
+
+=item USE_LINUX_PREFIX
+
+Controls the action of PREFIX (see below). Only use this if the port is a
+linux infrastructure port (e.g. contains libs or a sound server which
+supports the FreeBSD native one), use the default or the X11 prefix if it's
+a leaf port (e.g. a game or program).
+
+Implies NO_MTREE=yes, and, if INSTALLS_SHLIB is defined:
+
+=over 8
+
+=item USE_LINUX=yes
+
+=item appropriate invocation of the Linux ldconfig
+
+=back
+
+=item USE_LINUX_RPM
+
+Set to yes to pull in variables and targets useful to Linux RPM ports.
+Implies inclusion of linux-rpm.mk.
+
+=item AUTOMATIC_PLIST
+
+Set to yes to enable automatic packing list generation. Currently has no
+effect unless USE_LINUX_RPM is set.
+
+=item OVERRIDE_LINUX_BASE_PORT
+
+This specifies the default linux base to use, for valid values have a look
+at the description of USE_LINUX. This is an user-only variable. Don't use it
+in any port, it's meant to be used in make.conf.
+
+=item LINUX_BASE_PORT
+
+This is a read-only variable, it gets set to a value which is usable in
+*_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}). It honors USE_LINUX=foo
+and OVERRIDE_LINUX_BASE_PORT.
+
+=item USE_XORG
+
+Set to a list of xorg module dependancies.  Implies includsion of xorg.mk
+
+=item USE_RC_SUBR
+
+If set, the ports startup/shutdown script uses the common routines found in
+etc/rc.subr and may need to depend on the sysutils/rc_subr port. If this is
+set to a list of files, these files will be automatically added to
+${SUB_FILES}, some %%VAR%%'s will automatically be expanded, they will be
+installed in ${PREFIX}/etc/rc.d and added to the packing list.
+
+=item USE_RCORDER
+
+ List of rc.d startup scripts to be called early in the boot process. This
+acts exactly like USE_RC_SUBR except that scripts are installed in
+/etc/rc.d.
+
+=item RC_SUBR
+
+Set to path of rc.subr.
+
+Default: ${LOCALBASE}/etc/rc.subr.
+
+=item USE_APACHE
+
+If set, this port relies on an apache webserver.  Loads the apache
+extension.  See apache.mk for more information.
+
+=back
+
+=head2 Conflict checking.  
+
+Use if your port cannot be installed at the same time as
+another package.
+
+=over 4
+
+=item CONFLICTS
+
+A list of package name patterns that the port conflicts with, separated by
+blanks.  The names may include shell pattern meta-characters "*", "?", "[",
+"]", and "!". Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_*
+
+=back
+
+=head2 Fake System
 
 The following are used by the fake system.  The fake system installs a dist's files into
 a temporary directory before final installatioin.
 
-FAKE_OPTS			- Set options for fake.  Available options:
-						libs 		-- fake targets need access to the port's shared libs.
-						bin  		-- fake targets need the port's binaries in $PATH
-						trueprefix 	-- the dist's makefile correctly honors PREFIX and DESTDIR.
-						prefixhack	-- overide prefix, mandir and infodir at fake time.
-FAKE_INSTALLDIR	- A relative directory used to by fake. An install is "faked" into
-					  this dir. 
-					  Default: "fake-inst-${ARCH}"
-FAKE_DESTDIR		- The absolute fake directory.  You almost never want to set this,
-					  but it can be useful for target like do-install or post-install
-					  Default: ${WRKDIR}/${FAKE_INSTALLDIR}
-FAKE_MAKEARGS		- Arguments passed to the dist's makefile by the default fake target.
-					  Default: ${DESTDIRNAME}=${FAKE_DESTDIR}                               
-FAKE_TARGET		- When fake runs the dist's makefile, this is the target used.
-					  Default: ${INSTALL_TARGET}
-FAKE_SETUP		- A list of environment variables used to create the fake environment,
-					  suitable for use with env.  This variable should be considered read-
-                    only. It is documented because often it is useful for calling make
-                    in {pre,post}-install.
-SKIP_FAKE_CHECK	- If MPORT_MAINTAINER_MODE is set, then each file in the plist will
-					  checked to see if it contains ${FAKE_DESTDIR}.  Sometimes this 
-					  produces false positives (a file contains the fake destdir, but 
-					  its presence is harmless).  This variable is a list of files that 
-					  will not be checked.
+=over 4
 
-Variables that serve as convenient "aliases" for your *-install targets.
-Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
+=item FAKE_OPTS
 
-INSTALL_PROGRAM
-				- A command to install binary executables.  (By
-				  default, also strips them, unless ${STRIP} is
-				  overridden to be the empty string).
-INSTALL_KLD		- As INSTALL_KLD, but without the STRIP.
-INSTALL_SCRIPT
-				- A command to install executable scripts.
-INSTALL_DATA		- A command to install sharable data.
-INSTALL_MAN		- A command to install manpages.  May or not compress,
-				  depending on the value of MANCOMPRESSED (see below).
-
-Boolean to control whether manpages are installed.
-
-NO_INSTALL_MANPAGES
-				- If set, this port doesn't want to install any manpages.
-				  Default: not set, i.e. manpages are installed by default.
+Set options for fake.  Available options:
 
-Set the following to specify all manpages that your port installs.
-These manpages will be automatically listed in ${PLIST}.  Depending
-on the setting of NOMANCOMPRESS, the make rules will compress the
-manpages for you.
+=over 8
 
-MANE<lt>sectE<gt>		- A list of manpages, categorized by section.  For
-				  example, if your port has "man/man1/foo.1" and
-				  "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n".
-				  The available sections chars are "123456789LN".
-MLINKS		- A list of E<lt>source, targetE<gt> tuples for creating links
-				  for manpages.  For example, "MLINKS= a.1 b.1 c.3 d.3"
-				  will do an "ln -sf a.1 b.1" and "ln -sf c.3 d.3" in
-				  appropriate directories.  (Use this even if the port
-				  installs its own manpage links so they will show up
-				  correctly in ${PLIST}.)
-MANPREFIX		- The directory prefix for ${MANE<lt>sectE<gt>} and ${MLINKS}.
-				  Default: ${PREFIX}
-MANE<lt>sectE<gt>PREFIX
-				- If manual pages of some sections install in different
-				  locations than others, use these.
-				  Default: ${MANPREFIX}
-MANCOMPRESSED	- This variable can take values "yes", "no" or
-				  "maybe".  "yes" means manpages are installed
-				  compressed; "no" means they are not; "maybe" means
-				  it changes depending on the value of NOMANCOMPRESS.
-				  Default: "yes" if USE_IMAKE is set and NO_INSTALL_MANPAGES
-				  is not set, and "no" otherwise.
-
-Set the following to specify all .info files your port installs.
-
-INFO			- A list of .info files (omitting the trailing ".info");
-				  only one entry per document!
-INFO_PATH		- Path, where all .info files will be installed by your
-				  port, relative to ${PREFIX}
-				  Default: "share/info" if ${PREFIX} is equal to /usr
-				  and "info" otherwise.
-
-Set the following to specify all documentation your port installs into
-${DOCSDIR}
-
-PORTDOCS		- A list of files and directories relative to DOCSDIR.
-				  Shell glob patterns can be used, directories include
-				  the entire subtree of contained files and directories.
-				  Should not be set when no documentation files are
-				  installed (for example because NOPORTDOCS is defined).
-				  Useful for dynamically generated documentation.
+=item libs
 
-Set these variables if your port doesn't need some of the steps.
-Note that there are no NO_PATCH or NO_CONFIGURE variables because
-those steps are empty by default.  NO_EXTRACT is not allowed anymore
-since we need to at least create ${WRKDIR}.  Also, NO_CHECKSUM is a user
-variable and is not to be set in a port's Makefile.  See above for NO_PACKAGE.
+Fake targets need access to the port's shared libs.
 
-NO_BUILD		- Use a dummy (do-nothing) build target.
-NO_INSTALL	- Use a dummy (do-nothing) fake target.  This may sound confusing, 
-				  but typically this will do what you want.
-
-Here are some variables used in various stages.
-
-For options:
-OPTIONS		- List of what WITH_<option> options this port accept.  The
-				  format is <option> "<description>" [on|off]
-				  Example:
-					FLEXRESP "Flexible response to events" off
-				  which tell that an option WITH_FLEXRESP exists for this port,
-				  that by default it is not defined, and that the description to
-				  show to a user in the config dialog is "Flexible response to
-				  events".  If you have more than one option, just chain them
-				  into a single variable.  NOTE: To make options work, you need
-				  to include bsd.port.pre.mk before you start testing the
-				  WITH_xyz variables.
-
-For fetch:
-
-FETCH_CMD		- Full path to ftp/http fetch command if not in $PATH.
-				  Default: "/usr/bin/fetch -ARr"
-FETCH_BEFORE_ARGS
-				- Arguments to ${FETCH_CMD} before filename.
-				  Default: none
-FETCH_AFTER_ARGS
-				- Arguments to ${FETCH_CMD} following filename.
-				  Default: none
-FETCH_ENV		- Environment to pass to ${FETCH_CMD}.
-				  Default: none
-FETCH_REGET	- Times to retry fetching of files on checksum errors.
-				  Default: 1
-
-For extract:
-
-EXTRACT_CMD	- Command for extracting archive: "bzip2" if USE_BZIP2
-				  is set, "unzip" if USE_ZIP is set, "gzip" otherwise.
-EXTRACT_BEFORE_ARGS
-				- Arguments to ${EXTRACT_CMD} before filename.
-				  Default: "-dc"
-EXTRACT_AFTER_ARGS
-				- Arguments to ${EXTRACT_CMD} following filename.
-				  default: "| tar -xf -"
-EXTRACT_PRESERVE_OWNERSHIP
-				- Normally, when run as "root", the extract stage will
-				  change the owner and group of all files under ${WRKDIR}
-				  to 0:0.  Set this variable if you want to turn off this
-				  feature.
-
-For makesum:
-
-NO_SIZE		- Don't record size data in distinfo, needed
-				  when the master site does not report file
-				  sizes, or when multiple valid versions of
-				  a distfile, having different sizes, exist.
-
-For patch:
-
-EXTRA_PATCHES	- Define this variable if you have patches not in
-				  ${PATCHDIR}.  This usually happens when you need to
-				  do some pre-processing before some distribution
-				  patches can be applied.  In that case, fetch them as
-				  extra distfiles, put the processed results in
-				  ${WRKDIR}, then point EXTRA_PATCHES to them.
-				  The patches specified by this variable will be
-				  applied after the normal distribution patches but
-				  before those in ${PATCHDIR}.
-PATCH_WRKSRC	- Directory to apply patches in.
-				  Default: ${WRKSRC}
-
-For configure:
-
-HAS_CONFIGURE	- If set, this port has its own configure script.  The
-				  configure stage will not do anything if this is not set.
-GNU_CONFIGURE	- If set, you are using GNU configure (optional).  Implies
-				  HAS_CONFIGURE.
-PERL_CONFIGURE
-				- Configure using Perl's MakeMaker.  Implies USE_PERL5.
-CONFIGURE_WRKSRC
-				- Directory to run configure in.
-				  Default: ${WRKSRC}
-CONFIGURE_SCRIPT
-				- Name of configure script, relative to ${CONFIGURE_WRKSRC}.
-				  Default: configure
-CONFIGURE_TARGET
-				- The name of target to call when GNU_CONFIGURE is
-				  defined.
-				  Default: ${ARCH}-portbld-freebsd${OSREL}
-CONFIGURE_ARGS
-				- Pass these args to configure if ${HAS_CONFIGURE} is set.
-				  Default if GNU_CONFIGURE is set:
-				  "--prefix=${PREFIX} ${CONFIGURE_TARGET}"
-				  If supported by the configure script, the following will
-				  also be in the default:
-				  "--mandir=${MANPREFIX}/man"
-				  "--infodir=${PREFIX}/${INFO_PATH}"
-				  If GNU_CONFIGURE is not set, CONFIGURE_ARGS defaults to empty.
-CONFIGURE_ENV	- Pass these env (shell-like) to configure if
-				  ${HAS_CONFIGURE} is set.
-CONFIGURE_LOG	- The name of configure log file. It will be printed to
-				  the screen if configure fails.
-				  Default: config.log
-CONFIGURE_FAIL_MESSAGE
-				- A message displayed to users when configure
-				  fails (note: this assumes the do-configure
-				  target has not been overwritten).  This message
-				  will be passed through /usr/bin/fmt before
-				  being shown to the user.
-
-For build and install:
-
-MAKEFILE		- Name of the makefile.
-				  Default: Makefile
-ALL_TARGET	- Default target for sub-make in build stage.
-				  Default: all
-BUILD_WRKSRC	- Directory to do build in (default: ${WRKSRC}).
-MAKE_ENV		- Additional environment vars passed to sub-make in build
-				  and install stages.
-				  Default: see below
-MAKE_ARGS		- Any extra arguments to sub-make in build and install stages.
-				  Default: none
-
-For install (really for fake):
-
-INSTALL_TARGET
-				- Default target for sub-make in install stage.
-				  Default: install
-INSTALL_WRKSRC
-				- Directory to install from
-				  Default: ${WRKSRC}
-NO_MTREE		- If set, will not invoke mtree from bsd.port.mk from
-				  the "install" target.
-MTREE_FILE	- The name of the mtree file.
-				  Default: /etc/mtree/BSD.x11.dist if USE_X_PREFIX is set,
-				  /etc/mtree/BSD.local.dist otherwise.
-PLIST_DIRS	- Directories to be added to packing list
-PLIST_FILES	- Files and symbolic links to be added to packing list
-
-PLIST			- Name of the `packing list' file.
-				  Change this to ${WRKDIR}/PLIST or something if you
-				  need to write to it.  (It is not a good idea for a port
-				  to write to any file outside ${WRKDIR} during a normal
-				  build.)
-				  Default: ${PKGDIR}/pkg-plist
-TMPPLIST		- Name of the `packing list' file after processing
-				  Default: ${WRKDIR}/.PLIST.mktmp
-PLIST_SUB		- List of "variable=value" pair for substitution in ${PLIST}
-				  Default: see below
-
-SUB_FILES		- Files that should be passed through sed and redirected to
-				  ${WRKDIR}.
-				- For each file specified in SUB_FILES, there must be a
-				  corresponding file in ${FILESDIR} whose suffix is ".in". For
-				  instance, if the Makefile specifies "SUB_FILES= pkg-message"
-				  then there must be a file called pkg-message.in in
-				  ${FILESDIR}.
-				- The substitution process is the same as PLIST_FILES, as
-				  described below except that any line beginning with @comment
-				  is deleted.
-SUB_LIST		- List of "variable=value" pair for substitution in ${SUB_FILES}
-				  Some pairs are added by default: eg. PREFIX=${PREFIX}
-
-INSTALLS_SHLIB
-				- If set, bsd.port.mk will automatically run ldconfig commands
-				  from post-install and also add appropriate @exec/@unexec
-				  directives to directories listed in LDCONFIG_DIRS. (deprecated)
-				  If USE_LINUX_PREFIX is defined, the Linux version of ldconfig
-				  will be used instead of the native FreeBSD version (in such
-				  case, LDCONFIG_DIRS is ignored).
-LDCONFIG_DIRS	- List of directories to run ldconfig if INSTALLS_SHLIB is set.
-				  Note that this is passed through sed just like the
-				  rest of PLIST, so ${PLIST_SUB} substitutions also
-				  apply here.  It is recommended that you use
-				  %%PREFIX%% for ${PREFIX}, %%LOCALBASE%% for
-				  ${LOCALBASE_REL} and %%X11BASE%% for ${X11BASE_REL}.
-				  Default: %%PREFIX%%/lib
-USE_LDCONFIG  - If set to "yes", it replaces the old variable INSTALLS_SHLIB.
-				  Otherwise, it can be set to a list of directories to be added to
-				  ${PREFIX}/libdata/ldconfig/${UNIQUENAME}. Note that this
-				  directory is used by ldconfig startup script, it is meant to
-				  replace ldconfig scripts installed by some ports as (sometimes)
-				  000.${UNQUENAME}.sh.  If USE_LINUX_PREFIX is defined, then the
-				  Linux version of ldconfig will be used instead (and LDCONFIG_DIRS
-				  is ignored).				
-USE_LDCONFIG32
-				- Same as USE_LDCONFIG but the target file is
-				  ${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead.
-				  Note: that should only be used on 64-bit architectures.
-
-DOCSDIR		- Name of the directory to install the packages docs in.
-				  Default: ${PREFIX}/share/doc/${PORTNAME}
-EXAMPLESDIR	- Name of the directory to install the packages examples in.
-				  Default: ${PREFIX}/share/examples/${PORTNAME}
-DATADIR		- Name of the directory to install the packages shared data in.
-				  Default: ${PREFIX}/share/${PORTNAME}
-
-DESKTOPDIR	- Name of the directory to install ${DESKTOP_ENTRIES} in.
-				  Default: ${PREFIX}/share/applications
-DESKTOP_ENTRIES
-				- List of desktop entry files to generate and install in
-				  ${DESKTOPDIR}. The format is
-				  "Name" "Comment" "Icon" "Exec" "Categories" StartupNotify
-				  Rules:
-					* Only add desktop entries for applications which do not
-					  require a terminal (ie. X applications).
-					* If the upstream distribution already installs .desktop
-					  files, you do not need to use this.
-					* If you require a more elaborate .desktop file than this
-					  variable permits, write it yourself and install it
-					  in ${DESKTOPDIR}.
-				  Notes:
-					* Comment and Icon may be empty strings (""). Categories
-					  may be an empty string in some cases (see below). The
-					  other fields are mandatory.
-					* If Categories is an empty string, bsd.port.mk will try
-					  to deduce a default value using the CATEGORIES variable.
-					  If the deduction fails, you will have to set Categories
-					  manually. You should check the generated value using
-					  "make desktop-categories", and override it if necessary.
-					* Exec will also be used to name the .desktop file.
-					* The files will be automatically added to ${PLIST}.
-				  Example:
-					"X Window Information" \
-					"Get information about X windows" \
-					"wininfo.png" \
-					"wininfo" \
-					"Application;System;" \
-					true
-				  See http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
-				  for an explanation of the fields. If you need to create more
-				  than one file, just chain them into a single variable.
-
-Note that the install target will automatically add manpages (see
-above) and also substitute special sequences of characters (delimited
-by "%%") as defined in PLIST_SUB to generate ${TMPPLIST}.  For
-instance, "OSREL=${OSREL}" in PLIST_SUB causes all occurrences of
-"%%OSREL%%" in ${PLIST} to be substituted by the value of OSREL.
-${TMPPLIST} is generated before the do-install stage.  If you are
-generating the packing list on-the-fly, make sure it's generated before
-do-install is called!
-
-For package:
-
-NO_LATEST_LINK
-				- Do not install the "Latest" link for package.  Define this
-				  if this port is a beta version of another stable port
-				  which is also in the tree.
-LATEST_LINK	- Install the "Latest" link for the package as ___.  Define
-				  this if the "Latest" link name will be incorrectly determined.
-
-This is used in all stages:
-
-SCRIPTS_ENV	- Additional environment vars passed to scripts in
-				  ${SCRIPTDIR} executed by bsd.port.mk.
-				  Default: see below
-
-Finally, variables to change if you want a special behavior.  These
-are for debugging purposes.  Don't set them in your Makefile.
-
-ECHO_MSG		- Used to print all the '===>' style prompts - override this
-				  to turn them off.
-				  Default: ${ECHO_CMD}
-PATCH_DEBUG	- If set, print out more information about the patches as
-				  it attempts to apply them.
-PORT_DBDIR	- Where port configuration options are recorded.
-				  Default: ${DESTDIR}/var/db/ports
-NO_DEPENDS	- Don't verify build of dependencies.
-CHECKSUM_ALGORITHMS
-				- Different checksum algorithms to check for verifying the
-				  integrity of the distfiles. The absence of the algorithm
-				  in distinfo doesn't make it fail. 
-				  Default: md5 sha256
-NO_CHECKSUM	- Don't verify the checksum.  Typically used when
-				  when you noticed the distfile you just fetched has
-				  a different checksum and you intend to verify if
-				  the port still works with it.
-USE_PACKAGE_DEPENDS
-				- Install dependencies from existing packages instead
-				  of building the port from scratch.
-INSTALL_AS_USER
-				- Define this to install as the current user, intended
-				  for systems where you have no root access.
-DISABLE_SIZE	- Do not check the size of a distfile even if the SIZE field
-				  has been specified in distinfo.  This is useful
-				  when using an alternate FETCH_CMD.
+=item bin
 
+Fake targets need the port's binaries in $PATH
 
-=head2 Miscellaneous Variables
+=item trueprefix
 
-Note: the distinction between the USE_* and WANT_* variables, and the
-WITH_* and WITHOUT_* variables, are that the former are restricted to
-usage inside the ports framework, and the latter are reserved for user-
-settable options.  (Setting USE_* in /etc/make.conf is always wrong).
+Set this when the dist's makefile correctly honors PREFIX and DESTDIR. (Note
+case)
+
+=item prefixhack
+
+overide prefix, mandir and infodir at fake time.
+
+=back
+
+=item FAKE_INSTALLDIR
+
+A relative directory used to by fake. An install is "faked" into this dir.
+
+Default: "fake-inst-${ARCH}"
+
+=item FAKE_DESTDIR
+
+The absolute fake directory.  Thou shalt not set this, but it can
+be useful for targets like do-install or post-install.
+
+Default: ${WRKDIR}/${FAKE_INSTALLDIR}
+
+=item FAKE_MAKEARGS
+
+Arguments passed to the dist's makefile by the default fake target.
+
+Default: ${DESTDIRNAME}=${FAKE_DESTDIR}                               
+
+=item FAKE_TARGET
+
+When fake runs the dist's makefile, this is the target used.
+
+Default: ${INSTALL_TARGET}
+
+=item FAKE_SETUP
+
+A list of environment variables used to create the fake environment,
+suitable for use with env.  This variable should be considered read- only.
+It is documented because often it is useful for calling make in
+{pre,post}-install.
+
+=item SKIP_FAKE_CHECK
+
+If MPORT_MAINTAINER_MODE is set, then each file in the plist will checked to
+see if it contains ${FAKE_DESTDIR}.  Sometimes this produces false positives
+(a file contains the fake destdir, but its presence is harmless).  This
+variable is a list of files that will not be checked.
+
+=back
+
+=head2 Install Programs
+
+Variables that serve as convenient "aliases" for your *-install targets.
+Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin".
+
+=over 4
+
+=item INSTALL_PROGRAM
+
+A command to install binary executables.  (By default, also strips them,
+unless ${STRIP} is overridden to be the empty string).
+
+=item INSTALL_KLD
+
+Same as INSTALL_PROGRAM, but without the STRIP.
+
+=item INSTALL_SCRIPT
+
+A command to install executable scripts.
+
+=item INSTALL_DATA
+
+A command to install sharable data.
+
+=item INSTALL_MAN
+
+A command to install manpages.  May or not compress, depending on the value
+of MANCOMPRESSED (see below).
+
+=back
+
+=head2 Port Docs
+
+=over 4
+
+=item NO_INSTALL_MANPAGES
+
+If set, this port doesn't want to install any manpages.
+Default: not set, i.e. manpages are installed by default.
+
+=back
+
+Set the following to specify all manpages that your port installs.
+These manpages will be automatically listed in ${PLIST}.  Depending
+on the setting of NOMANCOMPRESS, the make rules will compress the
+manpages for you.
+
+=over 4
+
+=item MANE<lt>sectE<gt>
+
+A list of manpages, categorized by section.  For example, if your port has
+"man/man1/foo.1" and "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n".
+The available sections chars are "123456789LN".
+
+=item MLINKS
+
+A list of E<lt>source, targetE<gt> tuples for creating links for manpages. 
+For example, "MLINKS= a.1 b.1 c.3 d.3" will do an "ln -sf a.1 b.1" and "ln
+-sf c.3 d.3" in appropriate directories.  (Use this even if the port
+installs its own manpage links so they will show up correctly in ${PLIST}.)
+
+
+=item MANPREFIX
+
+The directory prefix for ${MANE<lt>sectE<gt>} and ${MLINKS}.
+
+Default: ${PREFIX}
+
+=item MANE<lt>sectE<gt>PREFIX
+
+If manual pages of some sections install in different locations than others,
+use these.
+
+Default: ${MANPREFIX}
+
+=item MANCOMPRESSED
+
+This variable can take values "yes", "no" or "maybe".  "yes" means manpages
+are installed compressed; "no" means they are not; "maybe" means it changes
+depending on the value of NOMANCOMPRESS. Default: "yes" if USE_IMAKE is set
+and NO_INSTALL_MANPAGES is not set, and "no" otherwise.
+
+=item INFO
+
+A list of .info files (omitting the trailing ".info"); only one entry per
+document!
+
+=item INFO_PATH
+
+Path, where all .info files will be installed by your port, relative to
+${PREFIX}
+
+Default: "share/info" if ${PREFIX} is equal to /usr and "info" otherwise.
+
+=item PORTDOCS
+
+A list of files and directories relative to DOCSDIR. Shell glob patterns can
+be used, directories include the entire subtree of contained files and
+directories. Should not be set when no documentation files are installed
+(for example because NOPORTDOCS is defined). Useful for dynamically
+generated documentation.
+
+=back
+
+=head2 Skipping Steps
+
+Set these variables if your port doesn't need some of the steps.
+Note that there are no NO_PATCH or NO_CONFIGURE variables because
+those steps are empty by default.  NO_EXTRACT is not allowed anymore
+since we need to at least create ${WRKDIR}.  Also, NO_CHECKSUM is a user
+variable and is not to be set in a port's Makefile.  See above for NO_PACKAGE.
+
+=over 4
+
+=item NO_BUILD
+
+Use a dummy (do-nothing) build target.
+
+=item NO_INSTALL
+
+Use a dummy (do-nothing) fake target.  This may sound confusing, but
+typically this will do what you want.
+
+=back
+
+=head2 Target Specific Variables
+
+=head3 config
+
+=over 4
+
+=item OPTIONS
+
+List  of what WITH_<option> options this port accept.  The
+format is <option> "<description>" [on|off]
+
+Example:
+    FLEXRESP "Flexible response to events" off
+
+Which tells that an option WITH_FLEXRESP exists for this port, that by
+default it is not defined, and that the description to show to a user in the
+config dialog is "Flexible response to events".  If you have more than one
+option, just chain them into a single variable.  NOTE: To make options work,
+you need to include bsd.port.pre.mk or bsd.mport.options.mk before you start
+testing the WITH_xyz and WITHOUT_xyz variables.
+
+=item PORT_DBDIR
+
+Where port configuration options are recorded.
+
+Default: ${DESTDIR}/var/db/ports
+
+=back
+
+=head3 fetch
+
+=over 4
+
+=item FETCH_CMD
+
+Full path to ftp/http fetch command if not in $PATH.
+
+Default: "/usr/bin/fetch -ARr"
+
+=item FETCH_BEFORE_ARGS
+
+Arguments to ${FETCH_CMD} before filename.
+
+Default: none
+
+=item FETCH_AFTER_ARGS
+
+Arguments to ${FETCH_CMD} following filename.
+
+Default: none
+
+=item FETCH_ENV
+
+Environment to pass to ${FETCH_CMD}.
+
+Default: none
+
+=item FETCH_REGET
+
+Times to retry fetching of files on checksum errors.
+
+Default: 1
+
+=item DISABLE_SIZE
+
+Do not check the size of a distfile even if the SIZE field has been
+specified in distinfo.  This is useful when using an alternate FETCH_CMD.
+
+=item CHECKSUM_ALGORITHMS
+
+Different checksum algorithms to check for verifying the integrity of the
+distfiles. The absence of the algorithm in distinfo doesn't make it fail.
+
+Default: md5 sha256
+
+=item NO_CHECKSUM
+
+Don't verify the checksum.  Typically used when when you noticed the
+distfile you just fetched has a different checksum and you intend to verify
+if the port still works with it.
+
+
+=back 
+
+=head3 extract
+
+=over 4
+
+=item EXTRACT_CMD
+
+Command for extracting archive: "bzip2" if USE_BZIP2 is set, "unzip" if
+USE_ZIP is set, "gzip" otherwise.
+
+=item EXTRACT_BEFORE_ARGS
+
+Arguments to ${EXTRACT_CMD} before filename.
+
+Default: "-dc"
+
+=item EXTRACT_AFTER_ARGS
+
+Arguments to ${EXTRACT_CMD} following filename.
+
+Default: "| tar -xf -"
+
+=item EXTRACT_PRESERVE_OWNERSHIP
+
+Normally, when run as "root", the extract stage will change the owner and
+group of all files under ${WRKDIR} to 0:0.  Set this variable if you want to
+turn off this feature.
+
+=back
+
+=head3 makesum
+
+=over 4
+
+=item NO_SIZE
+
+Don't record size data in distinfo, needed when the master site does not
+report file sizes, or when multiple valid versions of a distfile, having
+different sizes, exist.
+
+=back
+
+=head3 patch
+
+=over 4 
+
+=item EXTRA_PATCHES
+
+Define this variable if you have patches not in ${PATCHDIR}.  This usually
+happens when you need to do some pre-processing before some distribution
+patches can be applied.  In that case, fetch them as extra distfiles, put
+the processed results in ${WRKDIR}, then point EXTRA_PATCHES to them. The
+patches specified by this variable will be applied after the normal
+distribution patches but before those in ${PATCHDIR}.
+
+=item PATCH_WRKSRC
+
+Directory to apply patches in.
+
+Default: ${WRKSRC}
+
+=item PATCH_DEBUG
+
+If set, print out more information about the patches as it attempts to apply
+them.
+
+=back
+
+=head3 configure 
+
+=over 4
+
+=item HAS_CONFIGURE
+
+If set, this port has its own configure script.  The configure stage will
+not do anything if this is not set.
+
+=item GNU_CONFIGURE
+
+If set, you are using GNU configure (optional).  Implies HAS_CONFIGURE.
+
+=item PERL_CONFIGURE
+
+Configure using Perl's MakeMaker.  Implies USE_PERL5.  
+
+=item CONFIGURE_WRKSRC
+
+Directory to run configure in.
+
+Default: ${WRKSRC}
+
+=item CONFIGURE_SCRIPT
+
+Name of configure script, relative to ${CONFIGURE_WRKSRC}.
+
+Default: configure
+
+=item CONFIGURE_TARGET
+
+The name of target to call when GNU_CONFIGURE is defined.
+
+Default: ${ARCH}-portbld-freebsd${OSREL}
+
+=item CONFIGURE_ARGS
+
+Pass these args to configure if ${HAS_CONFIGURE} is set. Default if
+GNU_CONFIGURE is set:
+
+ "--prefix=${PREFIX} ${CONFIGURE_TARGET}"
+
+If supported by the configure script, the following will also be in the
+default:
+
+ "--mandir=${MANPREFIX}/man --infodir=${PREFIX}/${INFO_PATH}"
+
+If GNU_CONFIGURE is not set, CONFIGURE_ARGS defaults to empty.
+
+=item CONFIGURE_ENV
+
+Pass these env (shell-like) to configure if ${HAS_CONFIGURE} is set.
+
+=item CONFIGURE_LOG
+
+The name of configure log file. It will be printed to the screen if
+configure fails.
+
+Default: config.log
+
+=item CONFIGURE_FAIL_MESSAGE
+
+A message displayed to users when configure fails (note: this assumes the
+do-configure target has not been overwritten).  This message will be passed
+through /usr/bin/fmt before being shown to the user.
+
+=back
+
+=head3 build
+
+=over 4
+
+=item MAKEFILE
+
+Name of the makefile.
+
+Default: Makefile
+
+=item ALL_TARGET
+
+Default target for dist's makefile in build stage.
+
+Default: all
+
+=item BUILD_WRKSRC
+
+Directory to do build in (default: ${WRKSRC}).
+
+=item MAKE_ENV
+
+Additional environment vars passed to make process in build
+and fake stages.
+
+=item MAKE_ARGS
+
+Any extra arguments to sub-make in build and install stages.
+
+Default: none
+
+=back
+
+=head3 fake
+
+=over 4
+
+=item INSTALL_WRKSRC
+
+Directory to install from.
+
+Default: ${WRKSRC}
+
+=item NO_MTREE
+
+If set, will not invoke mtree from bsd.mport.mk for the "fake" target.
+
+=item MTREE_FILE
+
+The name of the mtree file.
+
+Default: /etc/mtree/BSD.local.dist 
+
+=item PLIST_DIRS
+
+Directories to be added to packing list
+
+=item PLIST_FILES
+
+Files and symbolic links to be added to packing list
+
+=item PLIST
+
+Name of the `packing list' file. Change this to ${WRKDIR}/PLIST or something
+if you need to write to it.  (It is not a good idea for a port to write to
+any file outside ${WRKDIR} during a normal build.)
+
+Default: ${PKGDIR}/pkg-plist
+
+=item TMPPLIST
+
+Name of the `packing list' file after processing
+
+Default: ${WRKDIR}/.PLIST.mktmp
+
+=item PLIST_SUB
+
+List of "variable=value" pair for substitution in ${PLIST}
+
+=item SUB_FILES		
+
+Files that should be passed through sed and redirected to ${WRKDIR}.
+
+=over 8
+
+=item *
+
+For each file specified in SUB_FILES, there must be a corresponding file in
+${FILESDIR} whose suffix is ".in". For instance, if the Makefile specifies
+"SUB_FILES= pkg-message" then there must be a file called pkg-message.in in
+${FILESDIR}.
+
+=item *
+
+The substitution process is the same as PLIST_FILES, as described below
+except that any line beginning with @comment is deleted.
+
+=back
+
+=item SUB_LIST
+
+List of "variable=value" pair for substitution in ${SUB_FILES}
+
+Some pairs are added by default: eg. PREFIX=${PREFIX}
+
+=item INSTALLS_SHLIB
+
+B<deprecated>.  Use USE_LDCONFIG instead.
+
+If set, bsd.mport.mk will automatically run ldconfig commands
+from post-install and also add appropriate @exec/@unexec
+directives to directories listed in LDCONFIG_DIRS. 
+
+If USE_LINUX_PREFIX is defined, the Linux version of ldconfig
+will be used instead of the native FreeBSD version (in such
+case, LDCONFIG_DIRS is ignored).
+
+=item LDCONFIG_DIRS
+
+List of directories to run ldconfig if INSTALLS_SHLIB is set. Note that this
+is passed through sed just like the rest of PLIST, so ${PLIST_SUB}
+substitutions also apply here.  It is recommended that you use
+%%PREFIX%% for ${PREFIX}, %%LOCALBASE%% for
+${LOCALBASE_REL} and %%X11BASE%% for ${X11BASE_REL}.
+Default: %%PREFIX%%/lib
+
+=item USE_LDCONFIG
+
+If set to "yes", it replaces the old variable INSTALLS_SHLIB. Otherwise, it
+can be set to a list of directories to be added to
+${PREFIX}/libdata/ldconfig/${UNIQUENAME}. Note that this directory is used
+by ldconfig startup script, it is meant to replace ldconfig scripts
+installed by some ports as (sometimes) 000.${UNQUENAME}.sh.  If
+USE_LINUX_PREFIX is defined, then the Linux version of ldconfig will be used
+instead (and LDCONFIG_DIRS is ignored).
+
+=item USE_LDCONFIG32
+
+Same as USE_LDCONFIG but the target file is
+${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead.
+
+Note: that should only be used on 64-bit architectures.
+
+=item DOCSDIR
+
+Name of the directory to install the packages docs in.
+
+Default: ${PREFIX}/share/doc/${PORTNAME}
+
+=item EXAMPLESDIR
+
+Name of the directory to install the packages examples in.
+
+Default: ${PREFIX}/share/examples/${PORTNAME}
+
+=item DATADIR
+
+Name of the directory to install the packages shared data in.
+
+Default: ${PREFIX}/share/${PORTNAME}
+
+=item DESKTOPDIR
+
+Name of the directory to install ${DESKTOP_ENTRIES} in.
+
+Default: ${PREFIX}/share/applications
+
+=item DESKTOP_ENTRIES
+
+List of desktop entry files to generate and install in ${DESKTOPDIR}. The
+format is"Name" "Comment" "Icon" "Exec" "Categories" StartupNotify
+
+Rules:
+
+=over 8
+
+=item * 
+
+Only add desktop entries for applications which do not require a terminal
+(ie. X applications).
+
+=item * 
+
+If the upstream distribution already installs .desktop files, you do not
+need to use this.
+
+=item * 
+
+If you require a more elaborate .desktop file than this variable permits,
+write it yourself and install it in ${DESKTOPDIR}.
+
+=back
+
+Notes:
+
+=over 8
+
+=item * 
+
+Comment and Icon may be empty strings (""). Categories may be an empty
+string in some cases (see below). The other fields are mandatory.
+
+=item * 
+
+If Categories is an empty string, bsd.port.mk will try to deduce a default
+value using the CATEGORIES variable. If the deduction fails, you will have
+to set Categories manually. You should check the generated value using "make
+desktop-categories", and override it if necessary.
+
+=item * 
+
+Exec will also be used to name the .desktop file.
+
+=item * 
+
+The files will be automatically added to ${PLIST}.
+
+Example:
+ "X Window Information" \
+ "Get information about X windows" \
+ "wininfo.png" \
+ "wininfo" \
+ "Application;System;" \
+ true
+
+See
+http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+for an explanation of the fields. If you need to create more than one file,
+just chain them into a single variable.
+
+=back
+
+=back
+
+Note that the fake target will automatically add manpages (see above) and
+also substitute special sequences of characters (delimited by "%%") as
+defined in PLIST_SUB to generate ${TMPPLIST}.  For instance,
+"OSREL=${OSREL}" in PLIST_SUB causes all occurrences of "%%OSREL%%" in
+${PLIST} to be substituted by the value of OSREL. ${TMPPLIST} is generated
+before the do-install stage.  If you are generating the packing list
+on-the-fly, make sure it's generated before do-install is called!
+
+=head3 package
+
+=over 4
+
+=item NO_LATEST_LINK
+
+Do not install the "Latest" link for package.  Define this if this port is a
+beta version of another stable port which is also in the tree.
+
+=item LATEST_LINK
+
+Install the "Latest" link for the package as ___.  Define this if the
+"Latest" link name will be incorrectly determined.
+
+=back
+
+=head2 Miscellaneous Variables
+
+=over 4
+
+=item SCRIPTS_ENV
+
+Additional environment vars passed to scripts in ${SCRIPTDIR} executed by
+bsd.mport.mk.
+
+Default: see below
+
+=item ECHO_MSG
+
+Used to print all the '===>' style prompts - override this to turn them off.
+
+Default: ${ECHO_CMD}
+
+
+=item USE_SUBMAKE
+
+Set this if you want that each of the port's main 6 targets (extract, patch,
+configure, build, install and package) to be executed in a separate make(1)
+process. Useful when one of the stages needs to influence make(1) variables
+of the later stages using ${WRKDIR}/Makefile.inc generated on the fly.
+
+Default: not set.
 
-=over 4
 
 =item WITH_DEBUG
 


More information about the Midnightbsd-cvs mailing list