freebsd-ports/www/resin3/Makefile
Vanilla I. Shu 3932758bfe This is an update of www/resin3 to 3.0.9. The port adds two patches to
activate the Apache modules.

PR:		ports/72506
Submitted by:	maintainer
2004-10-14 06:37:41 +00:00

155 lines
5.1 KiB
Makefile

# New ports collection makefile for: resin3
# Whom: Jean-Baptiste Quenot <jb.quenot@caraldi.com>
# Date Created: 2003-09-29 14:17:14
#
# $FreeBSD$
#
PORTNAME= resin
PORTVERSION= 3.0.9
CATEGORIES= www java
MASTER_SITES= http://www.caucho.com/download/
MAINTAINER= jb.quenot@caraldi.com
COMMENT= Resin, a Java-based Application Server, 3.x branch
USE_JAVA= 1.2+
HAS_CONFIGURE= yes
USE_GMAKE= yes
USE_PERL5_RUN= yes
USE_REINPLACE= yes
# Customizable settings
RUNASUSER?= www
RUNASUID?= 80
GROUP?= ${RUNASUSER}
GID?= ${RUNASUID}
PORT?= 8080
# Do not use PKGNAMESUFFIX here because version info is already in PORTVERSION
# If we used PKGNAMESUFFIX, the package name would be resin2-2.1.11
APP_NAME_SUFFIX= ${PORTVERSION:C/\..*$//}
APP_NAME?= ${PORTNAME}${APP_NAME_SUFFIX}
LATEST_LINK= ${APP_NAME}
APP_HOME?= ${PREFIX}/${APP_NAME}
WITH_APACHE?= NO
WITH_APACHE2?= NO
PID_FILE?= /var/run/${APP_NAME}.pid
# Other settings
APXS?= ${LOCALBASE}/sbin/apxs
MOD_DIR?= `${APXS} -q LIBEXECDIR`
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
PKGMESSAGE= ${WRKDIR}/pkg-message
# We need WRKSRC and WRKDIR right now so define them "manually"
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work
REINPLACE_FILES= ${WRKSRC}/src/c/apache1/Makefile.in \
${WRKSRC}/src/c/apache2/Makefile.in
REPLACE_FILES= ${FILESDIR}/pkg-install \
${FILESDIR}/pkg-deinstall \
${FILESDIR}/install.sh \
${FILESDIR}/pkg-message.in \
${WRKSRC}/conf/resin.conf \
${WRKSRC}/bin/wrapper.pl.in \
${FILESDIR}/resin.sh.in
COPYDIRS= lib webapps
.include <bsd.port.pre.mk>
# Pass JAVA_HOME as determined by bsd.java.mk
CONFIGURE_ARGS+= --with-java-home=${JAVA_HOME}
# Install the Apache plugin if needed
.if defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)
#
# Apache 1.3
#
BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/www/apache13
CONFIGURE_ARGS+= --with-apxs=${APXS}
PLIST_SUB+= MOD_DIR=libexec/apache
# Allow apxs invocations
PLIST_SUB+= APACHE=""
.elif defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES)
#
# Apache 2
#
BUILD_DEPENDS+= ${APXS}:${PORTSDIR}/www/apache2
CONFIGURE_ARGS+= --with-apxs=${APXS}
PLIST_SUB+= MOD_DIR=libexec/apache2
# Allow apxs invocations
PLIST_SUB+= APACHE=""
.else
PLIST_SUB+= MOD_DIR="@comment "
# Prevent apxs invocations
PLIST_SUB+= APACHE="@comment "
.endif
PLIST_SUB+= APP_NAME=${APP_NAME}
PLIST_SUB+= APXS=${APXS}
.if ((defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES)) \
|| (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES)))
LIBEXECDIR!= ${APXS} -q LIBEXECDIR
SYSCONFDIR!= ${APXS} -q SYSCONFDIR
CONFIGURE_ARGS+= --with-apache-libexec=${LIBEXECDIR}
CONFIGURE_ARGS+= --with-apache-conf=${SYSCONFDIR}
.endif
SUBSTITUTIONS= -e "s|%%APP_HOME%%|${APP_HOME}|g" \
-e "s|%%APP_NAME%%|${APP_NAME}|g" \
-e "s|%%APXS%%|${APXS}|g" \
-e "s|%%COPYDIRS%%|${COPYDIRS}|g" \
-e "s|%%FILESDIR%%|${FILESDIR}|g" \
-e "s|%%GROUP%%|${GROUP}|g" \
-e "s|%%GID%%|${GID}|g" \
-e "s|%%JAVA_HOME%%|${JAVA_HOME}|g" \
-e "s|%%PERL%%|${PERL}|g" \
-e "s|%%PID_FILE%%|${PID_FILE}|g" \
-e "s|%%PORT%%|${PORT}|g" \
-e "s|%%PORTNAME%%|${PORTNAME}|g" \
-e "s|%%PREFIX%%|${PREFIX}|g" \
-e "s|%%RUNASUID%%|${RUNASUID}|g" \
-e "s|%%RUNASUSER%%|${RUNASUSER}|g" \
-e "s|%%WRKDIR%%|${WRKDIR}|g" \
-e "s|%%WRKSRC%%|${WRKSRC}|g"
post-patch:
.for FILE in ${REINPLACE_FILES}
@${REINPLACE_CMD} ${SUBSTITUTIONS} ${FILE}
.endfor
.for FILE in ${REPLACE_FILES}
@${SED} ${SUBSTITUTIONS} ${FILE} > ${WRKDIR}/`basename ${FILE}`
.endfor
@fmt -w 80 < ${WRKDIR}/pkg-message.in > ${PKGMESSAGE}
.if (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES) || \
defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES))
@${ECHO_CMD} >> ${PKGMESSAGE}
@${ECHO_CMD} The Resin Apache module mod_caucho has been activated \
in the Apache configuration file, where you should also \
add a line to specify the location of the Resin configuration \
server, for example: | fmt -w 80 >> ${PKGMESSAGE}
@${ECHO_CMD} >> ${PKGMESSAGE}
@${ECHO_CMD} "<IfModule mod_caucho.c>" >> ${PKGMESSAGE}
.if (defined(WITH_APACHE2) && (${WITH_APACHE2} == yes || ${WITH_APACHE2} == YES))
@${ECHO_CMD} " ResinConfigServer localhost 6802" >> ${PKGMESSAGE}
.endif
.if (defined(WITH_APACHE) && (${WITH_APACHE} == yes || ${WITH_APACHE} == YES))
@${ECHO_CMD} " CauchoConfigFile ${PREFIX}/etc/${APP_NAME}/resin.xml" >> ${PKGMESSAGE}
.endif
@${ECHO_CMD} "</IfModule>" >> ${PKGMESSAGE}
.endif
@${MV} ${WRKDIR}/wrapper.pl.in ${WRKSRC}/bin/wrapper.pl.in
# Resin does not handle installation, so proceed now
post-install:
@${SH} ${WRKDIR}/install.sh
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${ECHO_CMD}
@${ECHO_CMD} "********************************************************************************"
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD} "********************************************************************************"
@${ECHO_CMD}
.include <bsd.port.post.mk>