# -*- 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/Shopify/toxiproxy 2.13.0 v
categories          net
maintainers         {amake @amake} openmaintainer
license             MIT

description         Toxiproxy is a framework for simulating network conditions.

long_description    Toxiproxy is a framework for simulating network conditions. \
    It's made specifically to work in testing, CI and development environments, \
    supporting deterministic tampering with connections, but with support for \
    randomized chaos and customization. Toxiproxy is the tool you need to prove \
    with tests that your application doesn't have single points of failure.

checksums           ${distname}${extract.suffix} \
                        rmd160  703cf4747a7d6f325a6409c43713fd947755986e \
                        sha256  6fe013a718a2d3595b26cd51536dfe3f32a1e346df7a7692e85c65c2cb1b680a \
                        size    82662

go.vendors          gopkg.in/tomb.v1 \
                        lock    dd632973f1e7 \
                        rmd160  ae07f5ddbbc6afc772d6dc5273bb72eaba50529a \
                        sha256  91c562a4e31c89d13e5391143ff653231fc2d80562743db89ce2172ad8f81008 \
                        size    3636 \
                    google.golang.org/protobuf \
                        repo    github.com/protocolbuffers/protobuf-go \
                        lock    v1.36.11 \
                        rmd160  f7fefd7eef29b1359013604507c78b4d02633d1e \
                        sha256  dafeceaa13fbe24e8a788d73a271aacc46c758ecbdb403892d73124dea13b524 \
                        size    1822283 \
                    golang.org/x/term \
                        lock    v0.46.0 \
                        rmd160  0604a7b9bfae6c19bca43ecdb53238935850f840 \
                        sha256  067d95eac9e71dad411fcbf1916ff7c830d5cf44a50ca2e9986be6c53eed95de \
                        size    16842 \
                    golang.org/x/sys \
                        lock    v0.48.0 \
                        rmd160  da444762c01e32fdc55021f225d24d7dcc6df2ea \
                        sha256  59772c80fdc72cec509c5797a316a8acb2e5ec4428b3e556e19f30f223d6198a \
                        size    1554657 \
                    github.com/xrash/smetrics \
                        lock    686a1a2994c1 \
                        rmd160  6eeddadc807945dd735d28b8e19a239a242d5ae4 \
                        sha256  ad89cc64ab0ee4f8c8364b85027e507ce99a8e1a5d0ccda24c623be30757d918 \
                        size    1823558 \
                    github.com/urfave/cli/v2 \
                        lock    v2.27.7 \
                        rmd160  dced129a228bff41e72596cbf12e6e06447cf275 \
                        sha256  48af0cee9af9d5b64c83777df7fbeb716b8e7c60a1ddb279290ed8cafea3001a \
                        size    3485712 \
                    github.com/russross/blackfriday/v2 \
                        lock    v2.1.0 \
                        rmd160  c42a9332a2c2f3074c6f7e8d37a58d6148d2af08 \
                        sha256  c4df56f2012a7d16471418245e78b5790569e27bbe8d72a860d7117a801a7fae \
                        size    92950 \
                    github.com/rs/zerolog \
                        lock    v1.35.1 \
                        rmd160  e58e4486ae87d74bdd2ef92944e10dd83879b509 \
                        sha256  1935d3b15099bebf1c46a4517ac4d3cc7bf501626abd2df2dbc6b3077782e9d2 \
                        size    250768 \
                    github.com/rs/xid \
                        lock    v1.6.0 \
                        rmd160  4a17184583a216edcc5e287ef10148a896e3ffcf \
                        sha256  4b694ef1c0db0e4692b69ecbdab27a788ca502fcb036f3ffc8ad071579ceaf5b \
                        size    12043 \
                    github.com/prometheus/procfs \
                        lock    v0.21.1 \
                        rmd160  de0f8cab03a7ec991cb3822c7333cdabb0bd053c \
                        sha256  2d0740acbb67b63222bcd1ce31a36f0a3bdfea14a53999ceb5cd1767d6785f8b \
                        size    288046 \
                    github.com/prometheus/common \
                        lock    v0.70.1 \
                        rmd160  ee6d2a3636b4efcb1b354c132e421d5b10b23546 \
                        sha256  15b772e6bd43ac13d848d113e4b6ecd948bf45a51e8038a5bf2c9677ec6b9253 \
                        size    169725 \
                    github.com/prometheus/client_model \
                        lock    v0.6.2 \
                        rmd160  dbae1200da24697890683fb2a812a9afa491581d \
                        sha256  4ddb77b5681a0dd4892d7e4ee8846d278e52251322e25fd01a71dea8114a5c22 \
                        size    17529 \
                    github.com/prometheus/client_golang \
                        lock    v1.24.1 \
                        rmd160  4e0eea52cdf148d9030130a04f750392996fefa1 \
                        sha256  48b9b4fc91cd278a4723d2e457c08ec35f4704a4f6a02dd4e99ed3f5bff02c54 \
                        size    1149161 \
                    github.com/munnerz/goautoneg \
                        lock    a7dc8b61c822 \
                        rmd160  5d779614a17cd75c1ca4294a004c487ca3d152bf \
                        sha256  eb0c0a7182feac6df955be4b48525840f491febd3ddb3f1febd0806cc54d5c09 \
                        size    2817 \
                    github.com/mattn/go-isatty \
                        lock    v0.0.20 \
                        rmd160  ef20ccdf87de8b704c0c7118625b2beb31d8f1b4 \
                        sha256  397549e98cf5d40df585f31dc7902f017c37be88c64311dd2b4aeccab4009949 \
                        size    4717 \
                    github.com/mattn/go-colorable \
                        lock    v0.1.14 \
                        rmd160  5b6117d2728f6478faf0be5b8790425fed6c4ad8 \
                        sha256  6661917405b168f0c8b92a2be524e668ee1c29b393353639453cb8f9c2f7eff8 \
                        size    9806 \
                    github.com/gorilla/mux \
                        lock    v1.8.1 \
                        rmd160  7987ea5739b61af51e69127d23644c5760df3def \
                        sha256  55f5c50f77a44031da4bae5e5725a301a36a6072e42139e55afc606d631848fe \
                        size    47042 \
                    github.com/cpuguy83/go-md2man/v2 \
                        lock    v2.0.7 \
                        rmd160  823bc7b17c4d9fb7a9a2b955522fdb1defbfd4d3 \
                        sha256  397b066e0e349873b80cb888ebc2e1b7d7436ba54a63ef5a990933df68b301c5 \
                        size    11353 \
                    github.com/cespare/xxhash/v2 \
                        lock    v2.3.0 \
                        rmd160  dfed275969e04769f613bd08336420dc9009794a \
                        sha256  79cc788ad30f0d7987fb1f259f21477a74178e30f4a2b2803af2b43c3ebcfa91 \
                        size    12704 \
                    github.com/beorn7/perks \
                        lock    v1.0.1 \
                        rmd160  c6c5c7fd2132f01925c7fccd9d27c9d7a80f2adb \
                        sha256  78da4421e9f9fa2ee5e3855bdd31cfb04c7e823d9c0ec385cc2c008132d98b96 \
                        size    10874

build.cmd           ${workpath}/build.sh
build.pre_args
build.args

set bins            [list server cli]

post-extract {
    set bs [open ${build.cmd} w+]
    puts ${bs} "#!/bin/sh"
    puts ${bs} "set -x"
    foreach bin ${bins} {
        puts ${bs} "cd [shellescape ${worksrcpath}/cmd/${bin}] && ${go.bin} build -ldflags='-s -w -X ${go.package}.Version=${version}'"
    }
    close ${bs}
    file attributes ${build.cmd} -permissions 0755
}

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

github.livecheck.regex {([0-9.]+)}
