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

github.setup        BurntSushi ripgrep 15.2.0
github.tarball_from archive
revision            0
categories          textproc
installs_libs       no
license             MIT
maintainers         {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer

description         fast command line search tool
long_description    ripgrep is a command line search tool that combines the \
                    usability of The Silver Searcher (an ack clone) with the \
                    raw speed of GNU grep.

checksums-append    ${distname}${extract.suffix} \
                    rmd160  42735971dbff5e979f3e86f00a22b9fbba1d2162 \
                    sha256  7605249d3eb0d5f170e3414498e3344e26b1e7a147aec518b57090b80036a562 \
                    size    606519

depends_build-append \
                    port:asciidoc \
                    port:docbook-xsl-nons \
                    port:libiconv

set ripgrep_bin     ${worksrcpath}/target/[cargo.rust_platform]/release/rg

post-build {
    # Generate shell completions
    foreach _shell {bash fish zsh} {
        system -W ${worksrcpath} \
            "${ripgrep_bin} --generate complete-${_shell} > rg.${_shell}"
    }

    # Generate man page
    system -W ${worksrcpath} "${ripgrep_bin} --generate man > rg.1"
}

destroot {
    # Install ripgrep
    xinstall -m 0755 ${ripgrep_bin} ${destroot}${prefix}/bin/
    ln -s rg ${destroot}${prefix}/bin/ripgrep

    # Install shell completions
    xinstall -d -m 0755 ${destroot}${prefix}/share/bash-completion/completions
    xinstall -m 0644 ${worksrcpath}/rg.bash \
        ${destroot}${prefix}/share/bash-completion/completions/rg

    xinstall -d -m 0755 ${destroot}${prefix}/share/fish/vendor_completions.d
    xinstall -m 0644 ${worksrcpath}/rg.fish \
        ${destroot}${prefix}/share/fish/vendor_completions.d/

    xinstall -d -m 0755 ${destroot}${prefix}/share/zsh/site-functions
    xinstall -m 0644 ${worksrcpath}/rg.zsh \
        ${destroot}${prefix}/share/zsh/site-functions/_rg

    # Install man page
    xinstall -m 0644 ${worksrcpath}/rg.1 ${destroot}${prefix}/share/man/man1/
}

variant pcre description {Build with pcre2} {
    build.args-append       --features 'pcre2'
    depends_lib-append      port:pcre2
}
default_variants    +pcre

cargo.crates \
    aho-corasick                                                            1.1.4  ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301 \
    anyhow                                                                1.0.103  2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3 \
    arbitrary                                                               1.4.2  c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1 \
    bstr                                                                   1.13.0  1f7dc094d718f2e1c1559ad110e27eeaae14a5465d3d56dd6dbd793079fbd530 \
    cc                                                                     1.2.67  e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38 \
    cfg-if                                                                  1.0.4  9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801 \
    crossbeam-channel                                                      0.5.16  d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e \
    crossbeam-deque                                                         0.8.7  5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb \
    crossbeam-epoch                                                        0.9.20  2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f \
    crossbeam-utils                                                        0.8.22  61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17 \
    derive_arbitrary                                                        1.4.2  1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a \
    encoding_rs                                                            0.8.35  75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3 \
    encoding_rs_io                                                          0.1.7  1cc3c5651fb62ab8aa3103998dade57efdd028544bd300516baa31840c252a83 \
    find-msvc-tools                                                         0.1.9  5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582 \
    getrandom                                                               0.4.3  300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099 \
    glob                                                                    0.3.3  0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280 \
    itoa                                                                   1.0.18  8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682 \
    jobserver                                                              0.1.35  1c00acbd29eabad4a2392fa0e921c874934dbbf4194312ad20f04a0ed67a3cb3 \
    lexopt                                                                  0.3.2  803ec87c9cfb29b9d2633f20cba1f488db3fd53f2158b1024cbefb47ba05d413 \
    libc                                                                  0.2.186  68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66 \
    log                                                                    0.4.33  0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad \
    memchr                                                                  2.8.3  cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98 \
    memmap2                                                                0.9.11  d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0 \
    pcre2                                                                  0.2.11  9e970b0fcce0c7ee6ef662744ff711f21ccd6f11b7cf03cd187a80e89797fc67 \
    pcre2-sys                                                              0.2.10  18b9073c1a2549bd409bf4a32c94d903bb1a09bf845bc306ae148897fa0760a4 \
    pkg-config                                                             0.3.33  19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e \
    proc-macro2                                                           1.0.106  8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934 \
    quote                                                                  1.0.46  dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368 \
    r-efi                                                                   6.0.0  f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf \
    regex                                                                  1.13.0  2a0e75113e14dc5acb068cd0786884f214f1312650a3d36d269f5c4f3cdee8a2 \
    regex-automata                                                         0.4.15  1f388202e4b80542a0921078cc23b6333bcf1409c1e3f86404cae4766a6131db \
    regex-syntax                                                           0.8.11  d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4 \
    same-file                                                               1.0.6  93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 \
    serde                                                                 1.0.228  9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e \
    serde_core                                                            1.0.228  41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad \
    serde_derive                                                          1.0.228  d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79 \
    serde_json                                                            1.0.150  e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9 \
    shlex                                                                   2.0.1  f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba \
    syn                                                                   2.0.119  872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297 \
    termcolor                                                               1.4.1  06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755 \
    textwrap                                                               0.16.2  c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057 \
    tikv-jemalloc-sys     0.7.1+5.3.1-0-g81034ce1f1373e37dc865038e1bc8eeecf559ce8  1a2825c78386b4ae0314074867860ba9577875de945f05992c38815cbec327f0 \
    tikv-jemallocator                                                       0.7.0  249f09e49ab1609436f34c776e84231bead18d6a955f119f939bdc1d847561bd \
    unicode-ident                                                          1.0.24  e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75 \
    walkdir                                                                 2.5.0  29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b \
    winapi-util                                                            0.1.11  c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22 \
    windows-link                                                            0.2.1  f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5 \
    windows-sys                                                            0.61.2  ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc \
    zmij                                                                   1.0.23  29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b
