# -*- 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
PortGroup           makefile 1.0

# getline
legacysupport.newest_darwin_requires_legacy 10

name                pounce
version             3.2
revision            0

set domain          https://git.causal.agency/${name}

homepage            ${domain}/about

description         IRC Pouncer

long_description    \
    ${name} is a multi-client, TLS-only IRC bouncer. It maintains a \
    persistent connection to an IRC server, acting as a proxy and buffer for \
    a number of clients. When a client connects, any messages received since \
    it last disconnected will be relayed to it. Unlike some other bouncers, \
    pounce uses a single buffer for all IRC messages, which acts as a queue \
    from which each client reads messages independently. ${name} speaks \
    regular modern IRC to both servers and clients, using the server-time \
    extension to indicate when messages originally occurred. Clients identify \
    themselves to pounce by their IRC usernames.

categories          irc
installs_libs       no
license             GPL-3
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer

master_sites        ${domain}/snapshot

checksums           rmd160  c566966b4603b1d3f898c98d2cbbc7acff28378e \
                    sha256  5aeebf6dd73a61dbd44b94d417f0e4e5cd30c90561ba5550ac6ea61bab391ac4 \
                    size    46037

# memset_s() is not available on macOS <10.9, so
# emulate it with volatile memset().
if {${os.platform} eq "darwin" && ${os.major} < 13} {
    patchfiles          patch-explicit-bzero.diff
}

depends_build-append \
                    port:pkgconfig

depends_lib-append  port:curl \
                    port:libretls \
                    port:sqlite3

compiler.c_standard 2011

use_configure       yes

livecheck.type      regex
livecheck.url       ${domain}/refs/
livecheck.regex     ${name}-(\[0-9.\]+(p\[0-9\]+)?)${extract.suffix}
