Update www/apache22 to version 2.2.26
[dports.git] / www / apache22 / Makefile
1 # $FreeBSD: www/apache22/Makefile 334783 2013-11-24 19:56:26Z ohauer $
2
3 PORTNAME=       apache22
4 PORTVERSION=    2.2.26
5 #PORTREVISION?= 1
6 CATEGORIES=     www ipv6
7 MASTER_SITES=   ${MASTER_SITE_APACHE_HTTPD}
8 DISTNAME=       httpd-${PORTVERSION}
9 DIST_SUBDIR=    apache22
10
11 MAINTAINER?=    apache@FreeBSD.org
12 COMMENT?=       Version 2.2.x of Apache web server with ${WITH_MPM} MPM.
13
14 LIB_DEPENDS=    libexpat.so:${PORTSDIR}/textproc/expat2 \
15                 libapr-1.so:${PORTSDIR}/devel/apr1 \
16                 libpcre.so:${PORTSDIR}/devel/pcre
17
18 CONFLICTS_INSTALL=      caudium14-1.* \
19                 apache-*-2.2.* apache22-*-2.2.* \
20                 apache-*-2.4.* apache24-*-2.4.*
21
22 USE_APACHE=     common22
23 USE_BZIP2=      yes
24 USES=           iconv perl5
25 USE_PERL5=      run
26 USE_AUTOTOOLS=  autoconf libtool
27 USE_RC_SUBR=    apache22 htcacheclean
28 LIBTOOLFILES=   configure.in
29
30 PORTDOCS=       *
31
32 USERS=          www
33 GROUPS=         www
34
35 # for slave ports
36 .if !defined(MASTERDIR)
37 APACHEDIR=      ${.CURDIR}
38 .else
39 APACHEDIR=      ${MASTERDIR}
40 .endif
41
42 WITH_MPM?=              prefork # or worker, event, itk, peruser
43 WITH_HTTP_PORT?=        80
44 WITH_SSL_PORT?=         443
45
46 .include "${APACHEDIR}/Makefile.options"
47
48 AUTHNZ_LDAP_CONFIGURE_ON=       --enable-authnz-ldap
49
50 # http://httpd.apache.org/docs/2.2/bind.html
51 IPV4_MAPPED_CONFIGURE_OFF=      --disable-v4-mapped
52 IPV4_MAPPED_CONFIGURE_ON=       --enable-v4-mapped
53
54 LDAP_CONFIGURE_ON=              --enable-ldap=shared
55 SSL_CFLAGS=                     -I${OPENSSLINC}
56 SSL_CONFIGURE_ON=               --with-ssl=${OPENSSLBASE}
57 SSL_LDFLAGS=                    -L${OPENSSLLIB}
58 SSL_USE=                        OPENSSL=yes
59
60 SUEXEC_RSRCLIMIT_EXTRA_PATCHES= ${FILESDIR}/extra-patch-suexec_rsrclimit
61 SUEXEC_USERDIR_EXTRA_PATCHES=   ${FILESDIR}/extra-patch-suexec_userdir
62
63 .include <bsd.port.options.mk>
64
65 ETC_SUBDIRS=            Includes envvars.d extra modules.d
66
67 .if ! ${PORT_OPTIONS:MDOCS}
68 MAKE_ENV+=      NOPORTDOCS=yes
69 .endif
70
71 APR_CONFIG?=            ${LOCALBASE}/bin/apr-1-config
72 APU_CONFIG?=            ${LOCALBASE}/bin/apu-1-config
73
74 # APU modules used by AUTHN_DBD DBD
75 APU_DBD_MYSQL?=         ${LOCALBASE}/lib/apr-util-1/apr_dbd_mysql.so
76 APU_DBD_PGSQL?=         ${LOCALBASE}/lib/apr-util-1/apr_dbd_pgsql.so
77 APU_DBD_SQLITE3?=       ${LOCALBASE}/lib/apr-util-1/apr_dbd_sqlite3.so
78 # APU module used by AUTHNZ_LDAP LDAP
79 APU_LDAP?=              ${LOCALBASE}/lib/apr-util-1/apr_ldap.so
80 # APU module used by SESSION_CRYPTO
81 APU_CRYPTO_OPENSSL?=    ${LOCALBASE}/lib/apr-util-1/apr_crypto_openssl.so
82 APU_CRYPTO_NSS?=        ${LOCALBASE}/lib/apr-util-1/apr_crypto_nss.so
83
84 CONFIGURE_ARGS+=--prefix=${PREFIX} \
85                 --enable-layout=FreeBSD \
86                 --with-port=${WITH_HTTP_PORT} \
87                 --with-sslport=${WITH_SSL_PORT} \
88                 --with-expat=${LOCALBASE} \
89                 --with-iconv=${ICONV_PREFIX} \
90                 --enable-http \
91                 --with-pcre=${LOCALBASE} \
92                 --with-apr=${APR_CONFIG} \
93                 --with-apr-util=${APU_CONFIG}
94
95 CONFIGURE_ENV=  \
96                 CONFIG_SHELL="${SH}" \
97                 LOCALBASE="${LOCALBASE}"
98
99 MAKE_ENV+=      EXPR_COMPAT=yes \
100                 INSTALL_MAN="${INSTALL_MAN}" \
101                 EXAMPLESDIR=${EXAMPLESDIR}
102
103 #=====================================================
104 # CONFIGURE_ARGS will be handled in Makefile.modules,
105 # here we do only OPTIONS fixups
106
107 .if ${PORT_OPTIONS:MSUEXEC_RSRCLIMIT} && !${PORT_OPTIONS:MSUEXEC}
108 IGNORE=         suEXEC resource limit patch requires mod_suexec.\
109                 Please (re)run 'make config' and choose SUEXEC option also
110 .endif
111
112 .if ${PORT_OPTIONS:MSUEXEC_USERDIR} && !${PORT_OPTIONS:MSUEXEC}
113 IGNORE=         suEXEC UserDir patch requires mod_suexec.\
114                 Please (re)run 'make config' and choose SUEXEC option also
115 .endif
116
117 .include <bsd.port.pre.mk>
118 .include "${APACHEDIR}/Makefile.modules"
119
120 pre-configure::
121         @${ECHO_MSG}    ""
122         @${ECHO_MSG}    "  You can check your modules configuration by using make show-modules"
123         @${ECHO_MSG}    ""
124
125 show-options:
126         @${SED} -ne 's/^##//p' ${APACHEDIR}/Makefile.doc
127
128 post-extract:
129 # remove possible leftover .svn directories in the sources
130         @${FIND} ${WRKSRC} -type d -name .svn -print | ${XARGS} ${RM} -rf
131 # limit grep results ...
132         @${FIND} ${WRKSRC} -type f \( -name 'NWGNU*' -o -name '*.ds?' -o -name '*.dep' -o -name '*.mak' -o -name '*.win' \) -delete
133
134 post-patch:
135         @${REINPLACE_CMD} -e 's," PLATFORM ",FreeBSD,' ${WRKSRC}/server/core.c
136 # IPv4_mapping fix: https://issues.apache.org/bugzilla/show_bug.cgi?id=53824
137         @${REINPLACE_CMD} -e 's|freebsd5|freebsd|' \
138                 -e 's|^perlbin=.*|perlbin=${PERL}|' \
139                 ${WRKSRC}/configure.in ${WRKSRC}/configure
140         @${RM} -f ${WRKSRC}/docs/docroot/*.bak
141         @${INSTALL_DATA} ${WRKSRC}/NOTICE ${WRKSRC}/docs/manual
142 # we use devel/apr and devel/pcre
143         @${RM} -rf ${WRKSRC}/srclib
144         @${REINPLACE_CMD} -e 's/srclib//' ${WRKSRC}/Makefile.in
145
146 post-configure:
147         @FTPUSERS=`${EGREP} -v '^#' /etc/ftpusers| ${TR} -s "\n" " "` ;\
148         ${REINPLACE_CMD} -e "s,%%FTPUSERS%%,$${FTPUSERS}," ${WRKSRC}/docs/conf/extra/httpd-userdir.conf
149         @${REINPLACE_CMD} -e "s,%%WWWOWN%%,${WWWOWN}," -e "s,%%WWWGRP%%,${WWWGRP}," ${WRKSRC}/docs/conf/httpd.conf
150         @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX}," ${WRKSRC}/support/envvars-std
151
152 post-install:
153         @${MKDIR} ${ETC_SUBDIRS:S|^|${STAGEDIR}${ETCDIR}/|}
154         ${INSTALL_DATA} ${FILESDIR}/no-accf.conf ${STAGEDIR}${ETCDIR}/Includes/
155         ${INSTALL_DATA} ${FILESDIR}/README_modules.d ${STAGEDIR}/${ETCDIR}/modules.d/
156
157 .if ${PORT_OPTIONS:MLOG_FORENSIC}
158         @${INSTALL_SCRIPT} ${WRKSRC}/support/check_forensic ${STAGEDIR}${PREFIX}/sbin
159 .endif
160
161 # maintainer only, check for new modules
162 modlist: extract
163         @${AWK} '/: checking whether to enable mod_/ \
164                 {printf "%%%%%s%%%%libexec/apache22/%s.so\n", \
165                 toupper($$8), $$8}' ${WRKSRC}/configure \
166                 | ${TR} -d '"' \
167                 | ${SORT} -u \
168                 | ${GREP} -E -v '^%%MOD_(ECHO|EXAMPLE|HTTP|IDENT|ISAPI|SO)%%'
169
170 .include <bsd.port.post.mk>