@@ -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 \
|
||||
|
||||
+2795
-1383
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user