# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= python-bcrypt VERSION= 4.2.1 KEYWORDS= python rust VARIANTS= v13 v12 SDESC[v12]= Modern password hashing based on blowfish (3.12) SDESC[v13]= Modern password hashing based on blowfish (3.13) HOMEPAGE= https://github.com/pyca/bcrypt/ CONTACT= Python_Automaton[python@ironwolf.systems] DOWNLOAD_GROUPS= main cr01 cr02 cr03 cr04 cr05 cr06 cr07 cr08 cr09 cr10 cr11 cr12 cr13 cr14 cr15 cr16 cr17 cr18 cr19 cr20 cr21 cr22 cr23 cr24 cr25 cr26 cr27 cr28 cr29 cr30 cr31 cr32 cr33 cr34 cr35 cr36 cr37 cr38 cr39 SITES[main]= PYPI/b/bcrypt SITES[cr01]= CRATES/autocfg:1.4.0 SITES[cr02]= CRATES/base64:0.22.1 SITES[cr03]= CRATES/bcrypt:0.16.0 SITES[cr04]= CRATES/bcrypt-pbkdf:0.10.0 SITES[cr05]= CRATES/block-buffer:0.10.4 SITES[cr06]= CRATES/blowfish:0.9.1 SITES[cr07]= CRATES/byteorder:1.5.0 SITES[cr08]= CRATES/cfg-if:1.0.0 SITES[cr09]= CRATES/cipher:0.4.4 SITES[cr10]= CRATES/cpufeatures:0.2.15 SITES[cr11]= CRATES/crypto-common:0.1.6 SITES[cr12]= CRATES/digest:0.10.7 SITES[cr13]= CRATES/generic-array:0.14.7 SITES[cr14]= CRATES/getrandom:0.2.15 SITES[cr15]= CRATES/heck:0.5.0 SITES[cr16]= CRATES/indoc:2.0.5 SITES[cr17]= CRATES/inout:0.1.3 SITES[cr18]= CRATES/libc:0.2.164 SITES[cr19]= CRATES/memoffset:0.9.1 SITES[cr20]= CRATES/once_cell:1.20.2 SITES[cr21]= CRATES/pbkdf2:0.12.2 SITES[cr22]= CRATES/portable-atomic:1.9.0 SITES[cr23]= CRATES/proc-macro2:1.0.89 SITES[cr24]= CRATES/pyo3:0.23.1 SITES[cr25]= CRATES/pyo3-build-config:0.23.1 SITES[cr26]= CRATES/pyo3-ffi:0.23.1 SITES[cr27]= CRATES/pyo3-macros:0.23.1 SITES[cr28]= CRATES/pyo3-macros-backend:0.23.1 SITES[cr29]= CRATES/quote:1.0.37 SITES[cr30]= CRATES/sha2:0.10.8 SITES[cr31]= CRATES/subtle:2.6.1 SITES[cr32]= CRATES/syn:2.0.87 SITES[cr33]= CRATES/target-lexicon:0.12.16 SITES[cr34]= CRATES/typenum:1.17.0 SITES[cr35]= CRATES/unicode-ident:1.0.13 SITES[cr36]= CRATES/unindent:0.2.3 SITES[cr37]= CRATES/version_check:0.9.5 SITES[cr38]= CRATES/wasi:0.11.0+wasi-snapshot-preview1 SITES[cr39]= CRATES/zeroize:1.8.1 DISTFILE[1]= bcrypt-4.2.1.tar.gz:main DISTFILE[2]= generated:cr01 DISTFILE[3]= generated:cr02 DISTFILE[4]= generated:cr03 DISTFILE[5]= generated:cr04 DISTFILE[6]= generated:cr05 DISTFILE[7]= generated:cr06 DISTFILE[8]= generated:cr07 DISTFILE[9]= generated:cr08 DISTFILE[10]= generated:cr09 DISTFILE[11]= generated:cr10 DISTFILE[12]= generated:cr11 DISTFILE[13]= generated:cr12 DISTFILE[14]= generated:cr13 DISTFILE[15]= generated:cr14 DISTFILE[16]= generated:cr15 DISTFILE[17]= generated:cr16 DISTFILE[18]= generated:cr17 DISTFILE[19]= generated:cr18 DISTFILE[20]= generated:cr19 DISTFILE[21]= generated:cr20 DISTFILE[22]= generated:cr21 DISTFILE[23]= generated:cr22 DISTFILE[24]= generated:cr23 DISTFILE[25]= generated:cr24 DISTFILE[26]= generated:cr25 DISTFILE[27]= generated:cr26 DISTFILE[28]= generated:cr27 DISTFILE[29]= generated:cr28 DISTFILE[30]= generated:cr29 DISTFILE[31]= generated:cr30 DISTFILE[32]= generated:cr31 DISTFILE[33]= generated:cr32 DISTFILE[34]= generated:cr33 DISTFILE[35]= generated:cr34 DISTFILE[36]= generated:cr35 DISTFILE[37]= generated:cr36 DISTFILE[38]= generated:cr37 DISTFILE[39]= generated:cr38 DISTFILE[40]= generated:cr39 DIST_SUBDIR= rust/crates DF_INDEX= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 SPKGS[v12]= single SPKGS[v13]= single OPTIONS_AVAILABLE= PY313 PY312 OPTIONS_STANDARD= none VOPTS[v12]= PY313=OFF PY312=ON VOPTS[v13]= PY313=ON PY312=OFF USES= cargo cclibs:single DISTNAME= bcrypt-4.2.1 CARGO_CARGOLOCK= {{WRKSRC}}/src/_bcrypt/Cargo.lock CARGO_CARGOTOML= {{WRKSRC}}/src/_bcrypt/Cargo.toml GENERATED= yes CARGO_SKIP_CONFIGURE= yes CARGO_SKIP_BUILD= yes CARGO_SKIP_INSTALL= yes [PY312].BUILD_DEPENDS_ON= python-setuptools-rust:single:v12 [PY312].USES_ON= python:v12,sutools [PY313].BUILD_DEPENDS_ON= python-setuptools-rust:single:v13 [PY313].USES_ON= python:v13,sutools post-patch: ${MKDIR} ${WRKSRC}/.cargo echo "[source.cargo]" >> ${WRKSRC}/.cargo/config.toml echo "directory = '${CARGO_VENDOR_DIR}'" >> ${WRKSRC}/.cargo/config.toml echo "[source.crates-io]" >> ${WRKSRC}/.cargo/config.toml echo "replace-with = 'cargo'" >> ${WRKSRC}/.cargo/config.toml post-extract: ${CP} ${FILESDIR}/setup.py ${WRKSRC}/setup.py [FILE:2683:descriptions/desc.single] bcrypt ====== :alt: Latest Version Acceptable password hashing for your software and your servers Installation ============ To install bcrypt, simply: .. code:: bash $ pip install bcrypt Note that bcrypt should build very easily on Linux provided you have a C compiler and a Rust compiler (the minimum supported Rust version is 1.56.0). For Debian and Ubuntu, the following command will ensure that the required dependencies are installed: .. code:: bash $ sudo apt-get install build-essential cargo For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed: .. code:: bash $ sudo yum install gcc cargo For Alpine, the following command will ensure that the required dependencies are installed: .. code:: bash $ apk add --update musl-dev gcc cargo Alternatives ============ While bcrypt remains an acceptable choice for password storage, depending on your specific use case you may also want to consider using scrypt (either via `standard library`_ or `cryptography`_) or argon2id via `argon2_cffi`_. Changelog ========= 4.0.0 ----- * bcrypt is now implemented in Rust. Users building from source will need to have a Rust compiler available. Nothing will change for users downloading wheels. * We no longer ship manylinux2010 wheels. Users should upgrade to the latest pip to ensure this doesn’t cause issues downloading wheels on their platform. We now ship manylinux_2_28 wheels for users on new enough platforms. * NUL bytes are now allowed in inputs. 3.2.2 ----- * Fixed packaging of ``py.typed files in wheels so that mypy`` works. 3.2.1 ----- * Added support for compilation on z/OS * The next release of bcrypt with be 4.0 and it will require Rust at compile time, for users building from source. There will be no additional requirement for users who are installing from wheels. Users on most platforms will be able to obtain a wheel by making sure they have an up to date pip. The minimum supported Rust version will be 1.56.0. * This will be the final release for which we ship manylinux2010 wheels. Going forward the minimum supported manylinux ABI for our wheels will be manylinux2014. The vast majority of users will continue to receive manylinux wheels provided they have an up to date pip. 3.2.0 ----- * Added typehints for library functions. * Dropped support for Python versions less than 3.6 (2.7, 3.4, 3.5). * Shipped abi3 Windows wheels (requires pip >= 20). 3.1.7 ----- * Set a setuptools lower bound for PEP517 wheel building. * We no longer distribute 32-bit manylinux1 wheels. Continuing to produce them was a maintenance burden. [FILE:4550:distinfo] 6765386e3ab87f569b276988742039baab087b2cdb01e809d74e74503c2faafe 24427 rust/crates/bcrypt-4.2.1.tar.gz ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 17712 rust/crates/autocfg-1.4.0.tar.gz 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 81597 rust/crates/base64-0.22.1.tar.gz 2b1866ecef4f2d06a0bb77880015fdf2b89e25a1c2e5addacb87e459c86dc67e 12497 rust/crates/bcrypt-0.16.0.tar.gz 6aeac2e1fe888769f34f05ac343bbef98b14d1ffb292ab69d4608b3abc86f2a2 11032 rust/crates/bcrypt-pbkdf-0.10.0.tar.gz 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 10538 rust/crates/block-buffer-0.10.4.tar.gz e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7 16734 rust/crates/blowfish-0.9.1.tar.gz 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b 23288 rust/crates/byteorder-1.5.0.tar.gz baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd 7934 rust/crates/cfg-if-1.0.0.tar.gz 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad 19073 rust/crates/cipher-0.4.4.tar.gz 0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6 13196 rust/crates/cpufeatures-0.2.15.tar.gz 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 8760 rust/crates/crypto-common-0.1.6.tar.gz 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 19557 rust/crates/digest-0.10.7.tar.gz 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a 15950 rust/crates/generic-array-0.14.7.tar.gz c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 37163 rust/crates/getrandom-0.2.15.tar.gz 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea 11517 rust/crates/heck-0.5.0.tar.gz b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5 14396 rust/crates/indoc-2.0.5.tar.gz a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5 10743 rust/crates/inout-0.1.3.tar.gz 433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f 769055 rust/crates/libc-0.2.164.tar.gz 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a 9032 rust/crates/memoffset-0.9.1.tar.gz 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775 33394 rust/crates/once_cell-1.20.2.tar.gz f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2 13906 rust/crates/pbkdf2-0.12.2.tar.gz cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2 166365 rust/crates/portable-atomic-1.9.0.tar.gz f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e 49446 rust/crates/proc-macro2-1.0.89.tar.gz 7ebb0c0cc0de9678e53be9ccf8a2ab53045e6e3a8be03393ceccc5e7396ccb40 1072552 rust/crates/pyo3-0.23.1.tar.gz 80e3ce69c4ec34476534b490e412b871ba03a82e35604c3dfb95fcb6bfb60c09 31755 rust/crates/pyo3-build-config-0.23.1.tar.gz 3b09f311c76b36dfd6dd6f7fa6f9f18e7e46a1c937110d283e80b12ba2468a75 73993 rust/crates/pyo3-ffi-0.23.1.tar.gz fd4f74086536d1e1deaff99ec0387481fb3325c82e4e48be0e75ab3d3fcb487a 8064 rust/crates/pyo3-macros-0.23.1.tar.gz 9e77dfeb76b32bbf069144a5ea0a36176ab59c8db9ce28732d0f06f096bbfbc8 70118 rust/crates/pyo3-macros-backend-0.23.1.tar.gz b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af 28558 rust/crates/quote-1.0.37.tar.gz 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8 26357 rust/crates/sha2-0.10.8.tar.gz 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292 14562 rust/crates/subtle-2.6.1.tar.gz 25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d 278076 rust/crates/syn-2.0.87.tar.gz 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1 26488 rust/crates/target-lexicon-0.12.16.tar.gz 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 42849 rust/crates/typenum-1.17.0.tar.gz e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe 43279 rust/crates/unicode-ident-1.0.13.tar.gz c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce 7306 rust/crates/unindent-0.2.3.tar.gz 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a 15554 rust/crates/version_check-0.9.5.tar.gz 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 28131 rust/crates/wasi-0.11.0+wasi-snapshot-preview1.tar.gz ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde 20029 rust/crates/zeroize-1.8.1.tar.gz [FILE:38:files/setup.py] from setuptools import setup setup()