# -*- 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/Dreamacro/clash 1.18.0 v
# Delete this on next update to use golang PortGroup's default ('archive')
github.tarball_from tarball
revision            0
categories          net
maintainers         {i0ntempest @i0ntempest} openmaintainer
license             GPL-3

description         A rule-based tunnel in Go
long_description    A rule-based tunnel in Go, feature-rich and supports VMess, Shadowsocks,\
                    Trojan, Snell protocols.

checksums           ${distname}${extract.suffix} \
                        rmd160  163a183eef41a575fe8f5967b7e723b2174cd5cf \
                        sha256  16ab1c4a9008cb7576d2b8e8f612a3343736fa40abec39e82bfb44810f0f7a95 \
                        size    323294

go.vendors          gopkg.in/yaml.v3 \
                        lock    v3.0.1 \
                        rmd160  e85ac1368fb7f9ef945b7fd7bd608a1f0d261c12 \
                        sha256  f3ea6be3f405ec25f8799773355aba54f8831d11f5315a01155bdc69b92eca7b \
                        size    91208 \
                    gopkg.in/check.v1 \
                        lock    788fd7840127 \
                        rmd160  b63165c8909a27edc15dda210df66a1b49efb49e \
                        sha256  7e5547c6471cc48da89a7c87f965b20ca5311f43fc4d883ca62f9fccf7551630 \
                        size    31597 \
                    golang.org/x/tools \
                        lock    v0.6.0 \
                        rmd160  4b249b4a0a81358289599e3505f17490396d4d06 \
                        sha256  e064d0d45d4ca70abd87066b550137f985d487b424f8d58b39b6e6f4129dcea5 \
                        size    3307706 \
                    golang.org/x/text \
                        lock    v0.12.0 \
                        rmd160  9ecc2cc78c5ea0f2448e035b0885e94ecf0669c9 \
                        sha256  9a367a26f3c6768b6e84bb91abc54b72593b01e588fa5701b39d7caf2e8987fb \
                        size    8964843 \
                    golang.org/x/sys \
                        lock    v0.11.0 \
                        rmd160  c7caf23614dccb94ca13c90ef9de5ad06ea7b458 \
                        sha256  c6bb27dfd6309f9353492ceddeb653fcdd7c545ab416606089a7d8222ca8f301 \
                        size    1445926 \
                    golang.org/x/sync \
                        lock    v0.3.0 \
                        rmd160  b82f980eb2c9cdf64c03cebf7dc4ace66a2be261 \
                        sha256  640559182ec233eef3dcd6fe034e8017b4ca5690196278d87f51592616960d1f \
                        size    20014 \
                    golang.org/x/net \
                        lock    v0.14.0 \
                        rmd160  bfb1747ff8c70fccc739d8e9dfe9d727e10f2249 \
                        sha256  9d15e9df855fa31660611b401e386ee9c38963ceb21263a5ca83c4cb3244c852 \
                        size    1421702 \
                    golang.org/x/mod \
                        lock    v0.8.0 \
                        rmd160  7e8a20bec3182f47d0739ba5f6d12ae0141bdbf9 \
                        sha256  e34ac19715958f315113b06a357c655cfd21b257cf69ae63b3c0f93a3b9f2e9f \
                        size    120235 \
                    golang.org/x/exp \
                        lock    bbda1eaf7a17 \
                        rmd160  1a5da0f1a1f77911d423d186e064fbc5581704e3 \
                        sha256  9e0e0466b369ce998728348241325bdf94a0d2d0cb8c5134cbacde819eba2607 \
                        size    1722031 \
                    golang.org/x/crypto \
                        lock    v0.12.0 \
                        rmd160  8ce373fa203f6e005c1407926c866fd9f1959819 \
                        sha256  55012d52b78d8f1ecbbfbd85a8d4928638465dd7296fa4bc9062226402def61b \
                        size    1792003 \
                    go.uber.org/automaxprocs \
                        repo    github.com/uber-go/automaxprocs \
                        lock    v1.5.3 \
                        rmd160  22b3a788789ff3609745b77fac311abc47f52b8c \
                        sha256  74099d337013fd04736aa29982a9dea7c17ab0d21519faa93a265038c6696152 \
                        size    24035 \
                    go.uber.org/atomic \
                        repo    github.com/uber-go/atomic \
                        lock    v1.11.0 \
                        rmd160  3d0bf943875bc8172e614fd385b8bba0d131c419 \
                        sha256  d89da116bf6fed99263a25d53108760263bf79d6b1a18fc7ea02b29851cafa7d \
                        size    24312 \
                    go.etcd.io/bbolt \
                        repo    github.com/etcd-io/bbolt \
                        lock    v1.3.7 \
                        rmd160  8a32bacbd4a8c775b12c69497e57bea4e7040184 \
                        sha256  30ba6b46fd4873a1dcb237bec509e916e3b0a9a7befc2cd9f4e9ac98cc390605 \
                        size    116758 \
                    github.com/vishvananda/netns \
                        lock    db3c7e526aae \
                        rmd160  c85cd4935691880c44772b3286c7ab518e367f10 \
                        sha256  0db2596444e96589505b4ab0e66994aeb56015a0295c00c6b15c08c70887b5dc \
                        size    8293 \
                    github.com/vishvananda/netlink \
                        lock    55c8b9515a01 \
                        rmd160  bb2c4e1288b975633864bbb5b4d7e93a10331df9 \
                        sha256  082826fc3066d4d8004197b2b032ffc47257ee21cdb5d15a273c611fe72b0907 \
                        size    197990 \
                    github.com/u-root/uio \
                        lock    ffce2a382923 \
                        rmd160  658839d7bdd8e84b2f6b399812a430f24f09057c \
                        sha256  ced6499bede8bfc315fdd369101394792aa9c3d3dc4bc70d71e543c4d7db2e95 \
                        size    19402 \
                    github.com/stretchr/testify \
                        lock    v1.8.4 \
                        rmd160  8e1645055c9b1d8e117df7974034e74b7f600d27 \
                        sha256  6d0a77075bbe0f8f1c0cbed51dd4d174579db976fef39d9ae6b500aab8917d6a \
                        size    104469 \
                    github.com/sirupsen/logrus \
                        lock    v1.9.3 \
                        rmd160  db211aeb52d4a85a7dc8acf83f7475b5f4fa9092 \
                        sha256  36a05391b8c6cef99e9a9c78b598f3a8da8feed318b385eadcdede08ae5cc229 \
                        size    50327 \
                    github.com/samber/lo \
                        lock    v1.38.1 \
                        rmd160  d3c9997910a7b8d492022e0f02368de4d38ff4ee \
                        sha256  2397b2affe25e97812faa33904ec01a3cc8e1a0d8aff555734f6f411ef5ba878 \
                        size    39892 \
                    github.com/prashantv/gostub \
                        lock    v1.1.0 \
                        rmd160  2a180f3086bf793f4f574165c926290196ed6140 \
                        sha256  eabe92e081c6ae53b105506caf512bed68f5170e74705ee22aac4cce814f281d \
                        size    7908 \
                    github.com/pmezard/go-difflib \
                        lock    v1.0.0 \
                        rmd160  fc879bfbdef9e3ff50844def58404e2b5a613ab8 \
                        sha256  7cd492737641847266115f3060489a67f63581e521a8ec51efbc280c33fc991f \
                        size    11409 \
                    github.com/pierrec/lz4 \
                        lock    v4.1.14 \
                        rmd160  234b88b87b89efff4e15f58630bae5d6a01eeaca \
                        sha256  9cbd92e19005f67fd498663fc4869e87b7c1b099ed4254d7c7c01f3ea0c7b174 \
                        size    40904445 \
                    github.com/oschwald/maxminddb-golang \
                        lock    v1.11.0 \
                        rmd160  7ec64c291c395ab2fda1e07f0c6701959facfed1 \
                        sha256  4de08aa086729483bd25e2f1729ee2980d780bfc8e0ef51f0927e966920c88c0 \
                        size    27382 \
                    github.com/oschwald/geoip2-golang \
                        lock    v1.9.0 \
                        rmd160  891c99e24903a39c1b160f3774ab9c48e5c24784 \
                        sha256  71df066e7e7708dde84381283d4a006d79dd34f14e327936505f3797283a9693 \
                        size    11333 \
                    github.com/miekg/dns \
                        lock    v1.1.55 \
                        rmd160  74fcf61d430158d43deebad5a3ba5469522b444f \
                        sha256  989d30c90e45d7ddd8290b084ab71ca9542819aeb2f8ad214674c0fd51b81056 \
                        size    212453 \
                    github.com/mdlayher/socket \
                        lock    v0.4.1 \
                        rmd160  78f3870e03e7f05097b392dde756abc009e23eaa \
                        sha256  15c1df4b48aba325eb3433e620c64e27f2ecc1b85fb1d04ec26837fc0f3db3be \
                        size    21153 \
                    github.com/mdlayher/netlink \
                        lock    v1.7.2 \
                        rmd160  46ced384afb9c6f276d20a0385762f3531a7de3e \
                        sha256  72ddc4c119e7bc44f05dcbd1237677fe22df4fa83403316f9f29f2e279189995 \
                        size    48252 \
                    github.com/kr/text \
                        lock    v0.2.0 \
                        rmd160  48558c7e8ff67d510f83c66883907e95f4783163 \
                        sha256  2f2e21ac8a9d523e88cbba4039441defc4a66bfaa78811c900a88fcf28729c4c \
                        size    8702 \
                    github.com/kr/pretty \
                        lock    v0.1.0 \
                        rmd160  9aa7a5aad4c48840eecfd0f80186d1fb5ded0fd6 \
                        sha256  f6c3f89667c63e5b7f1fc6ee2c06b6a6bfdce88f3a965ccd395b64c6f95c9a47 \
                        size    8553 \
                    github.com/josharian/native \
                        lock    v1.1.0 \
                        rmd160  978af6b719f2e7fa0651f481b7909e78ba0aaa92 \
                        sha256  09d305c5e680e929ae1cd7f594376c5a34bd2aee42b892d9c5cf2b800eb948b4 \
                        size    2072 \
                    github.com/insomniacslk/dhcp \
                        lock    b3ca2534940d \
                        rmd160  1c799eae4e9342669f3ee75efe2876c31d2f3821 \
                        sha256  98667687eed1060fa70bdf80be473ba5f71a205eb933794e4204afd9978e0524 \
                        size    152512 \
                    github.com/gorilla/websocket \
                        lock    v1.5.0 \
                        rmd160  ff5a4278af87e04d06521f4cf1db6fd48c0403b2 \
                        sha256  e26e73242d694a6a43458bec8d7e32f6a3d355539484eeb04c5b0c182dc79d9f \
                        size    54163 \
                    github.com/google/go-cmp \
                        lock    v0.5.9 \
                        rmd160  9832ae80123461baed8aa20e830199c0e21e337b \
                        sha256  3058d20d61f03aa05fca0fc07acb8c50850c68086998c542857aec7ad1529482 \
                        size    104431 \
                    github.com/gofrs/uuid \
                        lock    v5.0.0 \
                        rmd160  82a7188f87e0c9a5cae9fbcaee4bfc68d481ebd7 \
                        sha256  076968bd30c017faa3b54dd3d6107bf48f3e86048cc9537d4e48cefa5da881fb \
                        size    23264 \
                    github.com/go-chi/render \
                        lock    v1.0.3 \
                        rmd160  996a96ac2138ca409e8c0e6b98a294a17c0ecb6f \
                        sha256  d3cec85e8db8e92ab9e79e8c2342e7e37667f990bf537154a26c9d825eebeed9 \
                        size    6167 \
                    github.com/go-chi/cors \
                        lock    v1.2.1 \
                        rmd160  77d9d00288f070cab2e42f542d1882ccf23103f5 \
                        sha256  6a7191078f7c316b94947ae61f7164c58ff533f6be1b0817f61158dd841d609d \
                        size    8830 \
                    github.com/go-chi/chi \
                        lock    v5.0.10 \
                        rmd160  7560cd3ddac8c823138c02b287a6a04ec652f043 \
                        sha256  9f19ba411a62c2b1e5f3d09dd81d66378433683ecaf5210d5caae490c4f20f8e \
                        size    83658 \
                    github.com/dlclark/regexp2 \
                        lock    v1.10.0 \
                        rmd160  e8040f20921516673ec6b2f7a2e9630bf1f46b59 \
                        sha256  b5483f506e03c3369baefb4b7132a56eb403e7c8684e17466d7a3396e3cccb73 \
                        size    211946 \
                    github.com/davecgh/go-spew \
                        lock    v1.1.1 \
                        rmd160  7c02883aa81f81aca14e13a27fdca9e7fbc136f7 \
                        sha256  e85d6afa83e64962e0d63dd4812971eccf2b9b5445eda93f46a4406f0c177d5f \
                        size    42171 \
                    github.com/ajg/form \
                        lock    v1.5.1 \
                        rmd160  5fceb031a406f7e01c35d0a60b5c65e8c9ee4750 \
                        sha256  22b2b5397f14e93fd4fa292c8de91a6283c7afcfb1254a2e3dba9fa61178386a \
                        size    14948 \
                    github.com/Dreamacro/protobytes \
                        lock    6500a9f4f158 \
                        rmd160  2128d04a5f19a3cec6346410e22c0fec763d94f7 \
                        sha256  99ad84e88828fd226204c359695f652c86f29e4d64eef0f947bcd8b985da141c \
                        size    9212

set time [clock format [clock seconds] -format "%a %b %e %H:%M:%S %Z %Y"]
build.args-append   -ldflags=\"-X 'github.com/Dreamacro/clash/constant.Version=v${version}' -X 'github.com/Dreamacro/clash/constant.BuildTime=${time}'\"

destroot {
    xinstall -m 0755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/
    file mkdir ${destroot}${prefix}/etc/clash
    copy ${filespath}/options.yaml ${destroot}${prefix}/etc/clash/options.yaml
    copy ${filespath}/config.yaml ${destroot}${prefix}/etc/clash/config.yaml.example
}

post-activate {
    if {![file exists ${prefix}/etc/clash/config.yaml]} {
        copy ${prefix}/etc/clash/config.yaml.example ${prefix}/etc/clash/config.yaml
    }
}

notes-append "
    The default config file is copied to ${prefix}/etc/clash/config.yaml and its content\
    will be preserved across upgrades and reinstalls. The startup item will use this config\
    file by default. A manual containing all configuration options can be found at\
    ${prefix}/etc/clash/options.yaml.
"

startupitem.create          yes
startupitem.executable      ${prefix}/bin/clash -d ${prefix}/etc/clash
