blob: cec3efe93232dd77715a284722c535c92d5bf6fc (
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
|
PORTNAME= apache-jmeter
DISTVERSION= 5.6.3
PORTREVISION= 2
CATEGORIES= www benchmarks java
MASTER_SITES= https://archive.apache.org/dist/jmeter/binaries/
MAINTAINER= ports@virtual-estates.net
COMMENT= Functional behaviour load and performance test application
WWW= https://jmeter.apache.org/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
# These are JAR-files installed by other ports. The list should keep
# growing until all Java applications install just their own JARs -- not
# the 3rd-party ones:
_JAVADIR= ${LOCALBASE}/share/java
RUN_DEPENDS= \
${_JAVADIR}/batik/lib/batik-anim-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-awt-util-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-bridge-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-codec-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-constants-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-css-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-dom-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-ext-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-gvt-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-i18n-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-parser-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-script-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-shared-resources-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-svg-dom-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-svggen-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-transcoder-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-util-1.18.jar:graphics/batik \
${_JAVADIR}/batik/lib/batik-xml-1.18.jar:graphics/batik \
${JAVALIBDIR}/commons-codec.jar:java/apache-commons-codec \
${JAVALIBDIR}/commons-collections.jar:java/apache-commons-collections \
${JAVALIBDIR}/commons-collections4.jar:java/apache-commons-collections4 \
${JAVALIBDIR}/commons-dbcp.jar:java/apache-commons-dbcp \
${JAVALIBDIR}/commons-io.jar:devel/apache-commons-io \
${JAVALIBDIR}/commons-lang3.jar:java/apache-commons-lang3 \
${JAVALIBDIR}/commons-logging.jar:java/apache-commons-logging \
${JAVALIBDIR}/commons-math.jar:math/apache-commons-math \
${JAVALIBDIR}/commons-net.jar:net/apache-commons-net \
${JAVALIBDIR}/commons-pool.jar:java/apache-commons-pool \
${JAVALIBDIR}/dnsjava.jar:dns/dnsjava \
${JAVALIBDIR}/httpclient.jar:www/httpclient \
${JAVALIBDIR}/httpasyncclient.jar:www/httpasyncclient \
${JAVALIBDIR}/httpcore.jar:www/httpcore \
${JAVALIBDIR}/httpcore-nio.jar:www/httpcore \
${JAVALIBDIR}/httpmime.jar:www/httpclient \
${JAVALIBDIR}/jakarta-oro.jar:java/jakarta-oro \
${_JAVADIR}/slf4j/jcl-over-slf4j.jar:devel/slf4j \
${JAVALIBDIR}/junit.jar:java/junit \
${JAVALIBDIR}/log4j-1.2-api.jar:devel/apache-log4j2 \
${JAVALIBDIR}/log4j-api.jar:devel/apache-log4j2 \
${JAVALIBDIR}/log4j-core.jar:devel/apache-log4j2 \
${JAVALIBDIR}/log4j-slf4j-impl.jar:devel/apache-log4j2 \
${JAVALIBDIR}/mail.jar:java/javamail \
${_JAVADIR}/rhino/rhino.jar:lang/rhino \
saxon-he>=12:textproc/saxon-he \
${JAVALIBDIR}/serializer.jar:textproc/xalan-j \
${_JAVADIR}/slf4j/slf4j-api.jar:devel/slf4j \
${JAVALIBDIR}/xalan.jar:textproc/xalan-j \
${JAVALIBDIR}/xercesImpl.jar:textproc/xerces-j \
${JAVALIBDIR}/xml-apis.jar:textproc/xerces-j \
${_JAVADIR}/xml-commons/xml-apis-ext.jar:textproc/xml-commons \
${JAVALIBDIR}/xmlgraphics-commons.jar:graphics/xmlgraphics-commons \
${JAVALIBDIR}/xstream.jar:textproc/xstream
USES= java tar:tgz
JAVA_VERSION= 17+
DATADIR= ${JAVASHAREDIR}/${PORTNAME}
# Do not even extract the MS-DOS files nor the JARs,
# that are already provided by other ports:
EXTRACT_AFTER_ARGS= --exclude '*.bat' --exclude '*.cmd' \
${RUN_DEPENDS:M*.jar*:C|.*/(.+).jar:.*|--exclude '\1-*.jar'|} \
--exclude 'Saxon-HE-*.jar' --exclude 'batik-*.jar' \
--exclude 'commons-dbcp2*.jar' --exclude 'commons-math3-*.jar' \
--exclude 'commons-pool2*.jar' --exclude 'oro-*.jar'
NO_ARCH= yes
NO_BUILD= yes
SUB_FILES= jmeter.sh
DATAFILES= bin extras lib
PORTDOCS= NOTICE README.md docs printable_docs
OPTIONS_DEFINE= DOCS
.include <bsd.port.pre.mk>
do-configure:
${PRINTF} '\nuser.classpath=' >> ${WRKSRC}/bin/system.properties
.for j in ${RUN_DEPENDS:C/:.*//:M*.jar}
${PRINTF} '$j:' >> ${WRKSRC}/bin/system.properties
.endfor
${PRINTF} '\n' >> ${WRKSRC}/bin/system.properties
# For some reason, it is not enough for these three to simply be listed in
# jmeter.properties file. JMeter refuses to start, unless they are found in lib/
BOOTSTRAP_JARS= jakarta-oro log4j-1.2-api log4j-api log4j-core log4j-slf4j-impl slf4j-api
do-install:
cd ${WRKSRC} \
&& ${FIND} ${DATAFILES} -type d -exec ${MKDIR} ${STAGEDIR}/${DATADIR}/{} \;
cd ${WRKSRC} \
&& ${FIND} ${DATAFILES} -type f -not -name '*.orig' -exec ${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/{} \;
cd ${WRKSRC} \
&& ${FIND} ${PORTDOCS} -type d -exec ${MKDIR} ${STAGEDIR}${DOCSDIR}/{} \;
cd ${WRKSRC} \
&& ${FIND} ${PORTDOCS} -type f -exec ${INSTALL_DATA} {} ${STAGEDIR}${DOCSDIR}/{} \;
${INSTALL_SCRIPT} ${WRKDIR}/jmeter.sh ${STAGEDIR}${PREFIX}/bin/jmeter
@${LN} -s ${BOOTSTRAP_JARS:C|.*|${JAVAJARDIR}/&.jar|} ${STAGEDIR}${DATADIR}/lib/
.include <bsd.port.post.mk>
|