diff options
author | Martin Weinelt <mweinelt@users.noreply.github.com> | 2023-10-30 12:49:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-30 12:49:40 +0100 |
commit | 3e93e2445ab48d167d27cf0d45f684cb0a389810 (patch) | |
tree | 51835e08a29f11472ff3e022eb9f6e066d4371ce | |
parent | 4651ac9bcdf343e70708b9245db0b14189ecbd68 (diff) | |
parent | b553f3a109eac0b79c34dac04637a4d944c9be2d (diff) | |
download | nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar.gz nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar.bz2 nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar.lz nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar.xz nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.tar.zst nixpkgs-3e93e2445ab48d167d27cf0d45f684cb0a389810.zip |
Merge pull request #262702 from gador/pgadmin7.7-fix-build-flask
Pgadmin4: fix build. Also fix flask-security-too
-rw-r--r-- | pkgs/development/python-modules/flask-security-too/default.nix | 35 | ||||
-rw-r--r-- | pkgs/tools/admin/pgadmin/default.nix | 57 |
2 files changed, 76 insertions, 16 deletions
diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix index 529a1a63913..81abf369a8a 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 beecd6412bc..117f02a593b 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; |