Files
Christopher Chavez a158fe8fe6 multiple ports: use HTTPS for Apache sites
commons-httpclient, commons-modeler: fix homepage
2019-07-02 10:08:19 -06:00

116 lines
4.4 KiB
Tcl

# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
PortSystem 1.0
name cassandra
version 1.2.3
categories databases
maintainers nomaintainer
homepage https://cassandra.apache.org/
platforms darwin
license Apache-2
master_sites apache
master_sites.mirror_subdir ${name}/${version}
distname apache-${name}-${version}-src
description A highly scalable, eventually consistent, \
distributed, structured key-value store.
long_description \
The Apache Cassandra Project develops a highly scalable second-generation \
distributed database, bringing together Dynamo's fully distributed design \
and Bigtable's ColumnFamily-based data model. Cassandra was open sourced \
by Facebook in 2008, and is now developed by Apache committers and \
contributors from many companies.
checksums rmd160 631f55dd4cbe363019a7353f0c0da9a838e69d5f \
sha256 581f7fc1bb95d5f088e1456e822cd47419f93b2b07087f45f7ba8b069bec1981
depends_build bin:ant:apache-ant \
port:apache-ivy
depends_run port:antlr3 \
port:junit \
port:jline \
port:slf4j \
port:commons-cli \
port:commons-lang \
port:commons-codec \
port:jakarta-log4j \
port:google-guava
set java_basepath ${prefix}/share/java
set cassandra_destpath ${java_basepath}/${name}-${version}
set mp_libs {antlr junit jline slf4j-api slf4j-log4j12 commons-cli \
commons-lang commons-codec jakarta-log4j \
google-guava }
set dbdir ${prefix}/var/db/cassandra
set logdir ${prefix}/var/log/cassandra
if {${os.platform} eq "darwin" && ${os.major} > 8} {
set cassandrauser _cassandra
} else {
set cassandrauser cassandra
}
add_users ${cassandrauser} group=${cassandrauser} realname=Cassandra\ Server
use_configure no
build.cmd ant
build.target jar
destroot {
# create directories
set cas_home ${destroot}${cassandra_destpath}
set doc_dir ${destroot}${prefix}/share/doc/${name}-${version}
xinstall -m 755 -d ${cas_home}/lib ${doc_dir}
# move in docs
move {*}[glob ${worksrcpath}/*.txt] ${doc_dir}/
# fix cassandra include file
move ${worksrcpath}/bin/cassandra.in.sh ${cas_home}/
reinplace "s|CASSANDRA_HOME=.*|CASSANDRA_HOME=${cassandra_destpath}|" ${cas_home}/cassandra.in.sh
# install bin scripts
delete {*}[glob ${worksrcpath}/bin/*.bat]
reinplace "s|/opt/cassandra/cassandra.in.sh|${cassandra_destpath}/cassandra.in.sh|" {*}[glob ${worksrcpath}/bin/*]
xinstall -m 755 {*}[glob ${worksrcpath}/bin/*] ${destroot}${prefix}/bin
# install jars
xinstall -m 644 ${worksrcpath}/build/apache-${name}-${version}-SNAPSHOT.jar \
${cas_home}/lib/${name}.jar
xinstall -m 644 ${worksrcpath}/build/apache-${name}-thrift-${version}-SNAPSHOT.jar \
${cas_home}/lib/${name}-thrift.jar
xinstall -m 644 {*}[glob ${worksrcpath}/lib/*.jar] ${cas_home}/lib/
# install conf, interface
move ${worksrcpath}/conf ${worksrcpath}/interface ${cas_home}
# update file storage location to be within Macports hierarchy
reinplace "s|/var|${prefix}/var|g" {*}[glob ${cas_home}/conf/*]
reinplace "s|/var/lib/cassandra|/var/db/cassandra|g" ${cas_home}/conf/cassandra.yaml
}
post-destroot {
xinstall -m 755 -o ${cassandrauser} -g ${cassandrauser} -d \
${destroot}${logdir} \
${destroot}${dbdir}
destroot.keepdirs-append \
${destroot}${dbdir} \
${destroot}${logdir}
}
startupitem.create yes
# memo: delete env setup when release merges in r104118
startupitem.executable sudo -u ${cassandrauser} env \
PATH=${prefix}/bin:${prefix}/sbin:/usr/bin:/bin:/usr/sbin:/sbin \
__CFPREFERENCES_AVOID_DAEMON=1 \
${prefix}/bin/cassandra
livecheck.type regex
livecheck.url ${homepage}download/
livecheck.regex /apache-${name}-(\[0-9.\]+)-bin${extract.suffix}