aboutsummaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorBernard Spil <brnrd@FreeBSD.org>2018-03-11 14:23:28 +0000
committerBernard Spil <brnrd@FreeBSD.org>2018-03-11 14:23:28 +0000
commita80b8e64edec36df028bf7d13088685e98955967 (patch)
tree4a9274a42036319acef7e1b987592404e0a7a7af /Mk
parent7b487e75865136df3eb272692a665e8cb05da846 (diff)
downloadports-a80b8e64edec36df028bf7d13088685e98955967.tar.gz
ports-a80b8e64edec36df028bf7d13088685e98955967.zip
Notes
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/apache.mk433
-rw-r--r--Mk/Uses/php.mk2
-rw-r--r--Mk/bsd.apache.mk520
-rw-r--r--Mk/bsd.port.mk15
-rw-r--r--Mk/bsd.sanity.mk9
5 files changed, 448 insertions, 531 deletions
diff --git a/Mk/Uses/apache.mk b/Mk/Uses/apache.mk
new file mode 100644
index 000000000000..e995004d7f1a
--- /dev/null
+++ b/Mk/Uses/apache.mk
@@ -0,0 +1,433 @@
+#-*- tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+#
+# apache.mk - Apache related macros.
+# Author: Clement Laforet <clement@FreeBSD.org>
+# Author: Olli Hauer <ohauer@FreeBSD.org>
+# Author: Bernard Spil <brnrd@FreeSBD.org>
+#
+# Please view me with 4 column tabs!
+
+# Feature: apache
+# Usage: USES=apache or USES=apache:args
+# Valid args: <version>, build, run, server
+#
+# version If your port requires a specific Apache httpd version, you can
+# set this to [min]-[max] or min+ or -max or an explicit version
+#
+# USES=apache:2.2 # Only use Apache 2.2
+# USES=apache:2.4+ # Use Apache 2.4 or newer
+# USES=apache:2.2-2.4 # Use Apache 2.2 or 2.4
+# USES=apache:-2.4 # Use Apache 2.4 or earlier
+# USES=apache # Use the default apache version
+#
+# Valid version numbers are specified in the variable
+# APACHE_SUPPORTED_VERSIONS below
+#
+# build Indicates that Apache is needed at build time and adds it to
+# BUILD_DEPENDS.
+# run Indicates that Apache is needed at run time and adds it to
+# RUN_DEPENDS.
+# server Indicates that the port is a server port.
+#
+# If build and run are omitted, Apache will be added as BUILD_DEPENDS and
+# RUN_DEPENDS
+#
+# Variables, which can be set by the port:
+#
+# AP_FAST_BUILD automatic module build
+#
+# AP_GENPLIST automatic PLIST generation plus add
+# the module disabled into httpd.conf
+# (only if no pkg-plist exist)
+#
+# MODULENAME Name of the Apache module
+# default: ${PORTNAME}
+# SHORTMODNAME Short name of the Apache module
+# default: ${MODULENAME:S/mod_//}
+# SRC_FILE Source file of the APACHE MODULE
+# default: ${MODULENAME}.c
+#
+# Variables, for internal use by the Apache ports framework only
+# The following values for USE_APACHE are reserved and only valid
+# in apache-server ports!
+# USES= apache:server,2.2
+#
+#
+# The following variables can be read by ports and must not be modified
+#
+# APACHE_VERSION The major-minor release version of the chosen
+# Apache server, e.g. 2.2 or 2.4
+#
+# APACHEETCDIR Location of the Apache configuration directory
+# Default: ${LOCALBASE}/etc/apache24
+#
+# APACHEINCLUDEDIR Location of the Apache include files
+# Default: ${LOCALBASE}/include/apache24
+#
+# APACHEMODDIR Location of the Apache modules
+# Default: ${LOCALBASE}/libxexec/apache24
+#
+# APACHE_DEFAULT Default Apache version
+#
+
+.if !defined(_INCLUDE_USES_APACHE_PRE_MK)
+_INCLUDE_USES_APACHE_PRE_MK= yes
+_USES_POST+= apache
+
+# When adding a version, please keep the comment in
+# Mk/bsd.default-versions.mk in sync.
+_APACHE_SUPPORTED_VERSIONS= 2.4 2.2 2.5 # preferred version first
+
+# Print warnings
+_ERROR_MSG= : Error from apache.mk.
+
+# Important Note:
+# The "+" sign is only valid as last sign, not between
+# two versions or in combination with range!
+.if defined(apache_ARGS) && !empty(apache_ARGS)
+# Preserve original arguments list
+_APACHE_ARGS= ${apache_ARGS}
+. if ${_APACHE_ARGS:Mserver} || ${_APACHE_ARGS:Mcommon}
+_APACHE_PORT_IS_SERVER= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nserver}
+. endif
+. if ${_APACHE_ARGS:Mbuild}
+_APACHE_BUILD_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nbuild}
+. endif
+. if ${_APACHE_ARGS:Mrun}
+_APACHE_RUN_DEP= yes
+_APACHE_ARGS:= ${_APACHE_ARGS:Nrun}
+. endif
+. if empty(_APACHE_ARGS)
+_APACHE_ARGS= ${APACHE_DEFAULT}
+. endif
+# _APACHE_ARGS must now contain a version(-range)
+. if !empty(_APACHE_ARGS:C/^2\.[0-9]//:S/^-//:C/^2\.[0-9]//:C/\+$//)
+IGNORE= ${_ERROR_MSG} Illegal use of USES= ${USES:Mapache*}
+# Catch USES= apache:[min]-[max]+
+. elif ${apache_ARGS:C/[.a-z0-9]//g} == "-+"
+IGNORE= ${_ERROR_MSG} Illegal use of USES= ${USES:Mapache*}
+. endif
+.endif # defined(apache_ARGS)
+
+# The port does not specify a build, run or server dependency, assume both
+# build and run are required.
+.if !defined(_APACHE_BUILD_DEP) && !defined(_APACHE_RUN_DEP) && \
+ !defined(_APACHE_PORT_IS_SERVER)
+_APACHE_BUILD_DEP= yes
+_APACHE_RUN_DEP= yes
+.endif
+
+.if defined(DEFAULT_APACHE_VER)
+IGNORE+= "DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS+=apache=${DEFAULT_APACHE_VER} instead"
+.endif
+
+.if defined(WITH_MODULES) || defined(WITHOUT_MODULES)
+IGNORE= ${_ERROR_MSG} WITH(OUT)_MODULES has been removed, use www_${PORTNAME}_(UN)SET
+.endif
+
+# ===============================================================
+.if defined(_APACHE_PORT_IS_SERVER)
+
+# Module selection
+.for category in ${DEFAULT_MODULES_CATEGORIES}
+DEFAULT_MODULES+= ${${category}_MODULES}
+.endfor
+
+.for category in ${ALL_MODULES_CATEGORIES}
+AVAILABLE_MODULES+= ${${category}_MODULES}
+.endfor
+
+# OPTIONS handling
+.for module in ${AVAILABLE_MODULES}
+. if ${PORT_OPTIONS:M${module}}
+_APACHE_ENABLED_MODS+= ${module}
+. else
+_APACHE_DISABLED_MODS+= ${module}
+. endif
+.endfor
+
+.if !defined(WITH_STATIC_APACHE)
+CONFIGURE_ARGS+= --enable-so
+.else
+CONFIGURE_ARGS+= --disable-so
+WITH_ALL_STATIC_MODULES= yes
+.endif
+
+.if ${PORT_OPTIONS:MSUEXEC}
+_APACHE_ENABLED_MODS+= ${SUEXEC_MODULES}
+SUEXEC_CONFARGS= with-suexec
+
+# SUEXEC_DOCROOT should exist
+SUEXEC_DOCROOT?= ${PREFIX}/www/data
+#SUEXEC_DOCROOT?= ${WWWDIR}
+SUEXEC_USERDIR?= public_html
+# avoid duplicate search paths
+.if ${LOCALBASE} == ${PREFIX}
+SUEXEC_SAFEPATH?= ${LOCALBASE}/bin:/usr/bin:/bin
+.else
+SUEXEC_SAFEPATH?= ${PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:/bin
+.endif
+SUEXEC_LOGFILE?= /var/log/httpd-suexec.log
+SUEXEC_UIDMIN?= 1000
+SUEXEC_GIDMIN?= 1000
+SUEXEC_CALLER?= ${WWWOWN}
+CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-caller=${SUEXEC_CALLER} \
+ --${SUEXEC_CONFARGS}-uidmin=${SUEXEC_UIDMIN} \
+ --${SUEXEC_CONFARGS}-gidmin=${SUEXEC_GIDMIN} \
+ --${SUEXEC_CONFARGS}-userdir="${SUEXEC_USERDIR}" \
+ --${SUEXEC_CONFARGS}-docroot="${SUEXEC_DOCROOT}" \
+ --${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \
+ --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" \
+ --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec"
+
+. if defined(WITH_SUEXEC_UMASK)
+CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-umask=${SUEXEC_UMASK}
+. endif
+.endif
+
+.if !defined(_APACHE_DISABLED_MODS)
+APACHE_MODULES= ${_APACHE_ENABLED_MODS}
+.else
+.for module in ${_APACHE_ENABLED_MODS:O:u}
+. if !${_APACHE_DISABLED_MODS:M${module}}
+APACHE_MODULES+= ${module}
+. endif
+.endfor
+.endif
+
+.if defined(WITH_STATIC_APACHE) || defined(WITH_ALL_STATIC_MODULES)
+WITH_STATIC_MODULES= ${APACHE_MODULES}
+.endif
+
+.for module in ${AVAILABLE_MODULES}
+. if !empty(WITH_STATIC_MODULES:M${module})
+CONFIGURE_ARGS+= --enable-${module:tl}=static
+PLIST_SUB+= MOD_${module}="@comment "
+. elif !empty(APACHE_MODULES:M${module})
+CONFIGURE_ARGS+= --enable-${module:tl}=shared
+PLIST_SUB+= MOD_${module}=""
+. else
+CONFIGURE_ARGS+= --disable-${module:tl}
+PLIST_SUB+= MOD_${module}="@comment "
+. endif
+.endfor
+
+# pkg-plist workaround STATIC support
+.if ${PORT_OPTIONS:MSUEXEC}
+PLIST_SUB+= SUEXEC=""
+.else
+PLIST_SUB+= SUEXEC="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MLOG_FORENSIC}
+PLIST_SUB+= FORENSIC=""
+.else
+PLIST_SUB+= FORENSIC="@comment "
+.endif
+
+#### End of _APACHE_PORT_IS_SERVER ####
+
+# ===============================================================
+.else
+HTTPD?= ${LOCALBASE}/sbin/httpd
+
+MODULENAME?= ${PORTNAME}
+SHORTMODNAME?= ${MODULENAME:S/mod_//}
+SRC_FILE?= ${MODULENAME}.c
+
+.if exists(${HTTPD})
+_APACHE_VERSION!= ${HTTPD} -v | ${SED} -ne 's/^Server version: Apache\/\([1-9]\.[0-9]*\).*/\1/p'
+.endif
+
+# Validate Apache version whether it meets the version restriction.
+_APACHE_VERSION_CHECK:= ${_APACHE_ARGS:C/^([1-9]\.[0-9])$/\1-\1/}
+_APACHE_VERSION_MIN_TMP:= ${_APACHE_VERSION_CHECK:C/([1-9]\.[0-9])[-+].*/\1/}
+_APACHE_VERSION_MIN:= ${_APACHE_VERSION_MIN_TMP:M[1-9].[0-9]}
+_APACHE_VERSION_MAX_TMP:= ${_APACHE_VERSION_CHECK:C/.*-([1-9]\.[0-9])/\1/}
+_APACHE_VERSION_MAX:= ${_APACHE_VERSION_MAX_TMP:M[1-9].[0-9]}
+
+# Remove from _WANTED_VERSIONS that which is not wanted
+_APACHE_WANTED_VERSIONS= ${_APACHE_SUPPORTED_VERSIONS}
+.for _ver in ${_APACHE_SUPPORTED_VERSIONS:O}
+. if !empty(_APACHE_VERSION_MIN) && ${_ver} < ${_APACHE_VERSION_MIN}
+_APACHE_WANTED_VERSIONS:= ${_APACHE_WANTED_VERSIONS:N${_ver}}
+. endif
+. if !empty(_APACHE_VERSION_MAX) && ${_ver} > ${_APACHE_VERSION_MAX}
+_APACHE_WANTED_VERSIONS:= ${_APACHE_WANTED_VERSIONS:N${_ver}}
+. endif
+.endfor
+
+# Check if installed Apache version matches a wanted version
+.if defined(_APACHE_VERSION) && $(_APACHE_WANTED_VERSIONS:M${_APACHE_VERSION})
+_APACHE_WANTED_VERSION= ${_APACHE_VERSION}
+.endif
+# Select Apache version if not already set
+.for _ver in ${APACHE_DEFAULT} ${_APACHE_SUPPORTED_VERSIONS}
+. if !defined(_APACHE_WANTED_VERSION) && ${_APACHE_WANTED_VERSIONS:M${_ver}}
+_APACHE_WANTED_VERSION= ${_ver}
+. endif
+.endfor
+
+APACHE_VERSION:= ${_APACHE_WANTED_VERSION}
+
+.if defined(_APACHE_VERSION) && ${_APACHE_VERSION} != ${APACHE_VERSION}
+BROKEN= ${_ERROR_MSG} Apache ${_APACHE_VERSION} is installed and port requires ${_APACHE_WANTED_VERSION}
+.endif
+
+.if ${APACHE_VERSION} >= 2.5
+APXS?= ${LOCALBASE}/bin/apxs
+.else
+APXS?= ${LOCALBASE}/sbin/apxs
+.endif
+
+.if exists(${APXS})
+APXS_PREFIX!= ${APXS} -q prefix 2> /dev/null || echo NULL
+. if ${APXS_PREFIX} == NULL
+IGNORE= : Your apache does not support DSO modules
+. endif
+. if defined(AP_GENPLIST) && ${APXS_PREFIX} != ${PREFIX}
+IGNORE?= PREFIX must be equal to APXS_PREFIX.
+. endif
+.endif
+
+APACHEMODDIR= libexec/apache${APACHE_VERSION:S/.//}
+APACHEINCLUDEDIR= include/apache${APACHE_VERSION:S/.//}
+APACHEETCDIR= etc/apache${APACHE_VERSION:S/.//}
+.if ${APACHE_VERSION} == 2.5
+APACHE_PORT?= www/apache${APACHE_VERSION:S/.//}-devel
+.else
+APACHE_PORT?= www/apache${APACHE_VERSION:S/.//}
+.endif
+
+PLIST_SUB+= APACHEMODDIR="${APACHEMODDIR}" \
+ APACHEINCLUDEDIR="${APACHEINCLUDEDIR}" \
+ APACHEETCDIR="${APACHEETCDIR}" \
+ APACHE_VERSION="${APACHE_VERSION}"
+
+SUB_LIST+= APACHEMODDIR="${APACHEMODDIR}" \
+ APACHEETCDIR="${APACHEETCDIR}" \
+ APACHE_VERSION="${APACHE_VERSION}"
+
+APACHE_PKGNAMEPREFIX= ap${APACHE_VERSION:S/.//}-
+
+.if defined(AP_FAST_BUILD)
+PKGNAMEPREFIX?= ${APACHE_PKGNAMEPREFIX}
+.endif
+
+.if defined(_APACHE_BUILD_DEP)
+BUILD_DEPENDS+= ${APXS}:${APACHE_PORT}
+.endif
+
+.if defined(_APACHE_RUN_DEP)
+RUN_DEPENDS+= ${APXS}:${APACHE_PORT}
+.endif
+
+PLIST_SUB+= AP_NAME="${SHORTMODNAME}"
+PLIST_SUB+= AP_MODULE="${MODULENAME}.so"
+
+.if defined(AP_GENPLIST)
+PLIST?= ${WRKDIR}/ap-plist
+.endif
+
+.if defined(AP_INC)
+AP_EXTRAS+= -I ${AP_INC}
+.endif
+.if defined(AP_LIB)
+AP_EXTRAS+= -L ${AP_LIB}
+.endif
+
+.endif # End of _APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MOULE
+.endif # End of !_INCLUDE_USES_APACHE_PRE_MK
+
+# ===============================================================
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_POST_MK)
+_INCLUDE_USES_APACHE_POST_MK= apache.mk
+.if defined(NO_BUILD) && !defined(_APACHE_RUN_DEP)
+BROKEN= If NO_BUILD is used, then apache:run is sufficient. Please fix your Makefile
+.endif
+
+.if defined(_APACHE_PORT_IS_SERVER)
+.if !target(print-closest-mirrors)
+print-closest-mirrors:
+ @${ECHO_MSG} -n "Fetching list of nearest mirror: " >&2
+ @MIRRORS=`${FETCH_CMD} -T 30 -qo - http://www.apache.org/dyn/closer.cgi/httpd/ 2> /dev/null\
+ | ${GREP} /httpd/ | ${SED} 's/.*href="\(.*\)"><str.*/\1/g' | \
+ ${HEAD} -7 | ${TAIL} -6` ; \
+ ${ECHO_MSG} done >&2; if [ "x$$MIRRORS" != "x" ]; then \
+ ${ECHO_MSG} -n "MASTER_SITE_APACHE_HTTPD?= ";\
+ ${ECHO_MSG} $$MIRRORS; else \
+ ${ECHO_MSG} "No mirrors found!">&2 ; fi
+.endif
+
+.if !target(show-modules)
+show-modules:
+.if !empty(APACHE_MODULES)
+.for module in ${AVAILABLE_MODULES}
+ @${PRINTF} "%-20s : " ${module}
+. if ${APACHE_MODULES:M${module}}
+ @${ECHO} -n "enabled "
+. if !empty(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M${module}}
+ @${ECHO_CMD} " (static)"
+. else
+ @${ECHO_CMD} "(shared)"
+. endif
+. else
+ @${ECHO_CMD} disabled
+. endif
+.endfor
+.else
+.for module in ${AVAILABLE_MODULES}
+ @${PRINTF} "%-20s : disabled\n" ${module}
+.endfor
+.endif
+.endif
+
+.else
+
+.if defined(AP_MODENABLE)
+AP_MOD_EN= -a
+.else
+AP_MOD_EN= -A
+.endif
+PLIST_SUB+= AP_MOD_EN="${AP_MOD_EN}"
+
+.if defined(AP_FAST_BUILD)
+.if !target(ap-gen-plist)
+_USES_build+= 490:ap-gen-plist
+ap-gen-plist:
+.if defined(AP_GENPLIST)
+. if !exists(${PLIST})
+ @${ECHO} "===> Generating apache plist"
+ @${ECHO} "%%APACHEMODDIR%%/%%AP_MODULE%%" >> ${PLIST}
+ @${ECHO} "@postexec %D/sbin/apxs -e ${AP_MOD_EN} -n %%AP_NAME%% %D/%F" >> ${PLIST}
+ @${ECHO} "@postunexec ${SED} -i '' -E '/LoadModule[[:blank:]]+%%AP_NAME%%_module/d' %D/%%APACHEETCDIR%%/httpd.conf" >> ${PLIST}
+ @${ECHO} "@postunexec echo \"Don't forget to remove all ${MODULENAME}-related directives in your httpd.conf\"">> ${PLIST}
+. endif
+.endif
+.endif
+
+.if !target(do-build)
+do-build:
+ (cd ${WRKSRC} && ${APXS} -c ${AP_EXTRAS} -o ${MODULENAME}.la ${SRC_FILE})
+.endif
+
+.if !target(do-install)
+do-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
+ ${APXS} -S LIBEXECDIR=${STAGEDIR}${PREFIX}/${APACHEMODDIR} -i -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.la
+. if !defined(DEBUG)
+ @${ECHO_MSG} "===> strip ${APACHEMODDIR}/${MODULENAME}.so"
+ @[ -e ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so ] && ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so
+. else
+ @${ECHO_MSG} "===> DEBUG is set, will not strip ${APACHEMODDIR}/${MODULENAME}.so"
+. endif
+.endif
+
+.endif # defined(AP_FAST_BUILD)
+.endif # defined(_APACHE_PORT_IS_SERVER / _APACHE_PORT_IS_MODULE)
+.endif # defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_APACHE_PRE_MK)
diff --git a/Mk/Uses/php.mk b/Mk/Uses/php.mk
index 698e18e70c34..5833502546e7 100644
--- a/Mk/Uses/php.mk
+++ b/Mk/Uses/php.mk
@@ -278,7 +278,7 @@ BUILD_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT}
RUN_DEPENDS+= ${PHPBASE}/include/php/main/php.h:${PHP_PORT}
. if ${php_ARGS:Mmod} || (${php_ARGS:Mweb} && defined(PHP_VERSION) && ${PHP_SAPI:Mcgi} == "" && ${PHP_SAPI:Mfpm} == "")
USE_APACHE_RUN= 22+
-.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.include "${PORTSDIR}/Mk/Uses/apache.mk"
# libphpX.so only has the major version number in it, so remove the last digit of PHP_VER to get it.
RUN_DEPENDS+= ${PHPBASE}/${APACHEMODDIR}/libphp${PHP_VER:C/.$//}.so:${MOD_PHP_PORT}
. endif
diff --git a/Mk/bsd.apache.mk b/Mk/bsd.apache.mk
deleted file mode 100644
index 768cb2cecfe6..000000000000
--- a/Mk/bsd.apache.mk
+++ /dev/null
@@ -1,520 +0,0 @@
-# $FreeBSD$
-#
-# bsd.apache.mk - Apache related macros.
-# Author: Clement Laforet <clement@FreeBSD.org>
-# Author: Olli Hauer <ohauer@FreeBSD.org>
-#
-# Please view me with 4 column tabs!
-
-# =========================================================================
-# User controlled parameters for usage in /etc/make.conf:
-#
-# DEFAULT_VERSIONS - define the default apache version
-# valid args: apache=2.2, apache=2.4
-#
-# APACHE_PORT - use www/apache22-(event|itk|peruser|worker)-mpm
-# instead www/apache22. Use this parameter only in
-# combination with "DEFAULT_VERSIONS+= apache=2.2"
-#
-# Example entry in /etc/make.conf:
-# - Set apache22 as default version
-# DEFAULT_VERSIONS+= apache=2.2
-#
-# - Additional use a special www/apache22-$MPM port
-# APACHE_PORT= www/apache22-event-mpm
-#
-# Note:
-# - This parameters should never be used in the Makefile of a port!
-# - To get a list of "possible" APACHE_PORT values execute the command:
-# $> awk '/apache22-/ {print "www/" $3}' ports/www/Makefile
-#
-# =========================================================================
-#
-# This script will be included if one of the following parameter
-# is defined in the Makefile of the port
-#
-# USE_APACHE - Set apache and apxs as build and run dependency
-# USE_APACHE_BUILD - Set apache and apxs as build dependency
-# USE_APACHE_RUN - Set apache and apxs as run dependency
-#
-# The following example is representative of all three possible
-# parameters to use.
-#
-# Examples:
-# USE_APACHE= 22 # specify exact version
-# USE_APACHE= 22+ # specify [min] version, no [max] version
-# USE_APACHE= 22-24 # specify [min]-[max] range
-# USE_APACHE= -22 # specify [max] version, no [min] version
-#
-# Note:
-# - If "+" is specified and no apache is installed, then
-# ${DEFAULT_APACHE_VERSION} will be used.
-#
-# - Valid version numbers are specified in the variable
-# APACHE_SUPPORTED_VERSION below
-#
-# - The following values for USE_APACHE are reserverd and only valid
-# in apache-server ports!
-# USE_APACHE= common22
-#
-#
-# The following variables can be used (ro) in ports Makefile
-# =========================================================================
-# - APACHE_VERSION
-# - APACHEETCDIR
-# - APACHEINCLUDEDIR
-# - APACHEMODDIR
-# - DEFAULT_APACHE_VERSION
-#
-#
-# Parameters for building third party apache modules:
-# =========================================================================
-# - AP_FAST_BUILD # automatic module build
-#
-# - AP_GENPLIST # automatic PLIST generation plus add
-# # the module disabled into httpd.conf
-# # (only if no pkg-plist exist)
-#
-# - MODULENAME # default: ${PORTNAME}
-# - SHORTMODNAME # default: ${MODULENAME:S/mod_//}
-# - SRC_FILE # default: ${MODULENAME}.c
-#
-#
-
-.if !defined(Apache_Pre_Include)
-
-Apache_Pre_Include= bsd.apache.mk
-
-.if defined(DEFAULT_APACHE_VER)
-WARNING+= "DEFAULT_APACHE_VER is defined, consider using DEFAULT_VERSIONS+=apache=${DEFAULT_APACHE_VER} instead"
-.endif
-
-DEFAULT_APACHE_VERSION?= ${APACHE_DEFAULT:S/.//}
-# When adding a version, please keep the comment in
-# Mk/bsd.default-versions.mk in sync.
-APACHE_SUPPORTED_VERSION= 24 22 # preferred version first
-
-# Print warnings
-_ERROR_MSG= : Error from bsd.apache.mk.
-
-# Important Note:
-# Keep apache version in ascending order!
-# The "+" sign is only valid as last sign, not between
-# two versions or in combination with range!
-.if defined(USE_APACHE) && !empty(USE_APACHE)
-. if ${USE_APACHE:Mcommon*} != ""
-AP_PORT_IS_SERVER= yes
-. elif ${USE_APACHE:C/\-//:S/^22//:S/^24//:C/\+$//} == ""
-AP_PORT_IS_MODULE= yes
-. if ${USE_APACHE:C/\-//:S/^22//:S/^24//} == "+"
-AP_PLUS= yes
-. endif
-. else
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
-. endif
-# Catch unknown apache versions and silly USE_APACHE constructs
-. if empty(AP_PORT_IS_SERVER) && empty(AP_PORT_IS_MODULE)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
-. endif
-# Catch USE_APACHE [min]-[max]+
-. if defined(AP_PLUS) && ${USE_APACHE:C/[.+0-9]//g} == "-"
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( ${USE_APACHE} )
-. endif
-.elif defined(USE_APACHE)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE ( no version specified )
-.endif # defined(USE_APACHE)
-
-# ===============================================================
-.if defined(AP_PORT_IS_SERVER)
-# Module selection
-.for category in ${DEFAULT_MODULES_CATEGORIES}
-DEFAULT_MODULES+= ${${category}_MODULES}
-.endfor
-
-.for category in ${ALL_MODULES_CATEGORIES}
-AVAILABLE_MODULES+= ${${category}_MODULES}
-.endfor
-
-# detect invalid lowercase params in make.conf
-# keep this check until end of 2012
-.if defined(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M[a-z]*}
-IGNORE= lowercase WITH_STATIC_MODULES="${WITH_STATIC_MODULES}"\
- detected (make.conf), they shoud be UPPERCASE
-.endif
-
-# Setting "@comment " as default.
-.for module in ${AVAILABLE_MODULES:O}
-${module}PLIST_SUB= "@comment "
-_DISABLE_MODULES+= --disable-${module:tl}
-.endfor
-
-# Configure
-# dirty hacks to make sure all modules are disabled before we select them
-.if ${USE_APACHE:Mcommon2*}
-CONFIGURE_ARGS+= ${_DISABLE_MODULES:O:u}
-.endif
-
-# OPTIONS handling
-.for module in ${AVAILABLE_MODULES}
-. if ${PORT_OPTIONS:M${module}}
-_APACHE_MODULES+= ${module}
-. else
-WITHOUT_MODULES+= ${module}
-. endif
-.endfor
-
-.if !defined(WITH_STATIC_APACHE)
-# FYI
-#DYNAMIC_MODULES= so
-CONFIGURE_ARGS+= --enable-so
-.else
-CONFIGURE_ARGS+= --disable-so
-WITH_ALL_STATIC_MODULES= yes
-.endif
-
-.if ${PORT_OPTIONS:MSUEXEC}
-_APACHE_MODULES+= ${SUEXEC_MODULES}
-SUEXEC_CONFARGS= with-suexec
-
-# SUEXEC_DOCROOT should exist
-SUEXEC_DOCROOT?= ${PREFIX}/www/data
-#SUEXEC_DOCROOT?= ${WWWDIR}
-SUEXEC_USERDIR?= public_html
-# avoid duplicate search paths
-.if ${LOCALBASE} == ${PREFIX}
-SUEXEC_SAFEPATH?= ${LOCALBASE}/bin:/usr/bin:/bin
-.else
-SUEXEC_SAFEPATH?= ${PREFIX}/bin:${LOCALBASE}/bin:/usr/bin:/bin
-.endif
-SUEXEC_LOGFILE?= /var/log/httpd-suexec.log
-SUEXEC_UIDMIN?= 1000
-SUEXEC_GIDMIN?= 1000
-SUEXEC_CALLER?= ${WWWOWN}
-CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-caller=${SUEXEC_CALLER} \
- --${SUEXEC_CONFARGS}-uidmin=${SUEXEC_UIDMIN} \
- --${SUEXEC_CONFARGS}-gidmin=${SUEXEC_GIDMIN} \
- --${SUEXEC_CONFARGS}-userdir="${SUEXEC_USERDIR}" \
- --${SUEXEC_CONFARGS}-docroot="${SUEXEC_DOCROOT}" \
- --${SUEXEC_CONFARGS}-safepath="${SUEXEC_SAFEPATH}" \
- --${SUEXEC_CONFARGS}-logfile="${SUEXEC_LOGFILE}" \
- --${SUEXEC_CONFARGS}-bin="${PREFIX}/sbin/suexec"
-
-. if defined(WITH_SUEXEC_UMASK)
-CONFIGURE_ARGS+= --${SUEXEC_CONFARGS}-umask=${SUEXEC_UMASK}
-. endif
-.endif
-
-.if !defined(WITHOUT_MODULES)
-APACHE_MODULES= ${_APACHE_MODULES}
-.else
-.for module in ${_APACHE_MODULES:O:u}
-. if !${WITHOUT_MODULES:M${module}}
-APACHE_MODULES+= ${module}
-. endif
-.endfor
-.endif
-
-.if defined(WITH_STATIC_MODULES)
-.for module in ${APACHE_MODULES}
-. if ${WITH_STATIC_MODULES:M${module}}
-_CONFIGURE_ARGS+= --enable-${module:tl}=static
-. else
-_CONFIGURE_ARGS+= --enable-${module:tl}=shared
-. endif
-.endfor
-CONFIGURE_ARGS+= ${_CONFIGURE_ARGS:O}
-.elif defined(WITH_STATIC_APACHE) || defined(WITH_ALL_STATIC_MODULES)
-WITH_STATIC_MODULES= ${APACHE_MODULES}
-CONFIGURE_ARGS+= --enable-modules="${APACHE_MODULES:O:tl}"
-.else
-CONFIGURE_ARGS+= --enable-mods-shared="${APACHE_MODULES:O:tl}"
-.endif
-
-# ====================================
-# start pkg-plist adjustments
-.if defined(WITH_STATIC_MODULES)
-.for module in ${APACHE_MODULES}
-. if !${WITH_STATIC_MODULES:M${module}}
-_SHARED_MODULES+= ${module}
-. endif
-.endfor
-
-SHARED_MODULES= ${_SHARED_MODULES}
-.elif !defined(WITH_ALL_STATIC_MODULES)
-SHARED_MODULES= ${APACHE_MODULES}
-.endif
-
-.for module in ${SHARED_MODULES}
-${module}PLIST_SUB= ""
-.endfor
-
-.for module in ${AVAILABLE_MODULES:O:u}
-PLIST_SUB+= MOD_${module}=${${module}PLIST_SUB}
-.endfor
-
-# pkg-plist workaround STATIC support
-.if ${PORT_OPTIONS:MSUEXEC}
-PLIST_SUB+= SUEXEC=""
-.else
-PLIST_SUB+= SUEXEC="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MLOG_FORENSIC}
-PLIST_SUB+= FORENSIC=""
-.else
-PLIST_SUB+= FORENSIC="@comment "
-.endif
-
-# end pkg-plist adjustments
-
-#### End of AP_PORT_IS_SERVER ####
-
-# ===============================================================
-.elif defined(AP_PORT_IS_MODULE) || defined(USE_APACHE_RUN) || defined(USE_APACHE_BUILD)
-APXS?= ${LOCALBASE}/sbin/apxs
-HTTPD?= ${LOCALBASE}/sbin/httpd
-
-MODULENAME?= ${PORTNAME}
-SHORTMODNAME?= ${MODULENAME:S/mod_//}
-SRC_FILE?= ${MODULENAME}.c
-
-.if exists(${HTTPD})
-_APACHE_VERSION!= ${HTTPD} -v | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p'
-.elif defined(APACHE_PORT)
-_APACHE_VERSION!= ${ECHO_CMD} ${APACHE_PORT} | ${SED} -ne 's,.*/apache\([0-9]*\).*,\1,p'
-.endif
-
-.if defined(USE_APACHE)
-_USE_APACHE:= ${USE_APACHE}
-.elif defined(USE_APACHE_BUILD)
-_USE_APACHE:= ${USE_APACHE_BUILD}
-.elif defined(USE_APACHE_RUN)
-_USE_APACHE:= ${USE_APACHE_RUN}
-.endif
-
-_APACHE_VERSION_CHECK:= ${_USE_APACHE:C/^([1-9][0-9])$/\1-\1/}
-_APACHE_VERSION_MINIMUM_TMP:= ${_APACHE_VERSION_CHECK:C/([1-9][0-9])[-+].*/\1/}
-_APACHE_VERSION_MINIMUM:= ${_APACHE_VERSION_MINIMUM_TMP:M[1-9][0-9]}
-_APACHE_VERSION_MAXIMUM_TMP:= ${_APACHE_VERSION_CHECK:C/.*-([1-9][0-9])/\1/}
-_APACHE_VERSION_MAXIMUM:= ${_APACHE_VERSION_MAXIMUM_TMP:M[1-9][0-9]}
-
-# ==============================================================
-# num+
-.if ${_USE_APACHE:M*+}
-_APACHE_WANTED_VERSIONS= ${DEFAULT_APACHE_VERSION}
-
-# -num
-.elif ${_USE_APACHE:M\-[0-9][0-9]}
-.for _v in ${APACHE_SUPPORTED_VERSION:O}
-. if ${_APACHE_VERSION_MAXIMUM} >= ${_v}
-_APACHE_WANTED_VERSIONS+= ${_v}
-. endif
-.endfor
-
-# num-num
-.elif ${_USE_APACHE:M[0-9][0-9]-[0-9][0-9]}
-.for _v in ${APACHE_SUPPORTED_VERSION}
-. if ${_APACHE_VERSION_MINIMUM} <= ${_v} && ${_APACHE_VERSION_MAXIMUM} >= ${_v}
-_APACHE_WANTED_VERSIONS+= ${_v}
-. endif
-.endfor
-
-# num
-.elif ${_USE_APACHE:M[0-9][0-9]}
-_APACHE_WANTED_VERSIONS= ${_USE_APACHE:M[0-9][0-9]}
-.endif
-# ==============================================================
-
-.if !defined(_APACHE_WANTED_VERSIONS)
-_APACHE_WANTED_VERSIONS= ${DEFAULT_APACHE_VERSION}
-.endif
-
-.for _v in ${_APACHE_WANTED_VERSIONS:O:u}
-_APACHE_HIGHEST_VERSION:= ${_v}
-. if defined (_APACHE_VERSION) && ${_APACHE_VERSION} == ${_v}
-_APACHE_WANTED_VERSION:= ${_v}
-. endif
-.endfor
-
-.if !defined(_APACHE_WANTED_VERSION)
-# next line is broken on 8.x and 9.x but working on 10
-#_APACHE_WANTED_VERSION:= ${_APACHE_WANTED_VERSIONS:O:u:M${DEFAULT_APACHE_VERSION}}
-# working line on 8.x, 9.x, 10
-_APACHE_WANTED_VERSION:= ${_APACHE_WANTED_VERSIONS:O:u:MDEFAULT_APACHE_VERSION}
-. if empty(_APACHE_WANTED_VERSION)
-_APACHE_WANTED_VERSION:= ${_APACHE_HIGHEST_VERSION}
-. endif
-.endif
-
-.if defined(_APACHE_VERSION) && ${_APACHE_VERSION} != ${_APACHE_WANTED_VERSION}
-BROKEN= ${_ERROR_MSG} apache${_APACHE_VERSION} is installed (or APACHE_PORT is defined) and port requires apache${_APACHE_VERSION_NONSUPPORTED}
-.endif
-
-APACHE_VERSION:= ${_APACHE_WANTED_VERSION}
-
-.if exists(${APXS})
-APXS_PREFIX!= ${APXS} -q prefix 2> /dev/null || echo NULL
-. if ${APXS_PREFIX} == NULL
-IGNORE= : Your apache does not support DSO modules
-. endif
-. if defined(AP_GENPLIST) && ${APXS_PREFIX} != ${PREFIX}
-IGNORE?= PREFIX must be equal to APXS_PREFIX.
-. endif
-.endif
-
-APACHEMODDIR= libexec/apache${APACHE_VERSION}
-APACHEINCLUDEDIR=include/apache${APACHE_VERSION}
-APACHEETCDIR= etc/apache${APACHE_VERSION}
-APACHE_PORT?= www/apache${APACHE_VERSION}
-
-PLIST_SUB+= APACHEMODDIR="${APACHEMODDIR}" \
- APACHEINCLUDEDIR="${APACHEINCLUDEDIR}" \
- APACHEETCDIR="${APACHEETCDIR}" \
- APACHE_VERSION="${APACHE_VERSION}"
-
-SUB_LIST+= APACHEMODDIR="${APACHEMODDIR}" \
- APACHEETCDIR="${APACHEETCDIR}" \
- APACHE_VERSION="${APACHE_VERSION}"
-
-APACHE_PKGNAMEPREFIX= ap${APACHE_VERSION}-
-
-.if defined(AP_FAST_BUILD)
-PKGNAMEPREFIX?= ${APACHE_PKGNAMEPREFIX}
-.endif
-
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD)
-BUILD_DEPENDS+= ${APXS}:${APACHE_PORT}
-.endif
-
-.if defined(USE_APACHE) || defined(USE_APACHE_RUN)
-RUN_DEPENDS+= ${APXS}:${APACHE_PORT}
-.endif
-
-PLIST_SUB+= AP_NAME="${SHORTMODNAME}"
-PLIST_SUB+= AP_MODULE="${MODULENAME}.so"
-
-.if defined(AP_GENPLIST)
-PLIST?= ${WRKDIR}/ap-plist
-.endif
-
-.if defined(AP_INC)
-AP_EXTRAS+= -I ${AP_INC}
-.endif
-.if defined(AP_LIB)
-AP_EXTRAS+= -L ${AP_LIB}
-.endif
-
-.endif # End of AP_PORT_IS_SERVER / AP_PORT_IS_MOULE
-.endif # End of !Apache_Pre_Include
-
-# ===============================================================
-.if defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include)
-Apache_Post_Include= bsd.apache.mk
-
-.if defined(USE_APACHE_RUN) && !empty(USE_APACHE_RUN)
-. if ${USE_APACHE_RUN:C/\-//:S/^22//:S/^24//:C/\+$//} != ""
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_RUN ( ${USE_APACHE_RUN} )
-. endif
-.elif defined(USE_APACHE_RUN)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_RUN ( no valid version specified )
-.endif
-
-.if defined(USE_APACHE_BUILD) && !empty(USE_APACHE_BUILD)
-. if ${USE_APACHE_BUILD:C/\-//:S/^22//:S/^24//:C/\+$//} != ""
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_BUILD ( ${USE_APACHE_BUILD} )
-. endif
-.elif defined(USE_APACHE_BUILD)
-IGNORE= ${_ERROR_MSG} Illegal use of USE_APACHE_BUILD ( no valid version specified )
-.endif
-
-# Check if USE_APACHE(_BUILD|_RUN) are mixed together
-.if defined(USE_APACHE) && ( defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN) )
-IGNORE= ${_ERROR_MSG} specify only one of: USE_APACHE USE_APACHE_BUILD USE_APACHE_RUN
-.elif defined(USE_APACHE_BUILD) && defined(USE_APACHE_RUN)
-IGNORE= ${_ERROR_MSG} use USE_APACHE instead of USE_APACHE_BUILD and USE_APACHE_RUN together
-.endif
-
-.if defined(NO_BUILD) && defined(USE_APACHE)
-BROKEN= If NO_BUILD is used, then USE_APACHE_RUN is sufficient. Please fix your Makefile
-.endif
-
-.if defined(AP_PORT_IS_SERVER)
-.if !target(print-closest-mirrors)
-print-closest-mirrors:
- @${ECHO_MSG} -n "Fetching list of nearest mirror: " >&2
- @MIRRORS=`${FETCH_CMD} -T 30 -qo - http://www.apache.org/dyn/closer.cgi/httpd/ 2> /dev/null\
- | ${GREP} /httpd/ | ${SED} 's/.*href="\(.*\)"><str.*/\1/g' | \
- ${HEAD} -7 | ${TAIL} -6` ; \
- ${ECHO_MSG} done >&2; if [ "x$$MIRRORS" != "x" ]; then \
- ${ECHO_MSG} -n "MASTER_SITE_APACHE_HTTPD?= ";\
- ${ECHO_MSG} $$MIRRORS; else \
- ${ECHO_MSG} "No mirrors found!">&2 ; fi
-.endif
-
-.if !target(show-modules)
-show-modules:
-.if !empty(APACHE_MODULES)
-.for module in ${AVAILABLE_MODULES}
- @${PRINTF} "%-20s : " ${module}
-. if ${APACHE_MODULES:M${module}}
- @${ECHO} -n "enabled "
-. if !empty(WITH_STATIC_MODULES) && ${WITH_STATIC_MODULES:M${module}}
- @${ECHO_CMD} " (static)"
-. else
- @${ECHO_CMD} "(shared)"
-. endif
-. else
- @${ECHO_CMD} disabled
-. endif
-.endfor
-.else
-.for module in ${AVAILABLE_MODULES}
- @${PRINTF} "%-20s : disabled\n" ${module}
-.endfor
-.endif
-.endif
-
-.elif defined(AP_PORT_IS_MODULE)
-
-.if defined(AP_MODENABLE)
-AP_MOD_EN= -a
-.else
-AP_MOD_EN= -A
-.endif
-PLIST_SUB+= AP_MOD_EN="${AP_MOD_EN}"
-
-.if defined(AP_FAST_BUILD)
-.if !target(ap-gen-plist)
-_USES_build+= 490:ap-gen-plist
-ap-gen-plist:
-.if defined(AP_GENPLIST)
-. if !exists(${PLIST})
- @${ECHO} "===> Generating apache plist"
- @${ECHO} "%%APACHEMODDIR%%/%%AP_MODULE%%" >> ${PLIST}
- @${ECHO} "@postexec %D/sbin/apxs -e ${AP_MOD_EN} -n %%AP_NAME%% %D/%F" >> ${PLIST}
- @${ECHO} "@postunexec ${SED} -i '' -E '/LoadModule[[:blank:]]+%%AP_NAME%%_module/d' %D/%%APACHEETCDIR%%/httpd.conf" >> ${PLIST}
- @${ECHO} "@postunexec echo \"Don't forget to remove all ${MODULENAME}-related directives in your httpd.conf\"">> ${PLIST}
-. endif
-.endif
-.endif
-
-.if !target(do-build)
-do-build:
- (cd ${WRKSRC} && ${APXS} -c ${AP_EXTRAS} -o ${MODULENAME}.la ${SRC_FILE})
-.endif
-
-.if !target(do-install)
-do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
- ${APXS} -S LIBEXECDIR=${STAGEDIR}${PREFIX}/${APACHEMODDIR} -i -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.la
-. if !defined(DEBUG)
- @${ECHO_MSG} "===> strip ${APACHEMODDIR}/${MODULENAME}.so"
- @[ -e ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so ] && ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}/${MODULENAME}.so
-. else
- @${ECHO_MSG} "===> DEBUG is set, will not strip ${APACHEMODDIR}/${MODULENAME}.so"
-. endif
-.endif
-
-.endif # defined(AP_FAST_BUILD)
-.endif # defined(AP_PORT_IS_SERVER / AP_PORT_IS_MODULE)
-.endif # defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include)
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 4f3f79a5e887..ecb884caa453 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -433,8 +433,6 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
# ${PREFIX}/etc/rc.d if ${PREFIX} is not /usr, otherwise they
# will be installed in /etc/rc.d/ and added to the packing list.
##
-# USE_APACHE - If set, this port relies on an apache webserver.
-#
# Conflict checking. Use if your port cannot be installed at the same time as
# another package.
#
@@ -1393,8 +1391,13 @@ USES+= php
.include "${PORTSDIR}/Mk/bsd.ocaml.mk"
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
-.include "${PORTSDIR}/Mk/bsd.apache.mk"
+.if defined(USE_APACHE_BUILD)
+USES+= apache:build,${USE_APACHE_BUILD:C/2([0-9])/2.\1/g}
+.elif defined(USE_APACHE_RUN)
+USES+= apache:run,${USE_APACHE_RUN:C/2([0-9])/2.\1/g}
+.elif defined(USE_APACHE)
+USE_APACHE:= ${USE_APACHE:S/common/server,/}
+USES+= apache:${USE_APACHE:C/2([0-9])/2.\1/g}
.endif
.if defined(USE_QT4) || defined(USE_QT5)
@@ -1982,10 +1985,6 @@ _USES_POST+= php
.include "${PORTSDIR}/Mk/bsd.wx.mk"
.endif
-.if defined(USE_APACHE) || defined(USE_APACHE_BUILD) || defined(USE_APACHE_RUN)
-.include "${PORTSDIR}/Mk/bsd.apache.mk"
-.endif
-
.if defined(USE_FPC) || defined(WANT_FPC_BASE) || defined(WANT_FPC_ALL)
.include "${PORTSDIR}/Mk/bsd.fpc.mk"
.endif
diff --git a/Mk/bsd.sanity.mk b/Mk/bsd.sanity.mk
index 1bf6f20feef2..1c9f2164a208 100644
--- a/Mk/bsd.sanity.mk
+++ b/Mk/bsd.sanity.mk
@@ -161,11 +161,12 @@ SANITY_UNSUPPORTED= USE_OPENAL USE_FAM USE_MAKESELF USE_ZIP USE_LHA USE_CMAKE \
USE_ZENDEXT USE_PHP_BUILD USE_BDB PLIST_DIRSTRY USE_RCORDER \
USE_OPENSSL WANT_GNOME RUBYGEM_AUTOPLIST WANT_SDL INSTALLS_EGGINFO \
USE_DOS2UNIX NO_STAGE USE_RUBYGEMS USE_GHOSTSCRIPT \
- USE_GHOSTSCRIPT_BUILD USE_GHOSTSCRIPT_RUN USE_AUTOTOOLS
+ USE_GHOSTSCRIPT_BUILD USE_GHOSTSCRIPT_RUN USE_AUTOTOOLS APACHE_PORT
SANITY_DEPRECATED= PYTHON_PKGNAMESUFFIX MLINKS \
USE_MYSQL WANT_MYSQL_VER \
USE_PHPIZE WANT_PHP_CLI WANT_PHP_CGI WANT_PHP_MOD \
- WANT_PHP_WEB WANT_PHP_EMB PYDISTUTILS_INSTALLNOSINGLE
+ WANT_PHP_WEB WANT_PHP_EMB PYDISTUTILS_INSTALLNOSINGLE \
+ USE_APACHE USE_APACHE_BUILD USE_APACHE_RUN
SANITY_NOTNEEDED= CMAKE_NINJA WX_UNICODE USE_KDEBASE_VER \
USE_KDELIBS_VER USE_QT_VER
@@ -239,6 +240,10 @@ USE_GHOSTSCRIPT_ALT= USES=ghostscript
USE_GHOSTSCRIPT_BUILD_ALT= USES=ghostscript
USE_GHOSTSCRIPT_RUN_ALT= USES=ghostscript
NO_STAGE_ALT= https://wiki.freebsd.org/ports/StageDir to convert your port to staging
+USE_APACHE_ALT= USES=apache:${USE_APACHE:C/2(0-9)/2.\1/g}
+USE_APACHE_BUILD_ALT= USES=apache:build,${USE_APACHE_BUILD:C/2(0-9)/2.\1/g}
+USE_APACHE_RUN_ALT= USES=apache:run,${USE_APACHE_RUN:C/2(0-9)/2.\1/g}
+APACHE_PORT_ALT= DEFAULT_VERSIONS+=apache=${APACHE_PORT:S/www\/apache//:C/2(0-9)/2.\1/}
.for a in ${SANITY_DEPRECATED}
.if defined(${a})