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

name                py-bcrypt
version             5.0.0
revision            0
categories-append   devel
license             Apache-2

python.versions     27 39 310 311 312 313 314

maintainers         {stromnov @stromnov} openmaintainer

description         Modern password hashing for your software and your servers
long_description    {*}${description}

homepage            https://github.com/pyca/bcrypt/

checksums           ${distname}${extract.suffix} \
                    rmd160  835cf44f779308023781405b5866457af8db91c3 \
                    sha256  f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd \
                    size    25386

if {${name} ne ${subport}} {

    if {${python.version} == 27} {
        version             3.1.7
        revision            0
        distname            ${python.rootname}-${version}
        checksums           rmd160  af0842db4fab9714b313a29310be5a56e6e1356d \
                            sha256  0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 \
                            size    42512
        python.pep517       no
        depends_build-append \
                            port:py${python.version}-setuptools
        depends_lib-append  port:py${python.version}-cffi \
                            port:py${python.version}-six
    } elseif {${configure.build_arch} in [list ppc ppc64] || (${os.platform} eq "darwin" && ${os.major} < 9)} {
        version             3.2.2
        revision            0
        checksums           rmd160  3546659be12b634314e21e4a6b0b4c580efbd314 \
                            sha256  433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb \
                            size    42455
        depends_lib-append  port:py${python.version}-cffi
    } else {
        PortGroup           cargo_fetch 1.0
        depends_build-append \
                            port:py${python.version}-setuptools-rust

        # cd ${worksrcpath}/src/_bcrypt
        # egrep -e '^(name|version|checksum) = ' Cargo.lock | perl -pe 's/^(?:name|version|checksum) = "(.+)"/$1/' | tr '\n' ' ' | perl -pe 's|([0-9a-f]{64})|\1 \\\n|g' | pbcopy
        cargo.crates \
            autocfg                          1.5.0  c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8 \
            base64                          0.22.1  72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 \
            bcrypt                          0.17.1  abaf6da45c74385272ddf00e1ac074c7d8a6c1a1dda376902bd6a427522a8b2c \
            bcrypt-pbkdf                    0.10.0  6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2 \
            block-buffer                    0.10.4  3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 \
            blowfish                         0.9.1  e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7 \
            byteorder                        1.5.0  1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b \
            cfg-if                           1.0.3  2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9 \
            cipher                           0.4.4  773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad \
            cpufeatures                     0.2.17  59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280 \
            crypto-common                    0.1.6  1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 \
            digest                          0.10.7  9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 \
            generic-array                   0.14.7  85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a \
            getrandom                        0.3.3  26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4 \
            heck                             0.5.0  2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea \
            indoc                            2.0.6  f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd \
            inout                            0.1.4  879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01 \
            libc                           0.2.176  58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174 \
            memoffset                        0.9.1  488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a \
            once_cell                       1.21.3  42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d \
            pbkdf2                          0.12.2  f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2 \
            portable-atomic                 1.11.1  f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483 \
            proc-macro2                    1.0.101  89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de \
            pyo3                            0.26.0  7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383 \
            pyo3-build-config               0.26.0  4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f \
            pyo3-ffi                        0.26.0  025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105 \
            pyo3-macros                     0.26.0  2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded \
            pyo3-macros-backend             0.26.0  100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf \
            quote                           1.0.40  1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d \
            r-efi                            5.3.0  69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f \
            sha2                            0.10.9  a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283 \
            subtle                           2.6.1  13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 \
            syn                            2.0.106  ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6 \
            target-lexicon                  0.13.3  df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c \
            typenum                         1.18.0  1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f \
            unicode-ident                   1.0.19  f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d \
            unindent                         0.2.4  7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3 \
            version_check                    0.9.5  0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a \
            wasi                          0.14.7+wasi-0.2.4  883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c \
            wasip2                        1.0.1+wasi-0.2.4  0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7 \
            wit-bindgen                     0.46.0  f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59 \
            zeroize                          1.8.1  ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde

        test.run            yes
    }

    livecheck.type      none
}
