[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