aboutsummaryrefslogtreecommitdiffstats
path: root/www/vertx/Makefile
blob: 6d1e9bfddbd79131f6f5f3af82834f620e6cc3eb (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
120
121
122
123
124
125
# Created by: Nicola Vitale <nivit@FreeBSD.org>
# $FreeBSD$

PORTNAME=   vertx
PORTVERSION=    2.1.1
#PORTREVISION=  0
CATEGORIES= www
MASTER_SITES=   http://dl.bintray.com/vertx/downloads/
DISTNAME=   vert.x-${PORTVERSION}

MAINTAINER= nivit@FreeBSD.org
COMMENT=    Effortless asynchronous application development for the modern web

LICENSE=    APACHE20

RUN_DEPENDS=    bash:${PORTSDIR}/shells/bash

DATADIR=    ${JAVASHAREDIR}/${PORTNAME}

JAVA_OS=    native
JAVA_RUN=   yes
JAVA_VERSION=   1.7+

PLIST_SUB=  VERTXVER=${PORTVERSION}

REINPLACE_ARGS= -E -e '/APP_BASE_NAME=/a \${SED_APPEND_ARGS}' \
        -e 's,(pattern=)%t,\1%h,1' -i ''

SED_APPEND_ARGS=    ${nl}JAVA_HOME=${JAVA_HOME}
SHEBANG_FILES=  bin/vertx

USE_JAVA=   yes
USES=   shebangfix

VERTX_CMD=  ${WRKSRC}/bin/vertx
VERTX_DIST= client conf lib

OPTIONS_DEFINE= CLOJURE DOCS DYNJS GROOVY JYTHON JRUBY PHP RHINO SCALA
OPTIONS_SUB=    yes

CLOJURE_DESC=   Use Clojure to write verticles
DYNJS_DESC= Use DynJS to write verticles
GROOVY_DESC=    Use Groovy to write verticles
JYTHON_DESC=    Use Python to write verticles
JRUBY_DESC= Use Ruby to write verticles
PHP_DESC=   Use PHP to write verticles (experimental)
RHINO_DESC= Use Rhino to write verticles
SCALA_DESC= Use Scala to write verticles

JYTHON_RUN_DEPENDS= jython:${PORTSDIR}/lang/jython
JRUBY_RUN_DEPENDS=  jruby:${PORTSDIR}/lang/jruby

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MCLOJURE}
VERTX_MODULES=  clojure
.endif

.if ${PORT_OPTIONS:MDYNJS}
VERTX_MODULES+= dynjs
.endif

.if ${PORT_OPTIONS:MGROOVY}
VERTX_MODULES+= groovy
.endif

.if ${PORT_OPTIONS:MJYTHON}
SED_APPEND_ARGS+=   \${nl}JYTHON_HOME=${LOCALBASE}/lib/jython
REINPLACE_ARGS+=    -e 's,-Djruby.home=,-Dpython.cachedir=$${HOME}/.jython-cachedir &,1'
VERTX_MODULES+= jython
.endif

.if ${PORT_OPTIONS:MJRUBY}

SED_APPEND_ARGS+=   \${nl}JRUBY_HOME=${LOCALBASE}/share/jruby
VERTX_MODULES+= ruby
.endif

.if ${PORT_OPTIONS:MPHP}
VERTX_MODULES+= php
.endif

.if ${PORT_OPTIONS:MRHINO}
VERTX_MODULES+= rhino
.endif

.if ${PORT_OPTIONS:MSCALA}
VERTX_MODULES+= scala
.endif

nl= ${.newline}

.if !empty(VERTX_MODULES)
MAKE_ENV=   VERTX_MODS=${WRKSRC}
PLIST_SUB+= SYSMODS=""
VERTX_DIST+=    sys-mods

do-build:
    @(cd ${VERTX_MODS} && \
    for mod in $$(${CUT} -s -d = -f 2 ${WRKSRC}/conf/langs.properties | \
    ${CUT} -s -d : -f 1 | ${EGREP} -i -e '(${VERTX_MODULES:ts|})'); do \
    ${VERTX_CMD} install $${mod}; \
    done;)
.else
PLIST_SUB+= SYSMODS="@comment "

do-build:
    @${DO_NADA}
.endif

post-patch:
    @${FIND} ${WRKSRC} -type f \( -name "*.bat" -o -name "*.orig" \) -delete
    @${REINPLACE_CMD} ${WRKSRC}/bin/${PORTNAME} ${WRKSRC}/conf/logging.properties

do-install:
    @${MKDIR} ${STAGEDIR}${DATADIR}
.for d in ${VERTX_DIST}
    cd ${WRKSRC} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR}
.endfor
    @${MKDIR} ${STAGEDIR}${DATADIR}/bin
    ${INSTALL_SCRIPT} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${DATADIR}/bin/${PORTNAME}
    ${LN} -s ${DATADIR}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
    cd ${WRKSRC}/api-docs && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>