From 7d3e7f48903918cc8b1f102e3a2602114fba357e Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 12 Oct 2022 12:15:10 +0200 Subject: [PATCH] python3Packages.bcrypt: Revert to 3.2.2 on i686-linux The latest bcrypt version segfaults during test_kdf, which prevents the package from building. The package is in the critical chain for many NixOS tests, which currently won't complete on i686-linux. Upstream-Issue: https://github.com/pyca/bcrypt/issues/407 --- pkgs/development/python-modules/bcrypt/3.nix | 51 ++++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 +- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/python-modules/bcrypt/3.nix diff --git a/pkgs/development/python-modules/bcrypt/3.nix b/pkgs/development/python-modules/bcrypt/3.nix new file mode 100644 index 000000000000..2f242faac86d --- /dev/null +++ b/pkgs/development/python-modules/bcrypt/3.nix @@ -0,0 +1,51 @@ +{ lib +, buildPythonPackage +, setuptools +, isPyPy +, fetchPypi +, pythonOlder +, cffi +, pytestCheckHook +, six +}: + +buildPythonPackage rec { + pname = "bcrypt"; + version = "3.2.2"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-QzxBDCF3BXcF2iqfLNAd0VdJOyp6wUyFk6FrPatra/s="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + six + cffi + ]; + + propagatedNativeBuildInputs = [ + cffi + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "bcrypt" + ]; + + meta = with lib; { + description = "Modern password hashing for your software and your servers"; + homepage = "https://github.com/pyca/bcrypt/"; + license = licenses.asl20; + maintainers = with maintainers; [ domenkozar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 077d3fda6796..47928f1cc222 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1285,7 +1285,10 @@ in { bcdoc = callPackage ../development/python-modules/bcdoc { }; - bcrypt = callPackage ../development/python-modules/bcrypt { }; + bcrypt = if stdenv.hostPlatform.system == "i686-linux" then + callPackage ../development/python-modules/bcrypt/3.nix { } + else + callPackage ../development/python-modules/bcrypt { }; beaker = callPackage ../development/python-modules/beaker { };