a project to simplify installation of open source software
on Mac OS X and Darwin
# $Id: Portfile 20491 2006-11-03 15:43:42Z blair@macports.org $
PortSystem 1.0
name mod_jk
version 1.2.19
categories www java
maintainers jberry@macports.org
platforms darwin
description Apache mod_jk remote server connector
long_description mod_jk is the connector supported by apache for communication between \
the apache server and tomcat. mod_jk2, which had for some time superceeded mod_jk, \
has now become officially 'unsupported' by the Apache group. \
mod_jk allows apache to be used refer some request for processing by tomcat or any \
other server that also supports the ajp13 protocol. \
Apache 2.1 will contain a replacement for mod_jk(2) called mod_proxy_ajp. \
At this time (this) mod_jk port supports only apache2, not apache 1.x.
homepage http://jakarta.apache.org/tomcat/connectors-doc/
distname tomcat-connectors-${version}-src
master_sites apache:tomcat/tomcat-connectors/jk/source/jk-${version} \
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-${version}
checksums md5 9c3b7135a4992c7f39d5f7aef9c25b30
depends_build path:${prefix}/apache2/bin/httpd:apache2
worksrcdir ${distname}/native
configure.args --with-apxs=${prefix}/apache2/bin/apxs
# Determine a valid value for javahome
if { [llength [array get env "JAVA_HOME"]] > 0 } {
set javahome $env(JAVA_HOME)
} else {
set javahome ""
}
if { ![file isdirectory ${javahome}] } {
if { [variant_isset darwin] } {
if { [file isdirectory "/System/Library/Frameworks/JavaVM.framework/Home"] } {
set javahome "/System/Library/Frameworks/JavaVM.framework/Home"
}
}
}
if { ![file isdirectory ${javahome}] } {
error "This port needs a reasonable value for JAVA_HOME, but couldn't automatically determine one: please set the environment variable."
}
variant jni {
configure.args-append --with-java-home=${javahome} --enable-jni
}
pre-configure {
# Check to be sure the apache2 port has been updated, and
# warn the user if it hasn't been.
# In port versions prior to 2.0.52_1, apxs didn't know where libdir was.
# That information is needed by the jk configure script.
set apxs ${prefix}/apache2/bin/apxs
if { [file executable ${apxs}] } {
set libdir [exec ${apxs} -q LIBDIR]
if { 0 == [string length ${libdir}] || ![file isdirectory ${libdir}] } {
error "Your apache2 installation doesn't know where its library directory is. Please update your apache2 port."
}
}
}
destroot {
# Install the connector for apache2
xinstall -m 755 -d \
${destroot}${prefix}/apache2/modules \
${destroot}${prefix}/apache2/conf
xinstall -m 644 \
${worksrcpath}/apache-2.0/mod_jk.so \
${destroot}${prefix}/apache2/modules
if {[variant_isset jni]} {
xinstall -m 644 \
${worksrcpath}/jni/jk_jnicb.so \
${destroot}${prefix}/apache2/modules
}
xinstall -m 644 ${worksrcpath}/../conf/workers.properties.minimal \
${destroot}${prefix}/apache2/conf/workers.properties.sample
}
post-install {
ui_msg "#"
ui_msg "# Example file ${prefix}/apache2/conf/workers.properties.sample has"
ui_msg "# been installed to illustrate use of the jk connector between "
ui_msg "# apache2 and tomcat."
ui_msg "#"
ui_msg "# You will want to create a working copy of this file as workers.properties"
ui_msg "# and configure the uri mappings within it, or by using directives within httpd.conf."
ui_msg "#"
ui_msg "# Be sure to also add the following line to your httpd.conf:"
ui_msg "#"
ui_msg "# LoadModule jk_module modules/mod_jk.so"
ui_msg "#"
}