diff options
Diffstat (limited to 'www/resin2/Makefile')
-rw-r--r-- | www/resin2/Makefile | 105 |
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 |