aboutsummaryrefslogtreecommitdiffstats
path: root/www/helma/Makefile
blob: 3949c85f3241162a0ee5890885df5a1ff1324c07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# New ports collection makefile for:    helma
# Date created:     2008-06-22
# Whom:         Bernhard Froehlich <decke@bluelife.at>
#
# $FreeBSD$
#

PORTNAME=   helma
PORTVERSION=    1.7.0
CATEGORIES= www java
MASTER_SITES=   http://adele.helma.org/download/helma/${PORTVERSION}/ \
        http://home.bluelife.at/ports/distfiles/helma/${PORTVERSION}/
DISTFILES=  helma-${PORTVERSION}.tar.gz helma-${PORTVERSION}-src.tar.gz

MAINTAINER= decke@FreeBSD.org
COMMENT=    A Web application framework for fast and efficient scripting

WRKBASE=    ${WRKDIR}/${PORTNAME}-${PORTVERSION}
WRKSRC=     ${WRKBASE}
DATADIR=    ${JAVASHAREDIR}/${PORTNAME}

USE_RC_SUBR=    helma
USE_JAVA=   yes
JAVA_VERSION=   1.5+
USE_ANT=    yes
ALL_TARGET= clean jar

DBDIR?=     /var/db/${PORTNAME}
LOGDIR?=    /var/log/${PORTNAME}
HELMA_USER= ${WWWOWN}
HELMA_GROUP=    ${WWWGRP}
HELMA_CONFIG=   ${WRKBASE}/scripts/helma.conf

PLIST_SUB=  DBDIR="${DBDIR}" \
        LOGDIR="${LOGDIR}" \
        HELMA_USER="${HELMA_USER}" \
        HELMA_GROUP="${HELMA_GROUP}"

OPTIONS=    MYSQL "Install MySQL Connector for Java" off

.include <bsd.port.pre.mk>

.if defined(WITH_MYSQL)
RUN_DEPENDS+=   ${JAVALIBDIR}/mysql-connector-java.jar:${PORTSDIR}/databases/mysql-connector-java
PLIST_SUB+= MYSQL=""
.else
PLIST_SUB+= MYSQL="@comment "
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|JAVA_HOME=/usr/lib/j2sdk1.5-sun|JAVA_HOME=${JAVA_HOME}|' \
        ${HELMA_CONFIG}
    @${REINPLACE_CMD} -e 's|HELMA_INSTALL=/usr/local/helma/helma-1.6.x|HELMA_INSTALL=${DATADIR}|' \
        ${HELMA_CONFIG}
    @${REINPLACE_CMD} -e 's|HELMA_HOME=\$$HELMA_INSTALL|HELMA_HOME=${WWWDIR}|' \
        ${HELMA_CONFIG}
    @${REINPLACE_CMD} -e 's|HELMA_USER=helma|HELMA_USER=${HELMA_USER}|' \
        ${HELMA_CONFIG}
    @${REINPLACE_CMD} -e 's|HELMA_LOG=\$$HELMA_HOME/log/helma-out.log|HELMA_LOG=${LOGDIR}/helma-out.log|' \
        ${HELMA_CONFIG}
    @${ECHO_CMD} "HELMA_CONFIG=${ETCDIR}" >> \
        ${HELMA_CONFIG}

    @${ECHO_CMD} "" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "# custom directories" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "hopHome = ${WWWDIR}" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "appHome = ${WWWDIR}/apps" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "appsPropFile = ${ETCDIR}/apps.properties" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "dbPropFile = ${ETCDIR}/db.properties" >> \
        ${WRKBASE}/server.properties
    @${ECHO_CMD} "dbHome = ${DBDIR}" >> \
        ${WRKBASE}/server.properties
    @${REINPLACE_CMD} -e 's|# logDir = console|logDir = ${LOGDIR}|' \
        ${WRKBASE}/server.properties

do-install:
    ${INSTALL_SCRIPT} ${FILESDIR}/helma.sh.in ${PREFIX}/bin/helma

    ${MKDIR} ${WWWDIR} && \
    (cd ${WRKBASE} && ${COPYTREE_SHARE} "apps modules" ${WWWDIR} \
        "! -name *.html ! -name helma-*.jar ! -name .jsdoc") && \
    ${CHOWN} -R ${HELMA_USER}:${HELMA_GROUP} ${WWWDIR}

    ${MKDIR} ${DATADIR} && \
    (cd ${WRKBASE} && ${COPYTREE_SHARE} "lib launcher.jar" ${DATADIR} \
        "! -name *.html ! -name helma-*.jar ! -name .jsdoc")

    ${MKDIR} ${LOGDIR} && \
    ${CHOWN} -R ${HELMA_USER}:${HELMA_GROUP} ${LOGDIR}

    ${MKDIR} ${DBDIR} && \
    ${CHOWN} -R ${HELMA_USER}:${HELMA_GROUP} ${DBDIR}

    ${MKDIR} ${ETCDIR}; \
    for f in apps.properties db.properties server.properties scripts/helma.conf; do \
        ${INSTALL_DATA} ${WRKBASE}/$$f ${ETCDIR}/$${f##*/}.sample; \
        if [ ! -f ${ETCDIR}/$${f##*/} ]; then \
        ${CP} -p ${ETCDIR}/$${f##*/}.sample ${ETCDIR}/$${f##*/}; \
        fi; \
    done

.if !defined(NOPORTDOCS)
    ${MKDIR} ${DOCSDIR} && \
    (cd ${WRKBASE} && ${COPYTREE_SHARE} "licenses license.txt README.txt" ${DOCSDIR})

    ${MKDIR} ${DOCSDIR}/docs/api/jala && \
    (cd ${WRKBASE}/modules/jala/docs && ${COPYTREE_SHARE} \* ${DOCSDIR}/docs/api/jala)
.endif

.if defined(WITH_MYSQL)
    ${LN} -sf ${JAVALIBDIR}/mysql-connector-java.jar ${DATADIR}/lib/ext/mysql-connector-java.jar
.endif

.include <bsd.port.post.mk>