Merge pull request #269432 from gador/pgadmin-8.0

pgadmin4: 7.7 -> 8.1
This commit is contained in:
Weijia Wang
2023-12-18 07:19:36 +01:00
committed by GitHub
2 changed files with 2799 additions and 1451 deletions
+4 -68
View File
@@ -9,79 +9,24 @@
, yarn
, prefetch-yarn-deps
, nodejs
, fetchpatch
, server-mode ? true
}:
let
pname = "pgadmin";
version = "7.7";
yarnHash = "sha256-8EbbyZHodrYz4a2IYuIWYGutqvrjauSv34o9KFvR/6c=";
version = "8.1";
yarnHash = "sha256-KAiY5TX2O8mxP7PjIJstYEzCBbqDgT+CpEhreuAGW/U=";
src = fetchFromGitHub {
owner = "pgadmin-org";
repo = "pgadmin4";
rev = "REL-${lib.versions.major version}_${lib.versions.minor version}";
hash = "sha256-+KD05hzghNFpuw2xW3NUVyKwspCUO9fyJgMPzYk1Xt8=";
hash = "sha256-zzS/fydNOXpIWdyLtWQhY+hVpneca+3wD88DmZEkS8s=";
};
# 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 {
# 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
'';
});
});
pythonPackages = python3.pkgs.overrideScope (final: prev: rec { });
offlineCache = fetchYarnDeps {
yarnLock = ./yarn.lock;
@@ -114,17 +59,8 @@ pythonPackages.buildPythonApplication rec {
# fix document which refers a non-existing document and fails
substituteInPlace docs/en_US/contributions.rst \
--replace "code_snippets" ""
patchShebangs .
# relax dependencies
sed 's|==|>=|g' -i requirements.txt
#TODO: Can be removed once boto3>=1.28.0 and cryptography>=41 has been merged to master
substituteInPlace requirements.txt \
--replace "boto3>=1.28.*" "boto3>=1.26.*"
substituteInPlace requirements.txt \
--replace "botocore>=1.31.*" "botocore>=1.29.*"
substituteInPlace requirements.txt \
--replace "cryptography>=41.0.*" "cryptography>=40.0.*"
# fix extra_require error with "*" in match
sed 's|*|0|g' -i requirements.txt
substituteInPlace pkg/pip/setup_pip.py \
File diff suppressed because it is too large Load Diff