diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/admin/pgadmin/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/admin/pgadmin/default.nix | 57 |
1 files changed, 56 insertions, 1 deletions
diff --git a/nixpkgs/pkgs/tools/admin/pgadmin/default.nix b/nixpkgs/pkgs/tools/admin/pgadmin/default.nix index beecd6412bcf..117f02a593ba 100644 --- a/nixpkgs/pkgs/tools/admin/pgadmin/default.nix +++ b/nixpkgs/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; |