blob: d88a2957f3a5e21fdb31b5fad9e27a0c10a2aec3 (
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
PORTNAME= cassandra
DISTVERSION= 3.11.10
CATEGORIES= databases java
MASTER_SITES= LOCAL/nc:repo
PKGNAMESUFFIX= 3
DISTFILES= apache-${PORTNAME}-${DISTVERSION}-repo.tar.gz:repo
MAINTAINER= language.devel@gmail.com
COMMENT= Highly scalable distributed database
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= snappyjava>=0:archivers/snappy-java
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}virtualenv>=0:devel/py-virtualenv@${PY_FLAVOR} \
bash>0:shells/bash \
git>0:devel/git
USES= python:3.6+
USE_ANT= yes
USE_JAVA= yes
JAVA_VERSION= 1.8
JAVA_VENDOR= openjdk
USE_RC_SUBR= cassandra
USE_GITHUB= yes
GH_ACCOUNT= polo-language
GH_PROJECT= cassandra
GH_TAGNAME= 62fe1f7
TEST_TARGET= test
CONFLICTS= cassandra4
DATADIR= ${JAVASHAREDIR}/${PORTNAME}
REINPLACE_ARGS= -i ''
SUB_LIST= JAVA_HOME=${JAVA_HOME}
USERS= cassandra
GROUPS= cassandra
PLIST_SUB= PORTVERSION=${PORTVERSION}
PORTDOCS= *
OPTIONS_DEFINE= SIGAR DOCS
OPTIONS_DEFAULT= SIGAR
OPTIONS_SUB= yes
SIGAR_DESC= Use SIGAR to collect system information
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
SIGAR_RUN_DEPENDS= java-sigar>=1.6.4:java/sigar
CONFIG_FILES= cassandra-env.sh \
cassandra-jaas.config \
cassandra-rackdc.properties \
cassandra-topology.properties \
cassandra.yaml \
commitlog_archiving.properties \
hotspot_compiler \
jvm.options \
logback-tools.xml \
logback.xml
DIST_DIR= ${WRKSRC}/build/dist
REPO_DIR= ${WRKDIR}/repository
SCRIPT_FILES= cassandra \
cqlsh \
nodetool \
sstableloader \
sstablescrub \
sstableupgrade \
sstableutil \
sstableverify
post-patch:
@${CHMOD} ug+x ${WRKSRC}/pylib/cassandra-cqlsh-tests.sh
do-build:
@${DO_NADA} # Do nothing: Prevent USE_ANT from running a default build target.
do-build-DOCS-on:
@cd ${WRKSRC} && ANT_OPTS="${ANT_OPTS} -Xmx512m" ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocalm2=${REPO_DIR} -Dpycmd=${PYTHON_CMD} freebsd-stage-doc
do-build-DOCS-off:
@cd ${WRKSRC} && ANT_OPTS="${ANT_OPTS} -Xmx512m" ${ANT} -Dmaven.repo.local=${REPO_DIR} -Dlocalm2=${REPO_DIR} freebsd-stage
post-build:
.for f in ${SCRIPT_FILES}
@${REINPLACE_CMD} -e 's|/usr/share/cassandra|${DATADIR}/bin|' ${DIST_DIR}/bin/${f}
.endfor
@${REINPLACE_CMD} -e 's|`dirname "$$0"`/..|${DATADIR}|' ${DIST_DIR}/bin/cassandra.in.sh
@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${DIST_DIR}/bin/cassandra.in.sh
@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/lib/sigar-bin|${JAVAJARDIR}|' ${DIST_DIR}/conf/cassandra-env.sh
@${REINPLACE_CMD} -e 's|$$CASSANDRA_HOME/conf|${ETCDIR}|' ${DIST_DIR}/bin/cassandra.in.sh
.for f in ${CONFIG_FILES}
@${MV} ${DIST_DIR}/conf/${f} ${DIST_DIR}/conf/${f}.sample
.endfor
@${RM} ${DIST_DIR}/lib/licenses/sigar*
@${RMDIR} ${DIST_DIR}/lib/sigar-bin
do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
.for f in CHANGES LICENSE NEWS NOTICE
cd ${DIST_DIR} && ${INSTALL_DATA} ${f}.txt ${STAGEDIR}${DATADIR}/
.endfor
.for d in interface lib pylib tools
cd ${DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DATADIR}/ "! -path '*/bin/*'"
.endfor
${MKDIR} ${STAGEDIR}${ETCDIR}
cd ${DIST_DIR}/conf && ${COPYTREE_SHARE} . ${STAGEDIR}${ETCDIR}/
cd ${DIST_DIR} && ${COPYTREE_BIN} bin ${STAGEDIR}${DATADIR}
cd ${DIST_DIR} && ${INSTALL_DATA} bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/bin/
cd ${DIST_DIR} && ${COPYTREE_BIN} tools/bin ${STAGEDIR}${DATADIR}/
cd ${DIST_DIR} && ${INSTALL_DATA} tools/bin/cassandra.in.sh ${STAGEDIR}${DATADIR}/tools/bin/
.for f in ${SCRIPT_FILES}
${RLN} ${STAGEDIR}${DATADIR}/bin/${f} ${STAGEDIR}${PREFIX}/bin/${f}
.endfor
${LN} -s ${JAVAJARDIR}/snappy-java.jar ${STAGEDIR}${DATADIR}/lib/snappy-java.jar
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
.for d in doc javadoc
cd ${DIST_DIR} && ${COPYTREE_SHARE} ${d} ${STAGEDIR}${DOCSDIR}/
.endfor
post-install-SIGAR-on:
${LN} -s ${JAVAJARDIR}/sigar.jar ${STAGEDIR}${DATADIR}/lib/sigar.jar
do-test:
# A bare 'python' must be on PATH for test to succeed.
@cd ${WRKSRC} && ${MV} bin/cassandra.in.sh bin/cassandra.in.sh.patched
@cd ${WRKSRC} && ${MV} bin/cassandra.in.sh.orig bin/cassandra.in.sh
@cd ${WRKSRC} && pylib/cassandra-cqlsh-tests.sh ${WRKSRC} python3 ${JAVA_HOME} ${REPO_DIR} ${PYTHON_CMD}
@cd ${WRKSRC} && ${MV} bin/cassandra.in.sh bin/cassandra.in.sh.orig
@cd ${WRKSRC} && ${MV} bin/cassandra.in.sh.patched bin/cassandra.in.sh
.include <bsd.port.mk>
|