# -*- 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           legacysupport 1.1

name                kyototycoon
version             0.9.56
revision            2
categories          databases
license             GPL

maintainers         nomaintainer

description         Kyoto Tycoon is a lightweight database server
long_description \
    Kyoto Tycoon is a lightweight database server with auto expiration \
    mechanism, which is useful to handle cache data of various \
    applications. Kyoto Tycoon is also a package of network interface to \
    the DBM called Kyoto Cabinet. Though the DBM has high performance and \
    high concurrency, you might bother in case that multiple processes \
    share the same database, or remote processes access the database. \
    Thus, Kyoto Tycoon is provided for concurrent and remote connections \
    to Kyoto Cabinet. Kyoto Tycoon is composed of the server process \
    managing multiple databases and its access library for client \
    applications.

homepage            https://dbmx.net/${name}/
master_sites        ${homepage}/pkg/

checksums           rmd160  e821d650ad71c39e8d915b8f7c9647f4daa2a5ff \
                    sha256  553e4ea83237d9153cc5e17881092cefe0b224687f7ebcc406b061b2f31c75c6 \
                    size    503581

# Only wrappers
legacysupport.newest_darwin_requires_legacy 0
# ktserver(60364) malloc: *** error for object 0xa04da754: pointer being freed was not allocated
legacysupport.redirect_bins \
                    ktremotemgr ktremotetest ktserver kttimedmgr \
                    kttimedtest ktutilmgr ktutilserv ktutiltest

patchfiles          patch-configure.diff

depends_lib         port:kyotocabinet

# To avoid linking against a previously installed version, remove the default
# CPPFLAGS and LDFLAGS. The build scripts already add
# the destination include and lib directories.
configure.cppflags
configure.ldflags

configure.args      --mandir=${prefix}/share/man \
                    --datadir=${prefix}/share/doc \
                    --disable-lua

universal_variant   no

test.run            yes
test.target         check

variant debug conflicts devel profile description {build for debugging} {
    configure.args-append   --enable-debug
}

variant devel conflicts debug profile description {build for development} {
    configure.args-append   --enable-devel
}

variant profile conflicts debug devel description {build for profiling} {
    configure.args-append   --enable-profile
}

variant lua description {build with Lua extension} {
    configure.args-delete   --disable-lua
    configure.args-append   --enable-lua
    depends_lib-append      port:lua
}

livecheck.type      regex
livecheck.url       ${master_sites}
livecheck.regex     "${name}-(\\d+(?:\\.\\d+)*)${extract.suffix}"
