aboutsummaryrefslogtreecommitdiff
path: root/www/resin2/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'www/resin2/Makefile')
-rw-r--r--www/resin2/Makefile105
1 files changed, 78 insertions, 27 deletions
diff --git a/www/resin2/Makefile b/www/resin2/Makefile
index 3f3b9c3c9eeb..c3640a76a942 100644
--- a/www/resin2/Makefile
+++ b/www/resin2/Makefile
@@ -2,11 +2,14 @@
# Whom: Jean-Baptiste Quenot <jb.quenot@caraldi.com>
# Date Created: 2002-07-15 15:00:43
#
+# ex:ts=20:sw=20
+#
# $FreeBSD$
#
PORTNAME= resin
PORTVERSION= 2.1.11
+PORTREVISION= 1
CATEGORIES= www java
MASTER_SITES= http://www.caucho.com/download/
@@ -23,63 +26,111 @@ RUNASUID?= 80
GROUP?= ${RUNASUSER}
GID?= ${RUNASUID}
PORT?= 8080
-APP_HOME?= ${PREFIX}/${PKGNAMEPREFIX}${PORTNAME}
+# 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}
+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/plugin/apache/Makefile.in \
+ ${WRKSRC}/src/c/plugin/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
# 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)
+.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
-.elif defined(WITH_APACHE2) && ($(WITH_APACHE2) == yes || $(WITH_APACHE2) == YES)
+# 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
-.include <bsd.port.pre.mk>
+PLIST_SUB+= APP_NAME=${APP_NAME}
+PLIST_SUB+= APXS=${APXS}
-# Resin does not handle installation, so proceed now
-pre-install:
- $(SED) -i -e "s|%%PREFIX%%|$(PREFIX)|g" $(WRKSRC)/src/c/plugin/apache/install.sh
- $(SED) -i -e "s|%%PREFIX%%|$(PREFIX)|g" $(WRKSRC)/src/c/plugin/apache2/install.sh
+SUBSTITUTIONS= -e "s|%%APP_HOME%%|${APP_HOME}|g" \
+ -e "s|%%APP_NAME%%|${APP_NAME}|g" \
+ -e "s|%%APXS%%|${APXS}|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"
+
+.include <bsd.port.pre.mk>
-# Do not change the PID file location unless you also change it in pkg-deinstall script
-PID_FILE= /var/run/resin.pid
+post-patch:
+.for FILE in ${REINPLACE_FILES}
+ @${SED} -i bak ${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 \
+ file, for example: | fmt -w 80 >> ${PKGMESSAGE}
+ @${ECHO_CMD} CauchoConfigFile ${PREFIX}/etc/${APP_NAME}.xml >> ${PKGMESSAGE}
+.endif
+ @${MV} ${WRKDIR}/wrapper.pl.in ${WRKSRC}/bin/wrapper.pl.in
+# Resin does not handle installation, so proceed now
post-install:
- ${TOUCH} ${PID_FILE}
- ${CHOWN} ${RUNASUID}:${GID} ${PID_FILE}
- ${MKDIR} ${APP_HOME}
- @PREFIX=${PREFIX} \
- PKGNAMEPREFIX=${PKGNAMEPREFIX} \
- PORTNAME=${PORTNAME} \
- WRKSRC=${WRKSRC} \
- RUNASUSER=${RUNASUSER} \
- RUNASUID=${RUNASUID} \
- GROUP=${GROUP} \
- GID=${GID} \
- PORT=${PORT} \
- APP_HOME=${APP_HOME} \
- JAVA_HOME=${JAVA_HOME} \
- ${SH} pkg-install ${PKGNAME} 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>
-
-# ex:ts=18