From 6284603ca6c904a3b521a88e5180ae1c2eee0243 Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Tue, 5 Mar 2024 20:17:47 +0100 Subject: [PATCH] sourcehut: add override for python3 flask dependency flask was recently updated to it's latest version 3.0.1, which in turn breaks the override for flask-sqlalchemy 2.5.1, as this requires flask 2.x. At the end, this then breaks (building) sourcehut. Fixes: a24d9a6a54fb ("python311Packages.flask: 2.3.3 -> 3.0.1") Signed-off-by: Christoph Heiss --- .../version-management/sourcehut/default.nix | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix index b951a34e8916..4a1311d578be 100644 --- a/pkgs/applications/version-management/sourcehut/default.nix +++ b/pkgs/applications/version-management/sourcehut/default.nix @@ -31,6 +31,7 @@ let # sourcehut is not (yet) compatible with SQLAlchemy 2.x sqlalchemy = super.sqlalchemy_1_4; + # sourcehut is not (yet) compatible with flask-sqlalchemy 3.x flask-sqlalchemy = super.flask-sqlalchemy.overridePythonAttrs (oldAttrs: rec { version = "2.5.1"; format = "setuptools"; @@ -45,6 +46,26 @@ let ]; }); + # flask-sqlalchemy 2.x requires flask 2.x + flask = super.flask.overridePythonAttrs (oldAttrs: rec { + version = "2.3.3"; + src = fetchPypi { + inherit (oldAttrs) pname; + inherit version; + hash = "sha256-CcNHqSqn/0qOfzIGeV8w2CZlS684uHPQdEzVccpgnvw="; + }; + }); + + # flask 2.x requires werkzeug 2.x + werkzeug = super.werkzeug.overridePythonAttrs (oldAttrs: rec { + version = "2.3.8"; + src = fetchPypi { + inherit (oldAttrs) pname; + inherit version; + hash = "sha256-VUslfHS763oNJUFgpPj/4YUkP1KlIDUGC3Ycpi2XfwM="; + }; + }); + # sourcehut is not (yet) compatible with factory-boy 3.x factory-boy = super.factory-boy.overridePythonAttrs (oldAttrs: rec { version = "2.12.0"; @@ -55,11 +76,11 @@ let }; nativeCheckInputs = (with super; [ django - flask mongoengine pytestCheckHook ]) ++ (with self; [ sqlalchemy + flask flask-sqlalchemy ]); postPatch = "";