Merge pull request #173090 from dotlambda/odoo-packageOverrides
odoo: use packageOverrides
This commit is contained in:
commit
4e2d2e8e21
3 changed files with 68 additions and 83 deletions
|
@ -2,19 +2,74 @@
|
||||||
, lib
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, python3
|
, python3
|
||||||
, python3Packages
|
|
||||||
, nodePackages
|
, nodePackages
|
||||||
, wkhtmltopdf
|
, wkhtmltopdf
|
||||||
, callPackage
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with python3Packages;
|
|
||||||
|
|
||||||
let
|
let
|
||||||
werkzeug = python3Packages.callPackage ../../../development/python-modules/werkzeug/1.nix {};
|
python = python3.override {
|
||||||
in
|
packageOverrides = self: super: {
|
||||||
|
click = super.click.overridePythonAttrs (old: rec {
|
||||||
buildPythonApplication rec {
|
version = "7.1.2";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
flask = super.flask.overridePythonAttrs (old: rec {
|
||||||
|
version = "1.1.4";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec {
|
||||||
|
version = "1.1.0";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
jinja2 = super.jinja2.overridePythonAttrs (old: rec {
|
||||||
|
version = "2.11.3";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
markupsafe = super.markupsafe.overridePythonAttrs (old: rec {
|
||||||
|
version = "2.0.1";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
|
||||||
|
version = "1.0.1";
|
||||||
|
src = old.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
|
||||||
|
};
|
||||||
|
checkInputs = old.checkInputs ++ (with self; [
|
||||||
|
requests
|
||||||
|
]);
|
||||||
|
disabledTests = old.disabledTests ++ [
|
||||||
|
# ResourceWarning: unclosed file
|
||||||
|
"test_basic"
|
||||||
|
"test_date_to_unix"
|
||||||
|
"test_easteregg"
|
||||||
|
"test_file_rfc2231_filename_continuations"
|
||||||
|
"test_find_terminator"
|
||||||
|
"test_save_to_pathlib_dst"
|
||||||
|
];
|
||||||
|
disabledTestPaths = old.disabledTestPaths ++ [
|
||||||
|
# ResourceWarning: unclosed file
|
||||||
|
"tests/test_http.py"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in python.pkgs.buildPythonApplication rec {
|
||||||
pname = "odoo";
|
pname = "odoo";
|
||||||
|
|
||||||
major = "15";
|
major = "15";
|
||||||
|
@ -23,6 +78,8 @@ buildPythonApplication rec {
|
||||||
|
|
||||||
version = "${major}.${minor}.${patch}";
|
version = "${major}.${minor}.${patch}";
|
||||||
|
|
||||||
|
format = "setuptools";
|
||||||
|
|
||||||
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
|
# latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
|
url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
|
||||||
|
@ -30,23 +87,12 @@ buildPythonApplication rec {
|
||||||
hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
|
hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
setuptools
|
|
||||||
wheel
|
|
||||||
mock
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
wkhtmltopdf
|
|
||||||
nodePackages.rtlcss
|
|
||||||
];
|
|
||||||
|
|
||||||
# needs some investigation
|
# needs some investigation
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
|
makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = with python.pkgs; [
|
||||||
Babel
|
Babel
|
||||||
chardet
|
chardet
|
||||||
decorator
|
decorator
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
, pythonOlder
|
, pythonOlder
|
||||||
, pytz
|
, pytz
|
||||||
, six
|
, six
|
||||||
|
, werkzeug
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
|
@ -25,7 +26,7 @@ buildPythonPackage rec {
|
||||||
hash = "sha256-zOxlC4NdSBkhOMhTKa4Dc15s7VjpstnCFG1shMBvpT4=";
|
hash = "sha256-zOxlC4NdSBkhOMhTKa4Dc15s7VjpstnCFG1shMBvpT4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = lib.optionals (lib.versionAtLeast werkzeug.version "2.1.0") [
|
||||||
./werkzeug-2.1.0-compat.patch
|
./werkzeug-2.1.0-compat.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,62 +0,0 @@
|
||||||
{ lib, stdenv, buildPythonPackage, fetchPypi
|
|
||||||
, itsdangerous, hypothesis
|
|
||||||
, pytestCheckHook, requests
|
|
||||||
, pytest-timeout
|
|
||||||
, isPy3k
|
|
||||||
}:
|
|
||||||
|
|
||||||
buildPythonPackage rec {
|
|
||||||
pname = "Werkzeug";
|
|
||||||
version = "1.0.1";
|
|
||||||
|
|
||||||
src = fetchPypi {
|
|
||||||
inherit pname version;
|
|
||||||
sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ itsdangerous ];
|
|
||||||
checkInputs = [ pytestCheckHook requests hypothesis pytest-timeout ];
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
# ResourceWarning causes tests to fail
|
|
||||||
rm tests/test_routing.py
|
|
||||||
'';
|
|
||||||
|
|
||||||
disabledTests = [
|
|
||||||
"test_save_to_pathlib_dst"
|
|
||||||
"test_cookie_maxsize"
|
|
||||||
"test_cookie_samesite_attribute"
|
|
||||||
"test_cookie_samesite_invalid"
|
|
||||||
"test_range_parsing"
|
|
||||||
"test_content_range_parsing"
|
|
||||||
"test_http_date_lt_1000"
|
|
||||||
"test_best_match_works"
|
|
||||||
"test_date_to_unix"
|
|
||||||
"test_easteregg"
|
|
||||||
|
|
||||||
# Seems to be a problematic test-case:
|
|
||||||
#
|
|
||||||
# > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
|
|
||||||
# E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
|
|
||||||
# E
|
|
||||||
# E Traceback (most recent call last):
|
|
||||||
# E File "/nix/store/cwv8aj4vsqvimzljw5dxsxy663vjgibj-python3.9-Werkzeug-1.0.1/lib/python3.9/site-packages/werkzeug/formparser.py", line 318, in parse_multipart_headers
|
|
||||||
# E return Headers(result)
|
|
||||||
# E ResourceWarning: unclosed file <_io.FileIO name=11 mode='rb+' closefd=True>
|
|
||||||
"test_basic_routing"
|
|
||||||
"test_merge_slashes_match"
|
|
||||||
"test_merge_slashes_build"
|
|
||||||
"TestMultiPart"
|
|
||||||
"TestHTTPUtility"
|
|
||||||
] ++ lib.optionals stdenv.isDarwin [
|
|
||||||
"test_get_machine_id"
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
homepage = "https://palletsprojects.com/p/werkzeug/";
|
|
||||||
description = "A WSGI utility library for Python";
|
|
||||||
license = licenses.bsd3;
|
|
||||||
maintainers = [ ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue