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

go.setup            github.com/cloudflare/cloudflared 2026.8.2
go.toolchain_min    1.26
revision            0
categories          net security
maintainers         {i0ntempest @i0ntempest} @cicku openmaintainer
license             Apache-2

description         Cloudflare Tunnel client (formerly Argo Tunnel)
long_description    Contains the command-line client for Cloudflare Tunnel, a tunneling daemon that \
                    proxies traffic from the Cloudflare network to your origins.

homepage            https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/

checksums           rmd160  0ab3effd2fe6a1b4b02c70b84d85e47fffe66ff6 \
                    sha256  acdf125b7e872be6e1d13116e8054d27b2c4755760b0cdc3b4ee3910edd37b93 \
                    size    6326795

go.offline_build    no

set build_time      [clock format ${source_date_epoch} -format "%Y-%m-%dT%H:%M:%SZ"]
build.args-append   -ldflags \"-B gobuildid \
                               -X main.Version=${version} \
                               -X main.BuildTime=${build_time} \
                               -X ${go.package}/config.DefaultUnixConfigLocation=${prefix}/etc/${name} \
                               -X ${go.package}/config.DefaultUnixLogLocation=${prefix}/var/log \
                               -X ${go.package}/cmd/${name}/updater.BuiltForPackageManager=MacPorts\"

build.post_args-append \
                    ./cmd/${name}

destroot {
    xinstall -m 0755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/
}

startupitem.create      yes
startupitem.executable  ${prefix}/bin/${name}
startupitem.logfile     ${prefix}/var/log/${name}.log
startupitem.pidfile     manual ${prefix}/var/run/${name}.pid
