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

# Later versions which to clap 4, and the build fails in the very end:
# fd-8.5.3/src/cli.rs:20:10-18 error:0:Failed to apply #[derive] - Missing handlers for /**/Parser/*?*/

github.setup        sharkdp fd 8.4.0 v
revision            0
categories          sysutils
installs_libs       no
license             {MIT Apache-2}
maintainers         {saagarjha.com:saagar @saagarjha} \
                    {gmail.com:herby.gillot @herbygillot} \
                    openmaintainer
description         Simple, fast and user-friendly alternative to find
long_description    fd is a simple, fast and user-friendly alternative to \
                    find. While it does not seek to mirror all of find's \
                    powerful functionality, it provides sensible \
                    (opinionated) defaults for 80% of the use cases.
checksums           ${distname}${extract.suffix} \
                    rmd160  1997bd4bad32ebf82109a02dcad60b270b65075f \
                    sha256  d0c2fc7ddbe74e3fd88bf5bb02e0f69078ee6d2aeea3d8df42f508543c9db05d \
                    size    109403
github.tarball_from archive

patch.dir           ${workpath}

patchfiles          fd-8.4.0.patch

patchfiles-append   clap-3.1.18.patch \
                    nix-0.23.1.patch \
                    proc-macro-error-1.0.4.patch

platform darwin {
    post-patch {
        reinplace "s|__powerpc__|__POWERPC__|" \
            ${cargo.home}/macports/jemalloc-sys-0.5.0+5.3.0/jemalloc/include/jemalloc/internal/quantum.h
    }
}

pre-build {
    file mkdir ${worksrcpath}/shell_completions
}

build.env-append    SHELL_COMPLETIONS_DIR=shell_completions

destroot {
    xinstall -m 0755 \
        ${worksrcpath}/target/[cargo.rust_platform]/release/${name} \
        ${destroot}${prefix}/bin/

    # Install man pages & docs
    xinstall -m 0444 ${worksrcpath}/doc/${name}.1 \
        ${destroot}${prefix}/share/man/man1/

    xinstall -d ${destroot}${prefix}/share/doc/${name}
    xinstall -m 0644 -W ${worksrcpath} \
        README.md LICENSE-MIT LICENSE-APACHE \
        ${destroot}${prefix}/share/doc/${name}

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

    xinstall -d ${destroot}${prefix}/share/zsh/site-functions
    xinstall -m 0644 \
        ${worksrcpath}/contrib/completion/_fd \
        ${destroot}${prefix}/share/zsh/site-functions/_fd

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

cargo.crates \
    aho-corasick                    0.7.18  1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f \
    ansi_term                       0.12.1  d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2 \
    anyhow                          1.0.57  08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc \
    argmax                           0.3.0  932fb17af6e53a41ce7312f1ae1ba2a6f3f613fe36f38ad655b212906eb9657f \
    atty                            0.2.14  d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 \
    autocfg                          1.1.0  d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa \
    bitflags                         1.3.2  bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a \
    bstr                            0.2.17  ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223 \
    cc                              1.0.73  2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11 \
    cfg-if                           1.0.0  baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd \
    chrono                          0.4.19  670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73 \
    clap                            3.1.18  d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b \
    clap_complete                    3.1.4  da92e6facd8d73c22745a5d3cbb59bdf8e46e3235c923e516527d8e81eec14a4 \
    clap_lex                         0.2.0  a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213 \
    crossbeam-utils                  0.8.8  0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38 \
    ctrlc                            3.2.2  b37feaa84e6861e00a1f5e5aa8da3ee56d605c9992d33e082786754828e20865 \
    diff                            0.1.12  0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499 \
    dirs-next                        2.0.0  b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1 \
    dirs-sys-next                    0.1.2  4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d \
    filetime                        0.2.16  c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c \
    fnv                              1.0.7  3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 \
    fs_extra                         1.2.0  2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394 \
    fuchsia-cprng                    0.1.1  a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba \
    getrandom                        0.2.6  9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad \
    globset                          0.4.8  10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd \
    hashbrown                       0.11.2  ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e \
    hermit-abi                      0.1.19  62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33 \
    humantime                        2.1.0  9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 \
    ignore                          0.4.18  713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d \
    indexmap                         1.8.2  e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a \
    jemalloc-sys               0.5.0+5.3.0  f655c3ecfa6b0d03634595b4b54551d4bd5ac208b9e0124873949a7ab168f70b \
    jemallocator                     0.5.0  16c2514137880c52b0b4822b563fadd38257c1f380858addb74a400889696ea6 \
    lazy_static                      1.4.0  e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 \
    libc                           0.2.126  349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836 \
    log                             0.4.17  abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e \
    lscolors                        0.10.0  88e4434edeec6cd16a7e8e13569af4568a66fcd6d79abd8696db22dd95f920e6 \
    memchr                           2.5.0  2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d \
    memoffset                        0.6.5  5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce \
    nix                             0.23.1  9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6 \
    nix                             0.24.1  8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9 \
    normpath                         0.3.2  04aaf5e9cb0fbf883cc0423159eacdf96a9878022084b35c462c428cab73bcaf \
    num-integer                     0.1.45  225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9 \
    num-traits                      0.2.15  578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd \
    num_cpus                        1.13.1  19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1 \
    once_cell                       1.12.0  7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225 \
    os_str_bytes                     6.1.0  21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa \
    proc-macro-error                 1.0.4  da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c \
    proc-macro-error-attr            1.0.4  a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869 \
    proc-macro2                     1.0.39  c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f \
    quote                           1.0.18  a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1 \
    rand                             0.4.6  552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293 \
    rand_core                        0.3.1  7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b \
    rand_core                        0.4.2  9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc \
    rdrand                           0.4.0  678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2 \
    redox_syscall                   0.2.13  62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42 \
    redox_users                      0.4.3  b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b \
    regex                            1.5.6  d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1 \
    regex-syntax                    0.6.26  49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64 \
    remove_dir_all                   0.5.3  3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7 \
    same-file                        1.0.6  93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 \
    strsim                          0.10.0  73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623 \
    syn                             1.0.95  fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942 \
    tempdir                          0.3.7  15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8 \
    termcolor                        1.1.3  bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755 \
    terminal_size                   0.1.17  633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df \
    test-case                        2.1.0  196e8a70562e252cc51eaaaee3ecddc39803d9b7fd4a772b7c7dae7cdf42a859 \
    test-case-macros                 2.1.0  8dd461f47ade621665c9f4e44b20449341769911c253275dc5cb03726cbb852c \
    textwrap                        0.15.0  b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb \
    thiserror                       1.0.31  bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a \
    thiserror-impl                  1.0.31  0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a \
    thread_local                     1.1.4  5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180 \
    time                            0.1.43  ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438 \
    unicode-ident                    1.0.0  d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee \
    users                           0.11.0  24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032 \
    version_check                    0.9.4  49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f \
    walkdir                          2.3.2  808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56 \
    wasi     0.10.2+wasi-snapshot-preview1  fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6 \
    winapi                           0.3.9  5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 \
    winapi-i686-pc-windows-gnu       0.4.0  ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 \
    winapi-util                      0.1.5  70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178 \
    winapi-x86_64-pc-windows-gnu     0.4.0  712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
