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

if {[variant_isset rust]} {
    # see https://trac.macports.org/ticket/63834
    PortGroup       rust 1.0
}

name                mercurial
# don't forget to update dependents for mercurial:
# port echo rdepends:mercurial and \( name:hg or name:mercurial \) | grep -v 'py[[:digit:]]'
# also, please remember that the rust variant needs love too:
# cargo2port rust/Cargo.lock | pbcopy
version             6.9
revision            0
categories          devel python
license             GPL-2+
maintainers         {danchr @danchr}

description         A fast, lightweight, distributed SCM system written in \
                    Python.

long_description    Mercurial is a fast, lightweight Source Control Management \
                    system designed for efficient handling of very large \
                    distributed projects. A distributed SCM tool is designed \
                    to support a model in which each Repository is loosely \
                    coupled to many others. Each Repository contains a \
                    complete set of metadata describing one or more projects. \
                    These repositories may be located almost anywhere. \
                    Individual developers only need access to their own \
                    repositories, not to a central one, in order to commit \
                    changes. Changes can be share via the builtin webserver, \
                    CGI, SSH or a stream of patch emails. Mercurial supports \
                    Apples' FileMerge for merges.

homepage            https://www.mercurial-scm.org

checksums           ${distname}${extract.suffix}  \
                    rmd160  c9e2210532b572198ece41f5c058f4434efe4822 \
                    sha256  629604293df2be8171ec856bf4f8b4faa8e4305af13607dce0f89f74132836d6 \
                    size    8662295

python.default_version 311
python.pep517       no

# https://trac.macports.org/ticket/65938
compiler.blacklist-append \
                    *gcc-4.0 *gcc-4.2 {clang < 421}

depends_build-append \
                    bin:${prefix}/bin/make:gmake \
                    port:gettext \
                    port:py${python.version}-setuptools \
                    port:py${python.version}-docutils

depends_run         path:share/curl/curl-ca-bundle.crt:curl-ca-bundle \
                    port:py${python.version}-re2 \
                    port:py${python.version}-gnureadline

patch.pre_args-replace  -p0 -p1
patchfiles          setup_py.diff \
                    hg.diff \
                    makefile.diff

build.cmd           make
build.env-append    FORCE_SETUPTOOLS=1 \
                    PYTHON=${python.bin} \
                    COMPILERFLAG=-j${build.jobs} \
                    HGPATH=${prefix}/bin/hg \
                    HGEXTDIR=${python.pkgd}/hgext
build.target        all build-chg \
                    PYTHON=${python.bin} COMPILERFLAG=-j${build.jobs}
destroot.cmd        make
destroot.args       -j${build.jobs}
destroot.destdir    DESTDIR=${destroot} PREFIX=${prefix}
destroot.env-append \
                    FORCE_SETUPTOOLS=1 \
                    PYTHON=${python.bin} \
                    COMPILERFLAG=-j${build.jobs} \
                    HGPATH=${prefix}/bin/hg \
                    HGEXTDIR=${python.pkgd}/hgext
destroot.target-append \
                    install-chg

post-patch {
    reinplace "s/@BUILD_JOBS@/${build.jobs}/" ${worksrcpath}/setup.py
}

# https://trac.macports.org/ticket/71405
if {[string match *gcc* ${configure.compiler}]} {
    build.cmd-prepend \
                    CFLAGS=-Wno-error=incompatible-pointer-types
}

