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

# CLOCK_MONOTONIC, open_memstream
legacysupport.newest_darwin_requires_legacy 16

name                got
version             0.109
revision            0
distname            ${name}-portable-${version}
categories          devel
license             ISC
maintainers         {@artkiver gmail.com:artkiver} openmaintainer
description         Game of Trees (Got)
long_description    Game of Trees is a version control system which \
                    prioritizes ease of use and simplicity over flexibility. \
                    Got uses Git repositories to store versioned data. \
                    Git can be used for any functionality which has \
                    not yet been implemented in Got. It will always be \
                    possible to work with both Got and Git on the same \
                    repository.
homepage            https://gameoftrees.org/
master_sites        ${homepage}releases/portable/
checksums           rmd160 10049e7f6f987481ee13bdcc9f026fca6c3d7cbb \
                    sha256 22d2dd54e15bc63fa0e55b289b4d587a43db33672414213c2ef718c5332c6a81 \
                    size 1527363
# error: implicit declaration of function 'stravis' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
platforms           {darwin >= 22}
# 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-use-volatile-memset.diff
}
# There is probably a smarter way to do this, see failed attempts at
# https://trac.macports.org/ticket/69827
# So, if you, like me, are using LibreSSL, remove the port:libretls line
# as that is only required for OpenSSL users to supply libtls which is
# already included with LibreSSL.
depends_lib         path:lib/libssl.dylib:openssl \
                    port:libretls \
                    port:ncurses \
                    port:ossp-uuid \
                    port:libevent
depends_build       port:bison \
                    path:bin/pkg-config:pkgconfig
livecheck.type      regex
livecheck.url       https://gameoftrees.org/
livecheck.regex     "Game of Trees -portable (\\d+\\.\\d+)"
configure.checks.implicit_function_declaration.whitelist-append strchr