diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix index ebaf6532df523..88d303079f2a0 100644 --- a/pkgs/tools/filesystems/ceph/default.nix +++ b/pkgs/tools/filesystems/ceph/default.nix @@ -169,7 +169,28 @@ let # Watch out for python <> boost compatibility python = python310.override { - packageOverrides = self: super: let cryptographyOverrideVersion = "40.0.1"; in { + packageOverrides = self: super: let + cryptographyOverrideVersion = "40.0.1"; + bcryptOverrideVersion = "4.0.1"; + in { + # Ceph does not support `bcrypt` > 4.0 yet: + # * Upstream issue: https://tracker.ceph.com/issues/63529 + # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 + bcrypt = super.bcrypt.overridePythonAttrs (old: rec { + pname = "bcrypt"; + version = bcryptOverrideVersion; + src = fetchPypi { + inherit pname version; + hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; + }; + cargoRoot = "src/_bcrypt"; + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "${pname}-${version}/${cargoRoot}"; + name = "${pname}-${version}"; + hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; + }; + }); # Ceph does not support `cryptography` > 40 yet: # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 # * Upstream issue: https://tracker.ceph.com/issues/63529