post-destroot {
    # configure ssl certificates
    xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial
    xinstall -d -m 755 ${destroot}${prefix}/etc/mercurial/hgrc.d
    xinstall -d -m 755 ${destroot}${prefix}/share/doc/mercurial
    xinstall -m 644 ${filespath}/hgrc \
        ${destroot}${prefix}/etc/mercurial/hgrc.default
    reinplace "s|%%PREFIX%%|${prefix}|g" \
        ${destroot}${prefix}/etc/mercurial/hgrc.default

    # install html docs
    xinstall -m 644 -W ${worksrcpath}/doc hg.1.html hgrc.5.html hgignore.5.html \
        ${destroot}${prefix}/share/doc/mercurial

    # install contrib
    xinstall -d -m 755 ${destroot}${prefix}/share/mercurial
    file copy ${worksrcpath}/contrib ${destroot}${prefix}/share/mercurial/contrib
    file copy ${worksrcpath}/tests/run-tests.py ${destroot}${prefix}/share/mercurial/contrib

    # exclude some cruft and nested packages
    file delete -force \
        ${destroot}${prefix}/share/mercurial/contrib/automation \
        ${destroot}${prefix}/share/mercurial/contrib/chg \
        ${destroot}${prefix}/share/mercurial/contrib/fuzz \
        ${destroot}${prefix}/share/mercurial/contrib/packaging \
        ${destroot}${prefix}/share/mercurial/contrib/plan9 \
        ${destroot}${prefix}/share/mercurial/contrib/python-zstandard \
        ${destroot}${prefix}/share/mercurial/contrib/win32

    # copy hgweb.cgi hgwebdir.cgi
    file copy ${worksrcpath}/hgweb.cgi ${destroot}${prefix}/share/mercurial/

    # copy hgk, the visual history browser
    file copy ${worksrcpath}/contrib/hgk ${destroot}${prefix}/bin/hgk

    # copy completions, etc.
    foreach f [glob ${destroot}${python.prefix}/share/*] {
        file rename $f ${destroot}${prefix}/share/
    }
}

post-activate {
    if {![file exists ${prefix}/etc/mercurial/hgrc]} {
        copy ${prefix}/etc/mercurial/hgrc.default ${prefix}/etc/mercurial/hgrc
    }
}

variant rust description {Enable experimental Rust optimizations} {
    build.env-append HGWITHRUSTEXT=cpython CARGO_BUILD_TARGET=
    destroot.env-append HGWITHRUSTEXT=cpython CARGO_BUILD_TARGET=

    build.target-append \
                    build-rhg
    destroot.target-append \
                    install-rhg

    cargo.crates \
    adler                            1.0.2  f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe \
    ahash                            0.8.2  bf6ccdb167abbf410dcb915cabd428929d7f6a04980b54a11f26a39f1c7f7107 \
    aho-corasick                    0.7.19  b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e \
    android-tzdata                   0.1.1  e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0 \
    android_system_properties        0.1.5  819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311 \
    atty                            0.2.14  d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 \
    autocfg                          1.1.0  d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa \
    bitflags                         1.3.2  bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a \
    bitflags                         2.6.0  b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de \
    bitmaps                          2.1.0  031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2 \
    bitvec                           1.0.1  1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c \
    block-buffer                     0.9.0  4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4 \
    block-buffer                    0.10.3  69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e \
    bstr                             1.6.0  6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05 \
    bumpalo                         3.11.1  572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba \
    byteorder                        1.4.3  14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610 \
    bytes-cast                       0.3.0  a20de93b91d7703ca0e39e12930e310acec5ff4d715f4166e0ab026babb352e8 \
    bytes-cast-derive                0.2.0  7470a6fcce58cde3d62cce758bf71007978b75247e6becd9255c9b884bcb4f71 \
    cc                              1.0.76  76a284da2e6fe2092f2353e51713435363112dfd60030e22add80be333fb928f \
    cfg-if                           1.0.0  baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd \
    cfg_aliases                      0.2.1  613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724 \
    chrono                          0.4.34  5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b \
    clap                            4.0.24  60494cedb60cb47462c0ff7be53de32c0e42a6fc2c772184554fa12bd9489c03 \
    clap_derive                     4.0.21  0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014 \
    clap_lex                         0.3.0  0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8 \
    codespan-reporting              0.11.1  3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e \
    console                         0.15.8  0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb \
    convert_case                     0.4.0  6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e \
    core-foundation-sys              0.8.3  5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc \
    cpufeatures                      0.2.5  28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320 \
    cpython                          0.7.2  43b398a2c65baaf5892f10bb69b52508bf7a993380cc4ecd3785aaebb5c79389 \
    crc32fast                        1.3.2  b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d \
    crossbeam-channel                0.5.6  c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521 \
    crossbeam-deque                  0.8.2  715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc \
    crossbeam-epoch                 0.9.11  f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348 \
    crossbeam-utils                 0.8.12  edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac \
    crypto-common                    0.1.6  1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 \
    ctor                            0.1.26  6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096 \
    ctrlc                            3.4.5  90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3 \
    cxx                             1.0.81  97abf9f0eca9e52b7f81b945524e76710e6cb2366aead23b7d4fbf72e281f888 \
    cxx-build                       1.0.81  7cc32cc5fea1d894b77d269ddb9f192110069a8a9c1f1d441195fba90553dea3 \
    cxxbridge-flags                 1.0.81  8ca220e4794c934dc6b1207c3b42856ad4c302f2df1712e9f8d2eec5afaacf1f \
    cxxbridge-macro                 1.0.81  b846f081361125bfc8dc9d3940c84e1fd83ba54bbca7b17cd29483c828be0704 \
    derive_more                    0.99.17  4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321 \
    diff                            0.1.13  56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8 \
    digest                           0.9.0  d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066 \
    digest                          0.10.5  adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c \
    dirs                             5.0.1  44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225 \
    dirs-sys                         0.4.1  520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c \
    dyn-clone                       1.0.17  0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125 \
    either                           1.8.0  90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797 \
    encode_unicode                   0.3.6  a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f \
    env_logger                       0.9.3  a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7 \
    fastrand                         1.8.0  a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499 \
    filetime                        0.2.25  35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586 \
    flate2                          1.0.24  f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6 \
    format-bytes                     0.3.0  48942366ef93975da38e175ac9e10068c6fc08ca9e85930d4f098f4d5b14c2fd \
    format-bytes-macros              0.4.0  203aadebefcc73d12038296c228eabf830f99cba991b0032adf20e9fa6ce7e4f \
    funty                            2.0.0  e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c \
    generic-array                   0.14.6  bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9 \
    getrandom                       0.1.16  8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce \
    getrandom                        0.2.8  c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31 \
    hashbrown                       0.12.3  8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888 \
    hashbrown                       0.13.1  33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038 \
    heck                             0.4.0  2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9 \
    hermit-abi                      0.1.19  62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33 \
    hex                              0.4.3  7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 \
    home                             0.5.4  747309b4b440c06d57b0b25f2aee03ee9b5e5397d288c60e21fc709bb98a7408 \
    humantime                        2.1.0  9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4 \
    iana-time-zone                  0.1.53  64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765 \
    iana-time-zone-haiku             0.1.1  0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca \
    im-rc                           15.1.0  af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe \
    indexmap                         1.9.2  1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399 \
    indicatif                       0.17.8  763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3 \
    instant                         0.1.12  7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c \
    itertools                       0.10.5  b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473 \
    jobserver                       0.1.25  068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b \
    js-sys                          0.3.60  49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47 \
    lazy_static                      1.4.0  e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 \
    libc                           0.2.155  97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c \
    libm                             0.2.6  348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb \
    libredox                         0.1.3  c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d \
    libz-sys                         1.1.8  9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf \
    link-cplusplus                   1.0.7  9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369 \
    log                             0.4.17  abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e \
    logging_timer                    1.1.0  64e96f261d684b7089aa576bb74e823241dccd994b27d30fabf1dcb3af284fe9 \
    logging_timer_proc_macros        1.1.0  10a9062912d7952c5588cc474795e0b9ee008e7e6781127945b85413d4b99d81 \
    memchr                           2.5.0  2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d \
    memmap2                          0.5.8  4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc \
    memoffset                        0.6.5  5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce \
    miniz_oxide                      0.5.4  96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34 \
    nix                             0.29.0  71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46 \
    nom8                             0.2.0  ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8 \
    num-traits                      0.2.15  578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd \
    num_cpus                        1.14.0  f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5 \
    number_prefix                    0.4.0  830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3 \
    once_cell                       1.16.0  86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860 \
    opaque-debug                     0.3.0  624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5 \
    option-ext                       0.2.0  04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d \
    os_str_bytes                     6.4.0  7b5bf27447411e9ee3ff51186bf7a08e16c341efdde93f4d823e8844429bed7e \
    output_vt100                     0.1.3  628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66 \
    paste                            1.0.9  b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1 \
    pkg-config                      0.3.26  6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160 \
    portable-atomic                  1.9.0  cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2 \
    ppv-lite86                      0.2.17  5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de \
    pretty_assertions                1.3.0  a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755 \
    proc-macro-error                 1.0.4  da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c \
    proc-macro-error-attr            1.0.4  a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869 \
    proc-macro2                     1.0.47  5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725 \
    python3-sys                      0.7.2  0f53ef6740367a09718d2cd21ba15b0d7972342a38e554736bcee7773e45c9f5 \
    quote                           1.0.21  bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179 \
    radium                           0.7.0  dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 \
    rand                             0.7.3  6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03 \
    rand                             0.8.5  34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 \
    rand_chacha                      0.2.2  f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402 \
    rand_chacha                      0.3.1  e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 \
    rand_core                        0.5.1  90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19 \
    rand_core                        0.6.4  ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c \
    rand_distr                       0.4.3  32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31 \
    rand_hc                          0.2.0  ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c \
    rand_pcg                         0.3.1  59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e \
    rand_xoshiro                     0.6.0  6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa \
    rayon                            1.7.0  1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b \
    rayon-core                      1.11.0  4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d \
    redox_syscall                   0.2.16  fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a \
    redox_syscall                    0.5.3  2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4 \
    redox_users                      0.4.5  bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891 \
    regex                            1.7.0  e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a \
    regex-automata                   0.3.9  59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9 \
    regex-syntax                    0.6.28  456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848 \
    remove_dir_all                   0.5.3  3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7 \
    rustc_version                    0.4.0  bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366 \
    same-file                        1.0.6  93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 \
    scopeguard                       1.1.0  d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd \
    scratch                          1.0.2  9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898 \
    self_cell                        1.0.0  4a3926e239738d36060909ffe6f511502f92149a45a1fade7fe031cb2d33e88b \
    semver                          1.0.14  e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4 \
    serde                          1.0.152  bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb \
    serde_derive                   1.0.152  af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e \
    serde_spanned                    0.6.1  0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4 \
    sha-1                            0.9.8  99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6 \
    sha-1                           0.10.0  028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f \
    shellexpand                      3.1.0  da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b \
    sized-chunks                     0.6.5  16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e \
    stable_deref_trait               1.2.0  a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 \
    static_assertions                1.1.0  a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f \
    strsim                          0.10.0  73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623 \
    syn                            1.0.109  72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 \
    tap                              1.0.1  55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 \
    tempfile                         3.3.0  5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4 \
    termcolor                        1.1.3  bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755 \
    thiserror                       1.0.39  a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c \
    thiserror-impl                  1.0.39  5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e \
    thread_local                     1.1.4  5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180 \
    toml                             0.6.0  4fb9d890e4dc9298b70f740f615f2e05b9db37dce531f6b24fb77ac993f9f217 \
    toml_datetime                    0.5.1  4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5 \
    toml_edit                       0.18.1  56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b \
    twox-hash                        1.6.3  97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675 \
    typenum                         1.15.0  dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987 \
    unicode-ident                    1.0.5  6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3 \
    unicode-width                   0.1.10  c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b \
    uuid                            1.11.0  f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a \
    vcpkg                           0.2.15  accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426 \
    vcsgraph                         0.2.0  4cb68c231e2575f7503a7c19213875f9d4ec2e84e963a56ce3de4b6bee351ef7 \
    version_check                    0.9.4  49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f \
    wasi                          0.9.0+wasi-snapshot-preview1  cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519 \
    wasi                          0.11.0+wasi-snapshot-preview1  9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 \
    wasm-bindgen                    0.2.83  eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268 \
    wasm-bindgen-backend            0.2.83  4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142 \
    wasm-bindgen-macro              0.2.83  052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810 \
    wasm-bindgen-macro-support      0.2.83  07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c \
    wasm-bindgen-shared             0.2.83  1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f \
    web-sys                         0.3.60  bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f \
    which                            4.3.0  1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b \
    whoami                           1.4.0  2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68 \
    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 \
    windows-sys                     0.48.0  677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 \
    windows-sys                     0.52.0  282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d \
    windows-sys                     0.59.0  1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b \
    windows-targets                 0.48.5  9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c \
    windows-targets                 0.52.6  9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 \
    windows_aarch64_gnullvm         0.48.5  2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 \
    windows_aarch64_gnullvm         0.52.6  32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 \
    windows_aarch64_msvc            0.48.5  dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc \
    windows_aarch64_msvc            0.52.6  09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 \
    windows_i686_gnu                0.48.5  a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e \
    windows_i686_gnu                0.52.6  8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b \
    windows_i686_gnullvm            0.52.6  0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 \
    windows_i686_msvc               0.48.5  8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 \
    windows_i686_msvc               0.52.6  240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 \
    windows_x86_64_gnu              0.48.5  53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e \
    windows_x86_64_gnu              0.52.6  147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 \
    windows_x86_64_gnullvm          0.48.5  0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc \
    windows_x86_64_gnullvm          0.52.6  24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d \
    windows_x86_64_msvc             0.48.5  ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 \
    windows_x86_64_msvc             0.52.6  589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec \
    wyz                              0.5.1  05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed \
    yansi                            0.5.1  09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec \
    zstd                          0.12.3+zstd.1.5.2  76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806 \
    zstd-safe                     6.0.4+zstd.1.5.4  7afb4b54b8910cf5447638cb54bf4e8a65cbedd783af98b98c62ffe91f185543 \
    zstd-sys                      2.0.7+zstd.1.5.4  94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5
}

# suppress release candidates
livecheck.regex \
    ${name}-(\\d+(?:\\.\\d+)*)[string map {. \\.} ${extract.suffix}]