Merge pull request #320020 from mweinelt/python-fixes

Python 3.12.4 regression fixes
This commit is contained in:
Martin Weinelt
2024-06-16 01:30:11 +02:00
committed by GitHub
4 changed files with 20 additions and 18 deletions
@@ -2,6 +2,7 @@
lib,
buildPythonPackage,
fetchPypi,
pythonAtLeast,
flake8,
orderedmultidict,
pytestCheckHook,
@@ -35,6 +36,11 @@ buildPythonPackage rec {
pytestCheckHook
];
disabledTests = lib.optionals (pythonAtLeast "3.12") [
# AssertionError: assert '//////path' == '////path'
"test_odd_urls"
];
pythonImportsCheck = [ "furl" ];
meta = with lib; {
@@ -18,14 +18,14 @@
let
pydantic-core = buildPythonPackage rec {
pname = "pydantic-core";
version = "2.16.3";
version = "2.18.4";
pyproject = true;
src = fetchFromGitHub {
owner = "pydantic";
repo = "pydantic-core";
rev = "refs/tags/v${version}";
hash = "sha256-RXytujvx/23Z24TWpvnHdjJ4/dXqjs5uiavUmukaD9A=";
hash = "sha256-wt6HG2jQU09Zxhxhzb49HvNnxahfSk2xvNApVZkqqbw=";
};
patches = [ ./01-remove-benchmark-flags.patch ];
@@ -33,7 +33,7 @@ let
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-wj9u6s/3E3EWfQydkLrwHbJBvm8DwcGCoQQpSw1+q7U=";
hash = "sha256-m0xP4fIFgInkUeAy4HqfTKHEiqmWpYO8CgKzxg+WXiU=";
};
nativeBuildInputs = [
@@ -29,7 +29,7 @@
buildPythonPackage rec {
pname = "pydantic";
version = "2.6.3";
version = "2.7.4";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -38,18 +38,9 @@ buildPythonPackage rec {
owner = "pydantic";
repo = "pydantic";
rev = "refs/tags/v${version}";
hash = "sha256-neTdG/IcXopCmevzFY5/XDlhPHmOb6dhyAnzaobmeG8=";
hash = "sha256-S4FZUnOsKC8J0xyTeXhMmCACCma+VfCSmrE6sYAnpok=";
};
patches = [
(fetchpatch {
# https://github.com/pydantic/pydantic/pull/8678
name = "fix-pytest8-compatibility.patch";
url = "https://github.com/pydantic/pydantic/commit/825a6920e177a3b65836c13c7f37d82b810ce482.patch";
hash = "sha256-Dap5DtDzHw0jS/QUo5CRI9sLDJ719GRyC4ZNDWEdzus=";
})
];
buildInputs = lib.optionals (pythonOlder "3.9") [ libxcrypt ];
build-system = [
@@ -81,10 +72,10 @@ buildPythonPackage rec {
preCheck = ''
export HOME=$(mktemp -d)
substituteInPlace pyproject.toml \
--replace "'--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations'," "" \
--replace "'--benchmark-group-by', 'group'," "" \
--replace "'--benchmark-warmup', 'on'," "" \
--replace "'--benchmark-disable'," ""
--replace-fail "'--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations'," "" \
--replace-fail "'--benchmark-group-by', 'group'," "" \
--replace-fail "'--benchmark-warmup', 'on'," "" \
--replace-fail "'--benchmark-disable'," ""
'';
pytestFlagsArray = [
@@ -1,6 +1,7 @@
{
lib,
buildPythonPackage,
pythonAtLeast,
pythonOlder,
fetchFromGitHub,
isPyPy,
@@ -116,6 +117,10 @@ buildPythonPackage rec {
# Could not fetch remote image: http://localhost:7777/sphinx.png
"test_copy_images"
]
++ lib.optionals (pythonAtLeast "3.12") [
# https://github.com/sphinx-doc/sphinx/issues/12430
"test_autodoc_type_aliases"
]
++ lib.optionals isPyPy [
# PyPy has not __builtins__ which get asserted
# https://doc.pypy.org/en/latest/cpython_differences.html#miscellaneous