You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
251 lines
8.8 KiB
Tcl
251 lines
8.8 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup apache2 1.0
|
|
|
|
name apache2
|
|
version 2.4.68
|
|
revision 0
|
|
|
|
checksums rmd160 5813bab133e8b6c2d9de0c4b75c4820fc75a8fa0 \
|
|
sha256 68c74d4df38c26bed4dfbdb8f3baf1eb532f3872357becc1bba5d136f6b63c06 \
|
|
size 7738512
|
|
|
|
categories www
|
|
maintainers {ryandesign @ryandesign} {mps @Schamschula} openmaintainer
|
|
license Apache-2
|
|
description The extremely popular second version of the Apache http server
|
|
long_description Apache is an HTTP server designed as a plug-in replacement for the NCSA \
|
|
server version 1.3 (or 1.4). It fixes numerous bugs in the NCSA server \
|
|
and includes many frequently requested new features, and has an API \
|
|
which allows it to be extended to meet users' needs more easily.
|
|
homepage https://httpd.apache.org/
|
|
platforms darwin freebsd openbsd
|
|
|
|
master_sites apache:httpd
|
|
distname httpd-${version}
|
|
use_bzip2 yes
|
|
use_parallel_build yes
|
|
|
|
depends_lib port:apr \
|
|
port:apr-util \
|
|
port:expat \
|
|
path:lib/libssl.dylib:openssl \
|
|
port:libxml2 \
|
|
port:pcre \
|
|
port:perl5 \
|
|
port:zlib
|
|
|
|
patch.pre_args-replace -p0 -p1
|
|
patchfiles patch-build-rules.mk.in.diff \
|
|
patch-config.layout.diff \
|
|
patch-support-apxs.in.diff \
|
|
patch-ssl_engine_init.c.diff
|
|
|
|
post-patch {
|
|
reinplace "s,@MANDIR@,\${prefix}/share/${name},g" \
|
|
${worksrcpath}/config.layout
|
|
reinplace "s,@APACHE_NAME@,${name},g" \
|
|
${worksrcpath}/config.layout
|
|
reinplace -E "s/(User|Group) daemon/\\1 _www/" \
|
|
${worksrcpath}/docs/conf/httpd.conf.in
|
|
}
|
|
|
|
platform darwin {
|
|
patchfiles-append patch-support-apachectl.in.diff
|
|
|
|
post-patch {
|
|
# Customize userdir naming to match darwin
|
|
reinplace "s|/home/|/Users/|g" ${worksrcpath}/docs/conf/extra/httpd-userdir.conf.in
|
|
reinplace "s|public_html|Sites|g" ${worksrcpath}/docs/conf/extra/httpd-userdir.conf.in
|
|
}
|
|
|
|
# HFS can be case insensitive, so protect for this as in
|
|
# http://docs.info.apple.com/article.html?artnum=300422
|
|
patchfiles-append patch-docs-conf-httpd.conf.in.diff
|
|
}
|
|
|
|
platform darwin 9 {
|
|
post-extract {
|
|
reinplace "s|-export-symbols-regex ssl_module||g" ${worksrcpath}/configure
|
|
}
|
|
}
|
|
|
|
# https://trac.macports.org/wiki/WimplicitFunctionDeclaration#strchr
|
|
configure.checks.implicit_function_declaration.whitelist-append strchr
|
|
|
|
compiler.thread_local_storage yes
|
|
|
|
# Avoid inheriting CPP value from apr
|
|
configure.env "CPP=${configure.cc} -E"
|
|
|
|
configure.pre_args --prefix=${prefix}
|
|
configure.args --enable-authn-alias=shared \
|
|
--enable-cache \
|
|
--enable-deflate \
|
|
--enable-disk_cache \
|
|
--enable-file_cache \
|
|
--enable-layout=MacPorts \
|
|
--enable-mem_cache \
|
|
--enable-mods-shared=all \
|
|
--enable-proxy \
|
|
--enable-ssl \
|
|
--enable-proxy-connect \
|
|
--enable-proxy-ftp \
|
|
--enable-proxy-http \
|
|
--with-apr=${prefix}/bin/apr-1-config \
|
|
--with-apr-util=${prefix}/bin/apu-1-config \
|
|
--with-expat=${prefix} \
|
|
--with-libxml2=${prefix} \
|
|
--with-pcre=${prefix}/bin/pcre-config \
|
|
--with-ssl=${prefix} \
|
|
--with-z=${prefix} \
|
|
ac_cv_path_RSYNC=/usr/bin/rsync
|
|
|
|
# explicitly disable modules that may build opportunistically
|
|
configure.args-append \
|
|
--disable-brotli \
|
|
--disable-lua
|
|
|
|
post-configure {
|
|
# Setting DYLD_FALLBACK_LIBRARY_PATH instead of DYLD_LIBRARY_PATH
|
|
# avoids issues with library collisions (bug #3013)
|
|
reinplace "s|DYLD_LIBRARY_PATH|DYLD_FALLBACK_LIBRARY_PATH|g" \
|
|
${worksrcpath}/support/envvars-std
|
|
}
|
|
|
|
post-build {
|
|
reinplace -E {s| -arch [a-z0-9_]+||g} \
|
|
${worksrcpath}/config.nice \
|
|
${worksrcpath}/build/config_vars.mk
|
|
if {[tbool configure.ccache]} {
|
|
reinplace -E {s|ccache ||g} \
|
|
${worksrcpath}/config.nice \
|
|
${worksrcpath}/build/config_vars.mk
|
|
}
|
|
}
|
|
|
|
post-destroot {
|
|
move ${destroot}${apache2.sysconfdir}/httpd.conf \
|
|
${destroot}${apache2.sysconfdir}/httpd.conf.orig
|
|
foreach f [glob -tails -directory ${destroot}${apache2.sysconfdir}/extra/ *] {
|
|
move ${destroot}${apache2.sysconfdir}/extra/${f} \
|
|
${destroot}${apache2.sysconfdir}/extra/${f}.orig
|
|
}
|
|
delete ${destroot}${apache2.sysconfdir}/original
|
|
|
|
xinstall -m 755 -d ${destroot}${apache2.datadir}
|
|
xinstall -m 755 -d ${destroot}${apache2.runtimedir}
|
|
xinstall -m 755 -d ${destroot}${apache2.logfiledir}
|
|
destroot.keepdirs ${destroot}${apache2.datadir} \
|
|
${destroot}${apache2.runtimedir} \
|
|
${destroot}${apache2.logfiledir}
|
|
|
|
xinstall -d ${destroot}${apache2.docdir}
|
|
xinstall -m 0644 -W ${worksrcpath} ABOUT_APACHE CHANGES LICENSE NOTICE README \
|
|
README.platforms ROADMAP VERSIONING ${destroot}${apache2.docdir}
|
|
|
|
# foreach {module args} [array get apache_default_modules] {
|
|
# apxsInstall ${module} "yes" {}
|
|
# }
|
|
}
|
|
|
|
post-activate {
|
|
if {![file exists ${apache2.sysconfdir}/httpd.conf]} {
|
|
file copy ${apache2.sysconfdir}/httpd.conf.orig ${apache2.sysconfdir}/httpd.conf
|
|
reinplace "s|#LoadModule slotmem_shm_module|LoadModule slotmem_shm_module|g" \
|
|
${apache2.sysconfdir}/httpd.conf
|
|
}
|
|
|
|
#
|
|
# if {![file exists ${apache2.sbindir}/envvars]} {
|
|
# xinstall -m 755 ${apache2.sbindir}/envvars-std ${apache2.sbindir}/envvars
|
|
# }
|
|
#
|
|
# fileInstall "install" "${prefix}" "0644"
|
|
#
|
|
# set listenFile [open "${apache2.sysconfdir}/ports.conf" w 0644]
|
|
# foreach listen_port ${apache2.listen_ports} {
|
|
# puts ${listenFile} "Listen ${listen_port}"
|
|
# }
|
|
# close ${listenFile}
|
|
#
|
|
# foreach action {enmod dismod} {
|
|
# foreach module ${apache2.default_ ${action}} {
|
|
# exec "${apache2.sbindir}/a2${action}" ${module}
|
|
# }
|
|
# }
|
|
}
|
|
|
|
platform openbsd {
|
|
build.env-append LD_LIBRARY_PATH=${prefix}/lib
|
|
}
|
|
|
|
variant openldap description {Enable LDAP support through OpenLDAP} {
|
|
configure.args-append --enable-ldap --enable-authnz-ldap
|
|
depends_lib-append path:lib/libldap.dylib:openldap
|
|
pre-configure {
|
|
if {-1 == [string first -lldap [exec ${prefix}/bin/apu-1-config --libs]]} {
|
|
ui_error "To install ${name} with the +openldap variant, apr-util must be installed"
|
|
ui_error "with the +openldap variant. Rebuild apr-util using:"
|
|
ui_error
|
|
ui_error " sudo port upgrade --enforce-variants apr-util +openldap"
|
|
ui_error
|
|
return -code error "incompatible apr-util installation"
|
|
}
|
|
}
|
|
}
|
|
|
|
variant brotli description {Build brotli module} {
|
|
depends_lib-append port:brotli
|
|
configure.args-replace --disable-brotli --enable-brotli
|
|
configure.args-append --with-brotli=${prefix}
|
|
}
|
|
|
|
variant http2 description {Enable HTTP/2 support} {
|
|
depends_lib-append port:nghttp2
|
|
configure.args-append --enable-http2
|
|
}
|
|
|
|
variant xml2enc description {Enable i18n support for markup filters} {
|
|
configure.args-append --enable-xml2enc
|
|
}
|
|
|
|
variant mpms_shared_all description {Build all MPM's as DSO for dynamic loading} {
|
|
configure.args-append --enable-mpms-shared=all
|
|
}
|
|
|
|
variant preforkmpm conflicts workermpm eventmpm description {Use prefork MPM} {
|
|
configure.args-append --with-mpm=prefork
|
|
}
|
|
|
|
variant workermpm conflicts preforkmpm eventmpm description {Use worker MPM} {
|
|
configure.args-append --with-mpm=worker
|
|
}
|
|
|
|
variant eventmpm conflicts preforkmpm workermpm description {Use event MPM (experimental)} {
|
|
configure.args-append --with-mpm=event
|
|
}
|
|
|
|
if {![variant_isset workermpm] && ![variant_isset eventmpm]} {
|
|
default_variants +preforkmpm
|
|
}
|
|
|
|
startupitem.create yes
|
|
startupitem.start \
|
|
"\[ -x ${prefix}/sbin/apachectl \] && ${prefix}/sbin/apachectl start > /dev/null"
|
|
startupitem.stop \
|
|
"\[ -r ${prefix}/var/run/${name}/httpd.pid \] && ${prefix}/sbin/apachectl stop > /dev/null"
|
|
startupitem.restart \
|
|
"${prefix}/sbin/apachectl graceful > /dev/null"
|
|
|
|
notes "
|
|
For information about configuring Apache2, see
|
|
https://trac.macports.org/wiki/howto/Apache2
|
|
"
|
|
|
|
livecheck.type regex
|
|
livecheck.url ${homepage}download.cgi
|
|
livecheck.regex httpd-(\[0-9.\]+)${extract.suffix}
|
|
|