diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix index 529a1a63913a..81abf369a8a4 100644 --- a/pkgs/development/python-modules/flask-security-too/default.nix +++ b/pkgs/development/python-modules/flask-security-too/default.nix @@ -2,6 +2,7 @@ , buildPythonPackage , fetchPypi , pythonOlder +, setuptools # extras: babel , babel @@ -11,7 +12,6 @@ , bcrypt , bleach , flask-mailman -, qrcode # extras: fsqla , flask-sqlalchemy @@ -21,20 +21,21 @@ # extras: mfa , cryptography , phonenumbers +, webauthn +, qrcode # propagates -, blinker , email-validator , flask , flask-login , flask-principal , flask-wtf -, itsdangerous , passlib +, importlib-resources +, wtforms # tests , argon2-cffi -, flask-mongoengine , mongoengine , mongomock , peewee @@ -46,31 +47,30 @@ buildPythonPackage rec { pname = "flask-security-too"; - version = "5.3.0"; - format = "setuptools"; + version = "5.3.2"; + pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { pname = "Flask-Security-Too"; inherit version; - hash = "sha256-n12DCRPqxm8YhFeVrl99BEvdDYNq6rzP662rain3k1Q="; + hash = "sha256-wLUHXfDWSp7zWwTIjTH79AWlkkNzb21tChpLSEWr8+U="; }; - postPatch = '' - # This should be removed after updating to version 5.3.0. - sed -i '/filterwarnings =/a ignore:pkg_resources is deprecated:DeprecationWarning' pytest.ini - ''; + nativeBuildInputs = [ + setuptools + ]; propagatedBuildInputs = [ - blinker email-validator flask flask-login flask-principal flask-wtf - itsdangerous passlib + importlib-resources + wtforms ]; passthru.optional-dependencies = { @@ -82,7 +82,6 @@ buildPythonPackage rec { bcrypt bleach flask-mailman - qrcode ]; fsqla = [ flask-sqlalchemy @@ -92,12 +91,13 @@ buildPythonPackage rec { mfa = [ cryptography phonenumbers + webauthn + qrcode ]; }; nativeCheckInputs = [ argon2-cffi - flask-mongoengine mongoengine mongomock peewee @@ -112,6 +112,11 @@ buildPythonPackage rec { ++ passthru.optional-dependencies.mfa; + disabledTests = [ + # needs /etc/resolv.conf + "test_login_email_whatever" + ]; + pythonImportsCheck = [ "flask_security" ]; diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix index beecd6412bcf..117f02a593ba 100644 --- a/pkgs/tools/admin/pgadmin/default.nix +++ b/pkgs/tools/admin/pgadmin/default.nix @@ -9,6 +9,7 @@ , yarn , fixup_yarn_lock , nodejs +, fetchpatch , server-mode ? true }: @@ -26,7 +27,61 @@ let # keep the scope, as it is used throughout the derivation and tests # this also makes potential future overrides easier - pythonPackages = python3.pkgs.overrideScope (final: prev: rec { }); + pythonPackages = python3.pkgs.overrideScope (final: prev: rec { + # pgadmin 7.8 is incompatible with Flask >= 2.3 + flask = prev.flask.overridePythonAttrs (oldAttrs: rec { + version = "2.2.5"; + src = oldAttrs.src.override { + pname = "Flask"; + inherit version; + hash = "sha256-7e6bCn/yZiG9WowQ/0hK4oc3okENmbC7mmhQx/uXeqA="; + }; + format = "setuptools"; + }); + # downgrade needed for older Flask + httpbin = prev.httpbin.overridePythonAttrs (oldAttrs: rec { + version = "0.7.0"; + src = oldAttrs.src.override { + inherit version; + hash = "sha256-y7N3kMkVdfTxV1f0KtQdn3KesifV7b6J5OwXVIbbjfo="; + }; + format = "setuptools"; + patches = [ + (fetchpatch { + # Replaces BaseResponse class with Response class for Werkezug 2.1.0 compatibility + # https://github.com/postmanlabs/httpbin/pull/674 + url = "https://github.com/postmanlabs/httpbin/commit/5cc81ce87a3c447a127e4a1a707faf9f3b1c9b6b.patch"; + hash = "sha256-SbEWjiqayMFYrbgAPZtSsXqSyCDUz3z127XgcKOcrkE="; + }) + ]; + pytestFlagsArray = [ + "test_httpbin.py" + ]; + propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ final.pythonPackages.brotlipy ]; + }); + # downgrade needed for older httpbin + werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec { + version = "2.2.3"; + format = "setuptools"; + src = oldAttrs.src.override { + pname = "Werkzeug"; + inherit version; + hash = "sha256-LhzMlBfU2jWLnebxdOOsCUOR6h1PvvLWZ4ZdgZ39Cv4="; + }; + }); + # Downgrade needed for older Flask + flask-security-too = prev.flask-security-too.overridePythonAttrs (oldAttrs: rec { + version = "5.1.2"; + src = oldAttrs.src.override { + inherit version; + hash = "sha256-lZzm43m30y+2qjxNddFEeg9HDlQP9afq5VtuR25zaLc="; + }; + postPatch = '' + # This should be removed after updating to version 5.3.0. + sed -i '/filterwarnings =/a ignore:pkg_resources is deprecated:DeprecationWarning' pytest.ini + ''; + }); + }); offlineCache = fetchYarnDeps { yarnLock = ./yarn.lock;