diff options
author | krion <krion@FreeBSD.org> | 2004-12-10 05:44:48 +0800 |
---|---|---|
committer | krion <krion@FreeBSD.org> | 2004-12-10 05:44:48 +0800 |
commit | cce70ecfae53a6dadbd60138fb5922236e1d8096 (patch) | |
tree | c0f2583cd2c0002b04472d2a214da65fd960f4a3 | |
parent | 5ecd77856dce598ccb81e7f1b45acb8770dea5e9 (diff) | |
download | freebsd-ports-graphics-cce70ecfae53a6dadbd60138fb5922236e1d8096.tar.gz freebsd-ports-graphics-cce70ecfae53a6dadbd60138fb5922236e1d8096.tar.zst freebsd-ports-graphics-cce70ecfae53a6dadbd60138fb5922236e1d8096.zip |
* Add new command macros: DATE, FMT, MKTEMP, OBJDUMP,
and use command macro SORT. [1]
* Clean up the comments, and use 4 column tabs everywhere. [2]
* Introduce 2 new variables: SUB_FILES and SUB_LIST. [3]
* Document DEPRECATED and EXPIRATION_DATE variables. [4]
* Sanitize the intermittent output by the build infrastructure
so that cutting and pasting from it no longer interferes
with GNATS-tags. [5]
* Honour configure arguments for USE_XLIB if USE/WITH_LIBTOOL_
is used. [6]
* Properly document 'describe' target. [7]
* Fix pkg-plist handling for ports that set a non-standard
PREFIX. [8]
* Defaults INDEXFILE to INDEX-6 on 6-CURRENT (600000). [8]
PR: ports/62298 [1], ports/73633 [2], ports/67151 [3],
ports/74310 [4]. ports/74758 [5], ports/74536 [6],
ports/74710 [7], ports/74691 [8]
Submitted by: eik [1], edwin [2], Florent Thoumie <flz@xbsd.org>,
sem [4], vs [5], ahze [6], linimon [7], kris [8]
-rw-r--r-- | Mk/bsd.port.mk | 939 | ||||
-rw-r--r-- | Mk/bsd.port.subdir.mk | 4 |
2 files changed, 531 insertions, 412 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index f4d955b86ef..5ac2b3f6718 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -30,8 +30,8 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # is listed), a port is maintained by the subscribers of the ports@FreeBSD.org # mailing list, and any correspondence should be directed there. # -# MAINTAINER - The e-mail address of the contact person for this port -# (default: ports@FreeBSD.org). +# MAINTAINER - The e-mail address of the contact person for this port. +# Default: ports@FreeBSD.org # # These are meta-variables that are automatically set to the system # you are running on. These are provided in case you need to take @@ -73,46 +73,50 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # Optional. # PKGNAMESUFFIX - Suffix to specify compilation options. Optional. # UNIQUENAME - A name for your port that is globally unique. By default, -# this is set to ${LATEST_LINK} when LATEST_LINK is set, -# and to ${PKGNAMEPREFIX}${PORTNAME} otherwise. -# DISTVERSION - Vendor version of the distribution (default: ${PORTVERSION}) +# this is set to ${LATEST_LINK} when LATEST_LINK is set, +# and to ${PKGNAMEPREFIX}${PORTNAME} otherwise. +# DISTVERSION - Vendor version of the distribution. +# Default: ${PORTVERSION} # DISTNAME - Name of port or distribution used in generating -# WRKSRC and DISTFILES below (default: +# WRKSRC and DISTFILES below. +# Default: # ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}) # CATEGORIES - A list of descriptive categories into which this port falls. # Mandatory. # # These variable describe how to fetch files required for building the port. # -# DISTFILES - Name(s) of archive file(s) containing distribution -# (default: ${DISTNAME}${EXTRACT_SUFX}). Set this to -# an empty string if the port doesn't require it. -# EXTRACT_SUFX - Suffix for archive names (default: .tar.bz2 if USE_BZIP2 -# is set, .zip if USE_ZIP is set, .tar.gz otherwise). +# DISTFILES - Name(s) of archive file(s) containing distribution. +# Set this to an empty string if the port doesn't require it. +# Default: ${DISTNAME}${EXTRACT_SUFX} +# EXTRACT_SUFX - Suffix for archive names # You never have to set both DISTFILES and EXTRACT_SUFX. +# Default: .tar.bz2 if USE_BZIP2 is set, .zip if USE_ZIP is +# set, .tar.gz otherwise). # MASTER_SITES - Primary location(s) for distribution files if not found # locally. See bsd.sites.mk for common choices for # MASTER_SITES. -# MASTER_SITE_SUBDIR - Subdirectory of MASTER_SITES (default: empty). -# Will sometimes need to be set to ${PORTNAME} for (e.g.) -# MASTER_SITE_SOURCEFORGE. Only guaranteed to work for -# choices of ${MASTER_SITES} defined in bsd.sites.mk. +# MASTER_SITE_SUBDIR +# - Subdirectory of MASTER_SITES. Will sometimes need to be +# set to ${PORTNAME} for (e.g.) MASTER_SITE_SOURCEFORGE. +# Only guaranteed to work for choices of ${MASTER_SITES} +# defined in bsd.sites.mk. +# Default: not set. # PATCHFILES - Name(s) of additional files that contain distribution -# patches (default: none). make will look for them at -# PATCH_SITES (see below). They will automatically be -# uncompressed before patching if the names end with -# ".gz", ".bz2" or ".Z". +# patches. Make will look for them at PATCH_SITES (see below). +# They will automatically be uncompressed before patching if +# the names end with ".gz", ".bz2" or ".Z". +# Default: not set. # PATCH_SITES - Primary location(s) for distribution patch files # if not found locally. -# DIST_SUBDIR - Suffix to ${DISTDIR} (default: none). If set, all -# ${DISTFILES} and ${PATCHFILES} will be put in this -# subdirectory of ${DISTDIR} (see below). Also they will -# be fetched in this subdirectory from FreeBSD mirror sites. +# DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES} and +# ${PATCHFILES} will be put in this subdirectory of +# ${DISTDIR} (see below). Also they will be fetched in this +# subdirectory from FreeBSD mirror sites. # ALLFILES - All of ${DISTFILES} and ${PATCHFILES}. -# IGNOREFILES - If some of the ${ALLFILES} are not checksum-able, set -# this variable to their names (default: empty). -# EXTRACT_ONLY - If defined, a subset of ${DISTFILES} you want to -# actually extract (default: none). +# IGNOREFILES - If set, don't perform checksum checks on these files. +# EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to +# actually extract. # # (NOTE: by convention, the MAINTAINER entry (see above) should go here.) # @@ -120,17 +124,20 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # the user's preferred location to fetch files from. You should # rarely need to set these. # -# MASTER_SITE_BACKUP - Backup location(s) for distribution files and patch +# MASTER_SITE_BACKUP +# - Backup location(s) for distribution files and patch # files if not found locally and ${MASTER_SITES}/${PATCH_SITES} -# (default: -# ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/) -# MASTER_SITE_OVERRIDE - If set, override the MASTER_SITES setting with this +# Default: +# ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ +# MASTER_SITE_OVERRIDE +# - If set, override the MASTER_SITES setting with this # value. -# MASTER_SITE_FREEBSD - If set, only use ${MASTER_SITE_BACKUP} for +# MASTER_SITE_FREEBSD +# - If set, only use ${MASTER_SITE_BACKUP} for # MASTER_SITES. -# CD_MOUNTPTS - List of CDROM mountpoints to look for distfiles under. -# This variable supercedes CD_MOUNTPT, which is -# obsolete. +# CD_MOUNTPTS - List of CDROM mountpoints to look for distfiles under. +# This variable supercedes CD_MOUNTPT, which is +# obsolete. # # Set these if your port should not be built under certain circumstances. # These are string variables; you should set them to the reason why @@ -153,70 +160,80 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # BROKEN - Port is believed to be broken. Package builds will # still be attempted on the bento package cluster to # test this assumption. +# DEPRECATED - Port is deprecated to install. Advisory only. +# EXPIRATION_DATE +# - If DEPRECATED is set, determines a date when +# the port is planed to remove. The date format is +# ISO 8601 (YYYY-MM-DD). # # In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles # or patchfiles have redistribution restrictions, set the following # to the list of such files. # -# RESTRICTED_FILES - List of files that cannot be redistributed -# (default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED -# or NO_CDROM is set, empty otherwise). +# RESTRICTED_FILES +# - List of files that cannot be redistributed. +# Default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED +# or NO_CDROM is set, empty otherwise. # # These variables are booleans, so you don't need to set them to the reason. # -# IS_INTERACTIVE - Set this if your port needs to interact with the user +# IS_INTERACTIVE +# - Set this if your port needs to interact with the user # during any step in a package build. User can then decide # to skip this port by setting ${BATCH}, or compiling only # the interactive ports by setting ${INTERACTIVE}. -# (Default: not set.) +# Default: not set. # 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.) +# Default: not set. # # Set these if your port only makes sense to certain architectures. # They are lists containing names for them (e.g., "alpha i386"). # (Defaults: not set.) # -# ONLY_FOR_ARCHS - Only build ports if ${ARCH} matches one of these. -# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these. +# ONLY_FOR_ARCHS +# - Only build ports if ${ARCH} matches one of these. +# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these. # # These variables control options about how a port gets built and/or # are shorthand notations for common sets of dependencies. # Use these if your port uses some of the common software packages. By # convention these should be set to 'yes', although they only need to be -# defined. (Defaults: not set, unless explicitly indicated below.) +# defined. Defaults: not set, unless explicitly indicated below. # # 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). # -# USE_BZIP2 - Says that the port tarballs use bzip2, not gzip, for +# USE_BZIP2 - If set, this port tarballs use bzip2, not gzip, for # compression. -# USE_ZIP - Says that the port distfile uses zip, not tar w/[bg]zip +# USE_ZIP - If set, this port distfile uses zip, not tar w/[bg]zip # for compression. -# USE_GCC - Says that the port requires this version of gcc, either in +# USE_GCC - If set, this port requires this version of gcc, either in # the system or installed from a port. -# USE_GMAKE - Says that the port uses gmake. -# GMAKE - Set to path of GNU make if not in $PATH (default: gmake). +# USE_GMAKE - If set, this port uses gmake. +# GMAKE - Set to path of GNU make if not in $PATH. +# Default: gmake ## -# USE_GETOPT_LONG - Says that the port uses getopt_long. If OSVERSION +# USE_GETOPT_LONG +# - If set, this port uses getopt_long. If OSVERSION # less than 500041, automatically adds devel/libgnugeopt # to LIB_DEPENDS, and pass adjusted values of # CPPFLAGS and LDFLAGS in CONFIGURE_ENV. -# Default: not set. ## -# USE_ICONV - Says that the port uses libiconv. -# USE_GETTEXT - Says that the port uses GNU gettext (libintl). +# USE_ICONV - If set, this port uses libiconv. +# USE_GETTEXT - If set, this port uses GNU gettext (libintl). ## -# USE_PERL5 - Says that the port uses perl5 in one or more of the extract, -# patch, build, install or run phases. -# USE_PERL5_BUILD - Says that the port uses perl5 in one or more of the extract, -# patch, build or install phases. -# USE_PERL5_RUN - Says that the port uses perl5 for running. +# USE_PERL5 - If set, this port uses perl5 in one or more of the extract, +# patch, build, install or run phases. +# USE_PERL5_BUILD +# - If set, this port uses perl5 in one or more of the extract, +# patch, build or install phases. +# USE_PERL5_RUN - If set, this port uses perl5 for running. # PERL5 - Set to full path of perl5, either in the system or # installed from a port. # PERL - Set to full path of perl5, either in the system or @@ -225,151 +242,146 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # PERL_VERSION - Full version of perl5 (see below for current value). # PERL_VER - Short version of perl5 (see below for current value). # PERL_LEVEL - Perl version as an integer of the form MNNNPP, where -# M is major version, N is minor version, and P is -# the patch level. E.g., PERL_VERSION=5.6.1 would give -# a PERL_LEVEL of 500601. This can be used in comparisons -# to determine if the version of perl is high enough, -# whether a particular dependency is needed, etc. +# M is major version, N is minor version, and P is +# the patch level. E.g., PERL_VERSION=5.6.1 would give +# a PERL_LEVEL of 500601. This can be used in comparisons +# to determine if the version of perl is high enough, +# whether a particular dependency is needed, etc. # PERL_ARCH - Directory name of architecture dependent libraries # (value: ${ARCH}-freebsd). # PERL_PORT - Name of the perl port that is installed # (value: perl5) # SITE_PERL - Directory name where site specific perl packages go. -# This value is added to PLIST_SUB. -# PERL_MODBUILD - Use Module::Build to configure, build and install -# port. -# -# USE_GHOSTSCRIPT - Says that the port needs ghostscript to both -# build and run. Default: not set. -# USE_GHOSTSCRIPT_BUILD - Says that the port needs ghostscript to build. -# Default: not set. -# USE_GHOSTSCRIPT_RUN - Says that the port needs ghostscript to run. -# Default: not set. -# 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. -# WITH_GHOSTSCRIPT_AFPL - If set to Yes, says to use the AFPL -# version of the ghostscript software instead -# of the GNU version, which is used otherwise. +# This value is added to PLIST_SUB. +# PERL_MODBUILD - Use Module::Build to configure, build and install port. +## +# USE_GHOSTSCRIPT +# - If set, this port needs ghostscript to both +# build and run. +# USE_GHOSTSCRIPT_BUILD +# - If set, this port needs ghostscript to build. +# USE_GHOSTSCRIPT_RUN +# - If set, this port needs ghostscript to run. +# 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. +# 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 - Says that the port uses bison for building. +# USE_BISON - If set, this port uses bison for building. ## -# USE_IMAKE - Says that the port uses imake. Implies USE_X_PREFIX. -# XMKMF - Set to path of `xmkmf' if not in $PATH (default: xmkmf -a ). -# USE_X_PREFIX - Says that the port installs in ${X11BASE}. Implies USE_XLIB. -# USE_XLIB - Says that the port uses the X libraries. +# 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}. Implies USE_XLIB. +# USE_XLIB - If set, this port uses the X libraries. # -# USE_FREETYPE - Says that the port uses the freetype print libraries. -# USE_GL - Says that the port uses libGL (not needed with XFree86 4.x +# USE_FREETYPE - If set, this port uses the freetype print libraries. +# USE_GL - If set, this port uses libGL (not needed with XFree86 4.x # which already includes this functionality). -# USE_MESA - Says that the port uses libGL/libglut (deprecated). -# USE_MOTIF - Says that the port uses a Motif toolkit. Implies USE_XPM. -# NO_OPENMOTIF - Says that the port uses a custom Motif toolkit -# instead of Openmotif. -# Used only when USE_MOTIF is set. -# WANT_LESSTIF - Says that the port uses Lesstif as Motif toolkit. -# Used only when USE_MOTIF is set. Implies -# NO_OPENMOTIF. -# USE_SDL - Says that the port uses the sdl libraries. -# See bsd.sdl.mk for more information. -# USE_XPM - Says that the port uses the xpm graphics libraries. +# USE_MESA - If set, this port uses libGL/libglut (deprecated). +# 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_OPENSSL - Says that the port relies on the OpenSSL package. -# Default: not set. +# USE_SDL - If set, this port uses the sdl libraries. +# See bsd.sdl.mk for more information. +# USE_XPM - If set, this port uses the xpm graphics libraries. ## -# -# USE_OPENLDAP - Says that the port uses the OpenLDAP libraries -# Implies: WANT_OPENLDAP_VER?=22 -# WANT_OPENLDAP_VER - Legal values are: 21, 22 -# If set to an unkown value, the port is marked BROKEN. -# WANT_OPENLDAP_SASL - Says that the system should use OpenLDAP libraries -# with SASL support. -# +# 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?=22 +# WANT_OPENLDAP_VER +# - Legal values are: 21, 22 +# 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_AUTOTOOLS - Says that the port uses various GNU autotools -# (libtool, autoconf, autoheader, automake et al.) -# See bsd.autotools.mk for more details. -# XXX: not currently in active use - this is a placeholder. +# USE_AUTOTOOLS - If set, this port uses various GNU autotools +# (libtool, autoconf, autoheader, automake et al.) +# See bsd.autotools.mk for more details. +# XXX: not currently in active use - this is a placeholder. ## -# USE_JAVA - Says that the port relies on the Java language. +# 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_*). -# Default: not set. -# USE_PYTHON - Says that the port relies on the Python language. +# 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). -# Default: not set. -# USE_RUBY - Says that the port relies on the Ruby language. +# 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_*). -# Default: not set. -# USE_GNUSTEP - Says that the port relies on the GNUstep system. -# Implies the inclusion of bsd.gnustep.mk. -# (Also see that file for more information on -# USE_GNUSTEP_*). -# Default: not set. +# 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. -# Default: not set. -# -# USE_KDEBASE_VER - Set to 3 to use the KDE windowing system. -# Implies inclusion -# of bsd.kde.mk. Default: not set. -# USE_KDELIBS_VER - Set to 3 to use the KDE libraries. -# Implies inclusion -# of bsd.kde.mk. Default: not set. -# USE_QT_VER - Set to 3 to use the QT libraries. -# Implies inclusion of bsd.kde.mk. Default: not set. -# -# USE_LINUX - Set to yes to say the port needs emulators/linux_base. -# Default: not set. -# USE_LINUX_PREFIX - controls the action of PREFIX (see above). -# -# -# USE_MYSQL - Add MySQL client dependency. -# If no version is given (by the maintainer via the port or -# by the user via defined variable), try to find the -# currently installed version. Fall back to default if -# necessary (MySQL4.0 = 40). -# -# DEFAULT_MYSQL_VER - MySQL default version. Can be overriden within a port. -# Default: 40. -# -# WANT_MYSQL_VER - Maintainer can set an arbitrary version of MySQL by -# using it. -# -# BROKEN_WITH_MYSQL - This variable can be defined if the ports doesn't support -# one or more version of MySQL. -# -# MYSQL_VER - Internal variable for MySQL version. -# -# WITH_MYSQL_VER - User defined variable to set MySQL version. -# -# USE_RC_SUBR - Says 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. -# -# RC_SUBR - Set to path of rc.subr, defaults to ${LOCALBASE}/etc/rc.subr. -# -# USE_APACHE - Says that the port relies on an apache webserver. -# APACHE_PORT - CATEGORY and portname of the prefered port for apache. -# Default: www/apache13 -# If WITH_APACHE2 is defined defaults to www/apache2 +## +# 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 QT libraries. +# Implies inclusion of bsd.kde.mk. +## +# USE_LINUX - Set to yes to say the port needs emulators/linux_base. +# USE_LINUX_PREFIX +# - controls the action of PREFIX (see above). +## +# USE_MYSQL - Add MySQL client dependency. +# If no version is given (by the maintainer via the port or +# by the user via defined variable), try to find the +# currently installed version. Fall back to default if +# necessary (MySQL4.0 = 40). +# DEFAULT_MYSQL_VER +# - MySQL default version. Can be overriden within a port. +# Default: 40. +# WANT_MYSQL_VER +# - Maintainer can set an arbitrary version of MySQL by using it. +# BROKEN_WITH_MYSQL +# - This variable can be defined if the ports doesn't support +# one or more version of MySQL. +# MYSQL_VER - Internal variable for MySQL version. +# WITH_MYSQL_VER +# - User defined variable to set MySQL version. +## +# 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. +# RC_SUBR - Set to path of rc.subr. +# Default: ${LOCALBASE}/etc/rc.subr. +## +# USE_APACHE - If set, this port relies on an apache webserver. +# APACHE_PORT - CATEGORY and portname of the prefered port for apache. +# Default: www/apache13 +# If WITH_APACHE2 is defined defaults to www/apache2 # APXS - Full path to the prefered apxs binary to configure -# apache modules. Default: ${LOCALBASE}/sbin/apxs -# +# apache modules. +# Default: ${LOCALBASE}/sbin/apxs # # # Dependency checking. Use these if your port requires another port # not in the list above. (Default: empty.) # -# EXTRACT_DEPENDS - A list of "path:dir[:target]" tuples of other ports this +# EXTRACT_DEPENDS +# - A list of "path:dir[:target]" tuples of other ports this # package depends on in the "extract" stage. "path" is # the name of a file if it starts with a slash (/), an # executable otherwise. make will test for the existence @@ -378,7 +390,7 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # a "make all install" if it's not found. If the third # field ("target") exists, it will be used instead of # ${DEPENDS_TARGET}. -# PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this +# PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends on in the "patch" stage. "path" is the # name of a file if it starts with a slash (/), an # executable otherwise. make will test for the existence @@ -387,7 +399,7 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # a "make all install" if it's not found. If the third # field ("target") exists, it will be used instead of # ${DEPENDS_TARGET}. -# FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this +# FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends in the "fetch" stage. "path" is the # name of a file if it starts with a slash (/), an # executable otherwise. make will test for the @@ -396,7 +408,7 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # into "dir" to do a "make all install" if it's not # found. If the third field ("target") exists, it will # be used instead of ${DEPENDS_TARGET}. -# BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this +# BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this # package depends to build (between the "extract" and # "build" stages, inclusive). The test done to # determine the existence of the dependency is the @@ -419,69 +431,80 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # things that don't fall into the above four categories. # If the second field ("target") exists, it will be used # instead of ${DEPENDS_TARGET}. -# DEPENDS_TARGET - The default target to execute when a port is calling a -# dependency (default: "install"). +# DEPENDS_TARGET +# - The default target to execute when a port is calling a +# dependency. +# Default: install # # Conflict checking. Use if your port cannot be installed at the same time as # another package. # -# CONFLICTS - A list of package name patterns that the port conflicts with. -# It's possible to use any shell meta-characters for pattern -# matching. -# E.g. apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* -# +# CONFLICTS - A list of package name patterns that the port conflicts with. +# It's possible to use any shell meta-characters for pattern +# matching. +# E.g. apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* # # Various directory definitions and variables to control them. # You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. # -# X11BASE - Where X11 ports install things (default: /usr/X11R6). -# 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}). +# X11BASE - Where X11 ports install things. +# Default: /usr/X11R6 +# 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} # 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/ports) -# DISTDIR - Where to search for and store copies of original sources -# (default: ${PORTSDIR}/distfiles). +# files. +# Default: ${.CURDIR} +# PORTSDIR - The root of the ports tree. +# Default: /usr/ports +# 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). +# going locally to each port). +# Default: ${PORTSDIR}/packages # 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). +# 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}). +# 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}) +# 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} # # Variables that serve as convenient "aliases" for your *-install targets. # Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin". # -# INSTALL_PROGRAM - A command to install binary executables. (By -# default, also strips them, unless ${STRIP} is -# overridden to be the empty string). -# 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). +# INSTALL_PROGRAM +# - A command to install binary executables. (By +# default, also strips them, unless ${STRIP} is +# overridden to be the empty string). +# 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 - Says that the port doesn't want to install any -# manpages (default: not set, i.e. manpages -# are installed by default). +# 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 the following to specify all manpages that your port installs. # These manpages will be automatically listed in ${PLIST}. Depending @@ -498,58 +521,68 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # 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 ${MAN<sect>} and ${MLINKS} -# (default: ${PREFIX}). -# MAN<sect>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 +# MANPREFIX - The directory prefix for ${MAN<sect>} and ${MLINKS}. +# Default: ${PREFIX} +# MAN<sect>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. The default is "yes" if USE_IMAKE -# is set and NO_INSTALL_MANPAGES is not set, and -# "no" otherwise. +# 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). +# 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. +# 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. # # Default targets and their behaviors: # # fetch - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined) # into ${DISTDIR} as necessary. # fetch-list - Show list of files that would be retrieved by fetch. -# fetch-recursive - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), +# fetch-recursive +# - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), # for port and dependencies into ${DISTDIR} as necessary. -# fetch-recursive-list - Show list of files that would be retrieved by +# fetch-recursive-list +# - Show list of files that would be retrieved by # fetch-recursive. -# fetch-required-list - Show list of files that would be retrieved by +# fetch-required-list +# - Show list of files that would be retrieved by # fetch-required. -# fetch-required - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), +# fetch-required +# - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), # for port and dependencies that are not already installed # into ${DISTDIR}. -# all-depends-list - Show all directories which are dependencies -# for this port. -# build-depends-list - Show all directories which are build-dependencies -# for this port. -# package-depends-list - Show all directories which are -# package-dependencies for this port. -# run-depends-list - Show all directories which are run-dependencies -# for this port. +# all-depends-list +# - Show all directories which are dependencies +# for this port. +# build-depends-list +# - Show all directories which are build-dependencies +# for this port. +# package-depends-list +# - Show all directories which are +# package-dependencies for this port. +# run-depends-list +# - Show all directories which are run-dependencies +# for this port. # # extract - Unpacks ${DISTFILES} into ${WRKDIR}. # patch - Apply any provided patches to the source. @@ -562,22 +595,24 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # deinstall - Remove the installation. # deinstall-all - Remove all installations with the same PKGORIGIN. # package - Create a package from an _installed_ port. -# package-recursive - Create a package for a port and _all_ of its dependancies. +# package-recursive +# - Create a package for a port and _all_ of its dependancies. # describe - Try to generate a one-line description for each port for # use in INDEX files and the like. # checkpatch - Do a "patch -C" instead of a "patch". Note that it may # give incorrect results if multiple patches deal with # the same file. # checksum - Use distinfo to ensure that your distfiles are valid. -# checksum-recursive - Run checksum in this port and all dependencies. +# checksum-recursive +# - Run checksum in this port and all dependencies. # makesum - Generate distinfo (only do this for your own ports!). -# clean - Remove ${WRKDIR} and other temporary files used for building. +# clean - Remove ${WRKDIR} and other temporary files used for building. # clean-depends - Do a "make clean" for all dependencies. -# config - Configure options for this port (using ${DIALOG}). -# Automatically run prior to extract, patch, configure, build, -# install, and package. +# config - Configure options for this port (using ${DIALOG}). +# Automatically run prior to extract, patch, configure, build, +# install, and package. # showconfig - Display options config for this port -# rmconfig - Remove the options config for this port +# rmconfig - Remove the options config for this port # # Default sequence for "all" is: # @@ -603,144 +638,178 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # 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. +# 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). +# 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 (default: "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 +# 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 +# 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 +# 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}). +# PATCH_WRKSRC - Directory to apply patches in. +# Default: ${WRKSRC} # # For configure: # -# HAS_CONFIGURE - Says that the port has its own configure script. The +# 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 - Set if you are using GNU configure (optional). Implies +# 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: "Makefile.PL" if PERL_CONFIGURE is set, -# "configure" otherwise). -# CONFIGURE_TARGET - The name of target to call when GNU_CONFIGURE is -# defined (default: ${MACHINE_ARCH}-portbld-freebsd${OSREL}). -# CONFIGURE_ARGS - Pass these args to configure if ${HAS_CONFIGURE} is set -# (default: "--prefix=${PREFIX} ${CONFIGURE_TARGET}" if +# 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: "Makefile.PL" if PERL_CONFIGURE is set, +# "configure" otherwise. +# CONFIGURE_TARGET +# - The name of target to call when GNU_CONFIGURE is +# defined. +# Default: ${MACHINE_ARCH}-portbld-freebsd${OSREL} +# CONFIGURE_ARGS +# - Pass these args to configure if ${HAS_CONFIGURE} is set. +# Default: "--prefix=${PREFIX} ${CONFIGURE_TARGET}" if # GNU_CONFIGURE is set, "CC=${CC} CCFLAGS=${CFLAGS} # PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib # INSTALLARCHLIB=${PREFIX}/lib" if PERL_CONFIGURE is set, -# empty otherwise). -# CONFIGURE_ENV - Pass these env (shell-like) to configure if +# empty otherwise. +# CONFIGURE_ENV - Pass these env (shell-like) to configure if # ${HAS_CONFIGURE} is set. -# CONFIGURE_LOG - The name of configure log file (default: config.log). -# It will be printed to the screen if configure fails. -# 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. +# 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}). +# 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). +# and install stages. +# Default: see below +# MAKE_ARGS - Any extra arguments to sub-make in build and install stages. +# Default: none # # For install: # -# INSTALL_TARGET - Default target for sub-make in install stage -# (default: install). -# INSTALL_WRKSRC - Directory to install from (default: ${WRKSRC}). +# 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 +# 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 (default: ${PKGDIR}/pkg-plist). +# 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). +# Default: ${WRKDIR}/.PLIST.mktmp # PLIST_SUB - List of "variable=value" pair for substitution in ${PLIST} -# (default: see below). -# INSTALLS_SHLIB - If set, bsd.port.mk will automatically run ldconfig commands +# 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. -# LDCONFIG_DIRS - List of directories to run ldconfig if -# INSTALLS_SHLIB is set (default: %%PREFIX%%/lib). +# 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} and %%X11BASE%% for ${X11BASE}. -# 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}). +# Default: %%PREFIX%%/lib +# 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} # # Note that the install target will automatically add manpages (see # above) and also substitute special sequences of characters (delimited @@ -753,43 +822,51 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # # For package: # -# NO_LATEST_LINK - Do not install the "Latest" link for package. Define this +# 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. +# 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). +# ${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}). +# to turn them off. +# Default: ${ECHO_CMD} # PATCH_DEBUG - If set, print out more information about the patches as # it attempts to apply them. # PKG_DBDIR - Where package installation is recorded; this directory -# must not contain anything else (default: /var/db/pkg). -# PORT_DBDIR - Where port configuration options are recorded -# (default: /var/db/ports) -# NO_PKG_REGISTER - Don't register a port installation as a package. -# FORCE_PKG_REGISTER - If set, it will overwrite any existing package +# must not contain anything else. +# Default: /var/db/pkg +# PORT_DBDIR - Where port configuration options are recorded. +# Default: /var/db/ports +# NO_PKG_REGISTER +# - Don't register a port installation as a package. +# FORCE_PKG_REGISTER +# - If set, it will overwrite any existing package # registration information in ${PKG_DBDIR}/${PKGNAME}. # NO_DEPENDS - Don't verify build of dependencies. # 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 +# 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. +# 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. # # End of the list of all variables that need to be defined in a port. # Most port authors should not need to understand anything after this point. @@ -831,6 +908,7 @@ COMM?= /usr/bin/comm CP?= /bin/cp CPIO?= /usr/bin/cpio CUT?= /usr/bin/cut +DATE?= /bin/date DC?= /usr/bin/dc DIALOG?= /usr/bin/dialog DIRNAME?= /usr/bin/dirname @@ -839,6 +917,7 @@ EXPR?= /bin/expr FALSE?= false # Shell builtin FILE?= /usr/bin/file FIND?= /usr/bin/find +FMT?= /usr/bin/fmt GREP?= /usr/bin/grep GUNZIP_CMD?= /usr/bin/gunzip -f GZCAT?= /usr/bin/gzcat @@ -851,8 +930,10 @@ LDCONFIG?= /sbin/ldconfig LN?= /bin/ln LS?= /bin/ls MKDIR?= /bin/mkdir -p +MKTEMP?= /usr/bin/mktemp MV?= /bin/mv OBJCOPY?= /usr/bin/objcopy +OBJDUMP?= /usr/bin/objdump PASTE?= /usr/bin/paste PAX?= /bin/pax PRINTF?= /usr/bin/printf @@ -1017,7 +1098,9 @@ X11BASE?= ${DESTDIR}/usr/X11R6 LINUXBASE?= ${DESTDIR}/compat/linux DISTDIR?= ${PORTSDIR}/distfiles _DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} -.if ${OSVERSION} >= 500036 +.if ${OSVERSION} >= 600000 +INDEXFILE?= INDEX-6 +.elif ${OSVERSION} >= 500036 INDEXFILE?= INDEX-5 .else INDEXFILE?= INDEX @@ -1227,6 +1310,8 @@ BUILD_WRKSRC?= ${WRKSRC} INSTALL_WRKSRC?=${WRKSRC} PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} +SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} X11BASE=${X11BASE} \ + DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR} .if defined(WITHOUT_CPU_CFLAGS) .if defined(_CPUCFLAGS) @@ -1597,14 +1682,6 @@ BROKEN= "unknown MySQL version: ${MYSQL_VER}" .endif # Check for correct libs .endif # USE_MYSQL -.if defined(USE_XLIB) -LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} -# Add explicit X options to avoid problems with false positives in configure -.if defined(GNU_CONFIGURE) -CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include -.endif -.endif - # XXX: (not yet): .if defined(USE_AUTOTOOLS) .include "${PORTSDIR}/Mk/bsd.autotools.mk" # XXX: (not yet): .endif @@ -1626,6 +1703,14 @@ CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include USE_SUBMAKE= yes .endif +.if defined(USE_XLIB) +LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} +# Add explicit X options to avoid problems with false positives in configure +.if defined(GNU_CONFIGURE) +CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include +.endif +.endif + # Set the default for the installation of Postscript(TM)- # compatible functionality. .if !defined(WITHOUT_X11) @@ -1903,7 +1988,7 @@ PKGINSTALLVER!= ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //' DISABLE_CONFLICTS= YES .endif .if !defined(PKG_ARGS) -PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | sort -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} +PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} .if !defined(NO_MTREE) PKG_ARGS+= -m ${MTREE_FILE} .endif @@ -2868,20 +2953,20 @@ check-vulnerable: @if [ -f "${AUDITFILE}" ]; then \ audit_created=`${_EXTRACT_AUDITFILE} | \ ${SED} -nEe "1s/^#CREATED: *([0-9]{4})-?([0-9]{2})-?([0-9]{2}).*$$/\1\2\3/p"`; \ - audit_expiry=`date -u -v-14d "+%Y%m%d"`; \ + audit_expiry=`${DATE} -u -v-14d "+%Y%m%d"`; \ if [ "$$audit_created" -lt "$$audit_expiry" ]; then \ ${ECHO_MSG} "===> WARNING: Vulnerability database out of date, checking anyway"; \ fi; \ vlist=`${_EXTRACT_AUDITFILE} | ${AWK} -F\| ' \ /^[^#]/ { \ if (!system("${PKG_VERSION} -T \"${PKGNAME}\" \"" $$1 "\"")) \ - print ">> " $$3 ".\n Reference: <" $$2 ">" \ + print "=> " $$3 ".\n Reference: <" $$2 ">" \ } \ '`; \ if [ -n "$$vlist" ]; then \ ${ECHO_MSG} "===> ${PKGNAME} has known vulnerabilities:"; \ ${ECHO_MSG} "$$vlist"; \ - ${ECHO_MSG} ">> Please update your ports tree and try again."; \ + ${ECHO_MSG} "=> Please update your ports tree and try again."; \ exit 1; \ fi; \ else \ @@ -2913,22 +2998,22 @@ do-fetch: DIR=${DIST_SUBDIR}; \ pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ if [ -L $$file -o -L $$filebasename ]; then \ - ${ECHO_MSG} ">> ${_DISTDIR}/$$file is a broken symlink."; \ - ${ECHO_MSG} ">> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ - ${ECHO_MSG} ">> Please correct this problem and try again."; \ + ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ + ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ + ${ECHO_MSG} "=> Please correct this problem and try again."; \ exit 1; \ fi ; \ if [ -f ${MD5_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \ if ! ${GREP} -q "^MD5 ($$pattern)" ${MD5_FILE}; then \ - ${ECHO_MSG} ">> $${DIR:+$$DIR/}$$file is not in ${MD5_FILE}."; \ - ${ECHO_MSG} ">> Either ${MD5_FILE} is out of date, or"; \ - ${ECHO_MSG} ">> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \ + ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is not in ${MD5_FILE}."; \ + ${ECHO_MSG} "=> Either ${MD5_FILE} is out of date, or"; \ + ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \ exit 1; \ fi; \ fi; \ - ${ECHO_MSG} ">> $$file doesn't seem to exist in ${_DISTDIR}."; \ + ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ if [ ! -w ${DISTDIR} ]; then \ - ${ECHO_MSG} ">> ${DISTDIR} is not writable by you; cannot fetch."; \ + ${ECHO_MSG} "=> ${DISTDIR} is not writable by you; cannot fetch."; \ exit 1; \ fi; \ if [ ! -z "$$select" ] ; then \ @@ -2945,7 +3030,7 @@ do-fetch: SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ fi ; \ for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ - ${ECHO_MSG} ">> Attempting to fetch from $${site}."; \ + ${ECHO_MSG} "=> Attempting to fetch from $${site}."; \ DIR=${DIST_SUBDIR}; \ CKSIZE=`${GREP} "^SIZE ($${DIR:+$$DIR/}$$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ case $${file} in \ @@ -2957,8 +3042,8 @@ do-fetch: continue 2; \ fi \ done; \ - ${ECHO_MSG} ">> Couldn't fetch it - please try to retrieve this";\ - ${ECHO_MSG} ">> port manually into ${_DISTDIR} and try again."; \ + ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ + ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ exit 1; \ fi \ done) @@ -2978,12 +3063,12 @@ do-fetch: done; \ if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \ if [ -L $$file -o -L `${BASENAME} $$file` ]; then \ - ${ECHO_MSG} ">> ${_DISTDIR}/$$file is a broken symlink."; \ - ${ECHO_MSG} ">> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ - ${ECHO_MSG} ">> Please correct this problem and try again."; \ + ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ + ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ + ${ECHO_MSG} "=> Please correct this problem and try again."; \ exit 1; \ fi ; \ - ${ECHO_MSG} ">> $$file doesn't seem to exist in ${_DISTDIR}."; \ + ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ if [ ! -z "$$select" ] ; then \ __PATCH_SITES_TMP= ; \ for group in $$select; do \ @@ -2998,7 +3083,7 @@ do-fetch: SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ fi ; \ for site in `eval $$SORTED_PATCH_SITES_CMD_TMP`; do \ - ${ECHO_MSG} ">> Attempting to fetch from $${site}."; \ + ${ECHO_MSG} "=> Attempting to fetch from $${site}."; \ DIR=${DIST_SUBDIR}; \ pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ CKSIZE=`${GREP} "^SIZE ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ @@ -3011,8 +3096,8 @@ do-fetch: continue 2; \ fi \ done; \ - ${ECHO_MSG} ">> Couldn't fetch it - please try to retrieve this";\ - ${ECHO_MSG} ">> port manually into ${_DISTDIR} and try again."; \ + ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ + ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ exit 1; \ fi \ done) @@ -3085,9 +3170,9 @@ do-patch: if ${PATCH} ${PATCH_ARGS} < $$i ; then \ PATCHES_APPLIED="$$PATCHES_APPLIED $$i" ; \ else \ - ${ECHO_MSG} `${ECHO_CMD} ">> Patch $$i failed to apply cleanly." | ${SED} "s|${PATCHDIR}/||"` ; \ + ${ECHO_MSG} `${ECHO_CMD} "=> Patch $$i failed to apply cleanly." | ${SED} "s|${PATCHDIR}/||"` ; \ if [ x"$$PATCHES_APPLIED" != x"" ]; then \ - ${ECHO_MSG} `${ECHO_CMD} ">> Patch(es) $$PATCHES_APPLIED applied cleanly." | ${SED} "s|${PATCHDIR}/||g"` ; \ + ${ECHO_MSG} `${ECHO_CMD} "=> Patch(es) $$PATCHES_APPLIED applied cleanly." | ${SED} "s|${PATCHDIR}/||g"` ; \ fi; \ ${FALSE} ; \ fi; \ @@ -3126,7 +3211,7 @@ do-configure: INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ ${ECHO_CMD} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ - (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | /usr/bin/fmt 75 79 ; \ + (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ ${FALSE}; \ fi) .endif @@ -3225,7 +3310,7 @@ do-package: ${TMPPLIST} @if [ -d ${PACKAGES} ]; then \ if [ ! -d ${PKGREPOSITORY} ]; then \ if ! ${MKDIR} ${PKGREPOSITORY}; then \ - ${ECHO_MSG} ">> Can't create directory ${PKGREPOSITORY}."; \ + ${ECHO_MSG} "=> Can't create directory ${PKGREPOSITORY}."; \ exit 1; \ fi; \ fi; \ @@ -3261,7 +3346,7 @@ package-links: delete-package-links @for cat in ${CATEGORIES}; do \ if [ ! -d ${PACKAGES}/$$cat ]; then \ if ! ${MKDIR} ${PACKAGES}/$$cat; then \ - ${ECHO_MSG} ">> Can't create directory ${PACKAGES}/$$cat."; \ + ${ECHO_MSG} "=> Can't create directory ${PACKAGES}/$$cat."; \ exit 1; \ fi; \ fi; \ @@ -3270,7 +3355,7 @@ package-links: delete-package-links .if !defined(NO_LATEST_LINK) @if [ ! -d ${PKGLATESTREPOSITORY} ]; then \ if ! ${MKDIR} ${PKGLATESTREPOSITORY}; then \ - ${ECHO_MSG} ">> Can't create directory ${PKGLATESTREPOSITORY}."; \ + ${ECHO_MSG} "=> Can't create directory ${PKGLATESTREPOSITORY}."; \ exit 1; \ fi; \ fi @@ -3426,7 +3511,7 @@ security-check: | ${XARGS} -0 -J % ${FIND} % -prune -perm -0002 \! -type l 2> /dev/null > ${WRKDIR}/.PLIST.writable; \ ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \ | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f -print0 2> /dev/null \ - | ${XARGS} -0 -n 1 /usr/bin/objdump -R 2> /dev/null > ${WRKDIR}/.PLIST.objdump; \ + | ${XARGS} -0 -n 1 ${OBJDUMP} -R 2> /dev/null > ${WRKDIR}/.PLIST.objdump; \ if \ ! ${AWK} -v audit="$${PORTS_AUDIT}" -f ${PORTSDIR}/Tools/scripts/security-check.awk \ ${WRKDIR}/.PLIST.flattened ${WRKDIR}/.PLIST.objdump ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable; \ @@ -3460,7 +3545,7 @@ security-check: fi; \ for i in `${GREP} -v '^@' ${TMPPLIST}`; do \ if [ ! -L "${PREFIX}/$$i" -a -f "${PREFIX}/$$i" ]; then \ - /usr/bin/objdump -R ${PREFIX}/$$i > \ + ${OBJDUMP} -R ${PREFIX}/$$i > \ ${WRKDIR}/.PLIST.objdump 2> /dev/null; \ if [ -s ${WRKDIR}/.PLIST.objdump ] ; then \ ${EGREP} " $$stupid_functions_regexp" \ @@ -3572,11 +3657,11 @@ _BUILD_SEQ= build-message pre-build pre-build-script do-build \ _INSTALL_DEP= build _INSTALL_SEQ= install-message check-conflicts \ run-depends lib-depends pre-install pre-install-script \ - generate-plist check-already-installed + apply-slist generate-plist check-already-installed _INSTALL_SUSEQ= check-umask install-mtree pre-su-install \ pre-su-install-script do-install post-install \ post-install-script add-plist-info add-plist-docs \ - compress-man run-ldconfig fake-pkg security-check + add-plist-post compress-man run-ldconfig fake-pkg security-check _PACKAGE_DEP= install _PACKAGE_SEQ= package-message pre-package pre-package-script \ do-package post-package-script @@ -3973,10 +4058,10 @@ checksum: fetch CKSUM=`${MD5} < $$file`; \ CKSUM2=`${GREP} "^MD5 ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ if [ -z "$$CKSUM2" ]; then \ - ${ECHO_MSG} ">> No checksum recorded for $$file."; \ + ${ECHO_MSG} "=> No checksum recorded for $$file."; \ OK="false"; \ elif [ "$$CKSUM2" = "IGNORE" ]; then \ - ${ECHO_MSG} ">> Checksum for $$file is set to IGNORE in distinfo file even though"; \ + ${ECHO_MSG} "=> Checksum for $$file is set to IGNORE in distinfo file even though"; \ ${ECHO_MSG} " the file is not in the "'$$'"{IGNOREFILES} list."; \ OK="false"; \ else \ @@ -3988,9 +4073,9 @@ checksum: fetch fi; \ done; \ if $$ckmatch; then \ - ${ECHO_MSG} ">> Checksum OK for $$file."; \ + ${ECHO_MSG} "=> Checksum OK for $$file."; \ else \ - ${ECHO_MSG} ">> Checksum mismatch for $$file."; \ + ${ECHO_MSG} "=> Checksum mismatch for $$file."; \ refetchlist="$$refetchlist$$file "; \ OK="$${OK:-retry}"; \ fi; \ @@ -4000,10 +4085,10 @@ checksum: fetch pattern="`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ CKSUM2=`${GREP} "($$pattern)" ${MD5_FILE} | ${AWK} '{if(NR<2)print $$4}'`; \ if [ "$$CKSUM2" = "" ]; then \ - ${ECHO_MSG} ">> No checksum recorded for $$file, file is in "'$$'"{IGNOREFILES} list."; \ + ${ECHO_MSG} "=> No checksum recorded for $$file, file is in "'$$'"{IGNOREFILES} list."; \ OK="false"; \ elif [ "$$CKSUM2" != "IGNORE" ]; then \ - ${ECHO_MSG} ">> Checksum for $$file is not set to IGNORE in distinfo file even though"; \ + ${ECHO_MSG} "=> Checksum for $$file is not set to IGNORE in distinfo file even though"; \ ${ECHO_MSG} " the file is in the "'$$'"{IGNOREFILES} list."; \ OK="false"; \ fi; \ @@ -4011,11 +4096,11 @@ checksum: fetch if [ "$${OK:=true}" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \ ${ECHO_MSG} "===> Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \ if ( cd ${.CURDIR} && \ - ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`expr ${FETCH_REGET} - 1`" fetch); then \ - if ( cd ${.CURDIR} && \ - ${MAKE} ${.MAKEFLAGS} FETCH_REGET="`expr ${FETCH_REGET} - 1`" checksum ); then \ - OK="true"; \ - fi; \ + ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \ + if ( cd ${.CURDIR} && \ + ${MAKE} ${.MAKEFLAGS} FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" checksum ); then \ + OK="true"; \ + fi; \ fi; \ fi ; \ if [ "$$OK" != "true" -a ${FETCH_REGET} -eq 0 ]; then \ @@ -4029,7 +4114,7 @@ checksum: fetch exit 1; \ fi); \ elif [ -n "${_CKSUMFILES:M*}" ]; then \ - ${ECHO_MSG} ">> No checksum file (${MD5_FILE})."; \ + ${ECHO_MSG} "=> No checksum file (${MD5_FILE})."; \ fi .endif @@ -4128,7 +4213,7 @@ ${deptype:L}-depends: if [ $$notfound != 0 ]; then \ ${ECHO_MSG} "===> Verifying $$target for $$prog in $$dir"; \ if [ ! -d "$$dir" ]; then \ - ${ECHO_MSG} " >> No directory for $$prog. Skipping.."; \ + ${ECHO_MSG} " => No directory for $$prog. Skipping.."; \ else \ if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ @@ -4184,7 +4269,7 @@ lib-depends: if [ $$notfound != 0 ]; then \ ${ECHO_MSG} "===> Verifying $$target for $$lib in $$dir"; \ if [ ! -d "$$dir" ]; then \ - ${ECHO_MSG} " >> No directory for $$lib. Skipping.."; \ + ${ECHO_MSG} " => No directory for $$lib. Skipping.."; \ else \ if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ @@ -4221,7 +4306,7 @@ misc-depends: ${ECHO_MSG} "===> ${PKGNAME} depends on: $$dir"; \ ${ECHO_MSG} "===> Verifying $$target for $$dir"; \ if [ ! -d $$dir ]; then \ - ${ECHO_MSG} " >> No directory for $$dir. Skipping.."; \ + ${ECHO_MSG} " => No directory for $$dir. Skipping.."; \ else \ (cd $$dir; ${MAKE} $$target $$depends_args) ; \ fi \ @@ -4254,7 +4339,7 @@ ALL-DEPENDS-LIST= \ else \ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ fi; \ - done | sort -u + done | ${SORT} -u .if !target(clean-depends) clean-depends: @@ -4358,13 +4443,13 @@ build-depends-list: .endif BUILD-DEPENDS-LIST= \ - for dir in $$(${ECHO_CMD} "${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | sort -u) $$(${ECHO_CMD} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | sort -u); do \ + for dir in $$(${ECHO_CMD} "${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | ${SORT} -u) $$(${ECHO_CMD} ${DEPENDS} | ${TR} '\040' '\012' | ${SED} -e 's/:.*//' | ${SORT} -u); do \ if [ -d $$dir ]; then \ ${ECHO_CMD} $$dir; \ else \ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ fi; \ - done | sort -u + done | ${SORT} -u run-depends-list: .if defined(LIB_DEPENDS) || defined(RUN_DEPENDS) || defined(DEPENDS) @@ -4372,13 +4457,13 @@ run-depends-list: .endif RUN-DEPENDS-LIST= \ - for dir in $$(${ECHO_CMD} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${SED} -e 'y/ /\n/' | ${CUT} -f 2 -d ':' | sort -u) $$(${ECHO_CMD} ${DEPENDS} | ${SED} -e 'y/ /\n/' | ${CUT} -f 1 -d ':' | sort -u); do \ + for dir in $$(${ECHO_CMD} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${SED} -e 'y/ /\n/' | ${CUT} -f 2 -d ':' | ${SORT} -u) $$(${ECHO_CMD} ${DEPENDS} | ${SED} -e 'y/ /\n/' | ${CUT} -f 1 -d ':' | ${SORT} -u); do \ if [ -d $$dir ]; then \ ${ECHO_CMD} $$dir; \ else \ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ fi; \ - done | sort -u + done | ${SORT} -u # Package (recursive runtime) dependency list. Print out both directory names # and package names. @@ -4447,7 +4532,8 @@ package-recursive: package # a large index. Format is: # # distribution-name|port-path|installation-prefix|comment| \ -# description-file|maintainer|categories|build deps|run deps|www site +# description-file|maintainer|categories|extract-depends| \ +# patch-depends|fetch-depends|build-depends|run-depends|www site .if !target(describe) describe: @@ -4576,6 +4662,25 @@ pretty-print-run-depends-list: .endif .endif +_SUB_LIST_TEMP= ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} +.if !target(apply-slist) +apply-slist: +.if defined(SUB_FILES) +.for file in ${SUB_FILES} +.if !exists(${FILESDIR}/${file}.in) + @${ECHO_CMD} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1 +.else + @${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${FILESDIR}/${file}.in > ${WRKDIR}/${file} +.endif +.endfor +.for i in pkg-message pkg-install pkg-deinstall pkg-req +.if ${SUB_FILES:M${i}*}!="" +${i:S/-//:U}= ${WRKDIR}/${SUB_FILES:M${i}*} +.endif +.endfor +.endif +.endif + # Generate packing list. Also tests to make sure all required package # files exist. @@ -4677,8 +4782,20 @@ add-plist-info: @${ECHO_CMD} "@exec install-info %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} .endfor -.if !defined(NO_MTREE) +.if (${PREFIX} != "/usr") @${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST} +.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && ${PREFIX} != ${LINUXBASE}) + @${ECHO_CMD} "@unexec rmdir %D/info 2> /dev/null || true" >> ${TMPPLIST} +.endif +.endif + +# If we're installing into a non-standard PREFIX, we need to remove that directory at +# deinstall-time +add-plist-post: +.if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && ${PREFIX} != ${LINUXBASE} && ${PREFIX} != "/usr") + @${ECHO_CMD} "@unexec rmdir %D 2> /dev/null || true" >> ${TMPPLIST} +.else + @${DO_NADA} .endif # Compress (or uncompress) and symlink manpages. @@ -4743,7 +4860,7 @@ fake-pkg: if [ -f ${PKGMESSAGE} ]; then \ ${CP} ${PKGMESSAGE} ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \ fi; \ - for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | sort -u`; do \ + for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ >/dev/null 2>&1; then \ diff --git a/Mk/bsd.port.subdir.mk b/Mk/bsd.port.subdir.mk index 84d3638846a..2805f458718 100644 --- a/Mk/bsd.port.subdir.mk +++ b/Mk/bsd.port.subdir.mk @@ -264,7 +264,9 @@ README= ${TEMPLATES}/README.category .endif COMMENTFILE?= ${.CURDIR}/pkg/COMMENT DESCR?= ${.CURDIR}/pkg/DESCR -.if ${OSVERSION} >= 500036 +.if ${OSVERSION} >= 600000 +INDEXFILE?= INDEX-6 +.elif ${OSVERSION} >= 500036 INDEXFILE?= INDEX-5 .else INDEXFILE?= INDEX |