Files

118 lines
4.0 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
PortGroup active_variants 1.1
name couchdb
version 3.5.2
revision 0
categories databases
license Apache-2
maintainers {ciserlohn @ci42} {makr @mohd-akram} openmaintainer
description CouchDB is a document database server
long_description ${description} with a restful HTTP API, capable of \
storing arbitrary JSON documents, building powerful \
data views, defined in JavaScript, and processed in \
parallel using Map/Reduce. \
It leaves out SQL and transactions for simplicity's \
sake, to improve scalability and to relax users' lives.
homepage https://couchdb.apache.org/
master_sites apache
master_sites.mirror_subdir ${name}/source/${version}/
distname apache-${name}-${version}
checksums rmd160 535ea12b3cfbb41bc11d9e4a12bed329d7e80979 \
sha256 e561102aaadfdda1e499e6e9e12d2473433291b608bcd390bcbcf590bbb6cf68 \
size 24922969
depends_build port:erlang
depends_lib path:lib/pkgconfig/icu-uc.pc:icu \
port:ncurses \
path:lib/libssl.dylib:openssl \
port:zlib
patchfiles patch-rebar-config.diff \
patch-ibrowse-rebar-config.diff
# erlang is not universal
universal_variant no
require_active_variants erlang ssl
set dbgroup ${name}
set dbuser ${name}
set logdir ${prefix}/var/log/${name}
set dbdir ${prefix}/var/db/${name}
set confdir ${prefix}/etc/${name}
set datadir ${prefix}/share/${name}
set docdir ${prefix}/share/doc/${name}
set rundir ${prefix}/var/run/${name}
startupitem.create yes
startupitem.uniquename org.apache.couchdb
startupitem.user ${dbuser}
startupitem.group ${dbgroup}
startupitem.executable ${prefix}/bin/couchdb
add_users ${dbuser} group=${dbgroup} home=${rundir} \
realname=CouchDB\ Database\ Server
configure.pre_args
configure.args --disable-spidermonkey
set root ${worksrcpath}/rel/couchdb
set dest ${prefix}/libexec/${name}
destroot.target release
destroot.keepdirs ${destroot}${dbdir} \
${destroot}${logdir} \
${destroot}${rundir}
post-destroot {
xinstall -d ${destroot}${dest}
copy ${root}/bin ${root}/lib ${root}/releases {*}[glob ${root}/erts-*] \
${destroot}${dest}
delete ${destroot}${dest}/bin/couchdb.cmd
ln -s ${dest}/bin/couchdb ${dest}/bin/remsh ${dest}/bin/weatherreport \
${destroot}${prefix}/bin
xinstall -d ${destroot}${confdir}
copy {*}[glob ${root}/etc/*] ${destroot}${confdir}
xinstall -d ${destroot}${docdir}
copy ${root}/LICENSE ${destroot}${docdir}
move ${destroot}${confdir}/local.ini ${destroot}${docdir}
xinstall -d ${destroot}${datadir}
copy ${root}/share/www ${destroot}${datadir}
copy ${root}/share/docs/couchdb.1 ${destroot}${prefix}/share/man/man1
# TODO - patch the source to use these paths directly
ln -s ${confdir} ${destroot}${dest}/etc
ln -s ${datadir} ${destroot}${dest}/share
ln -s ${dbdir} ${destroot}${dest}/data
xinstall -m 755 -o ${dbuser} -g ${dbgroup} -d \
${destroot}${dbdir} \
${destroot}${logdir} \
${destroot}${rundir}
}
post-activate {
if {![file exists ${confdir}/local.ini]} {
copy ${docdir}/local.ini ${confdir}/local.ini
}
}
livecheck.url https://couchdb.apache.org/downloads.html
livecheck.regex apache-${name}-(\[0-9.\]+\[0-9\]+)