From 9af21018cec6a2f29de73b20773acc62e5d9a9df Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Jan 2023 18:44:38 +0100 Subject: [PATCH 1/4] python311Packages.python-engineio: add patch for mocking issue --- .../python-modules/python-engineio/default.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix index 0337029e248e..f1a079d5896e 100644 --- a/pkgs/development/python-modules/python-engineio/default.nix +++ b/pkgs/development/python-modules/python-engineio/default.nix @@ -4,6 +4,7 @@ , buildPythonPackage , eventlet , fetchFromGitHub +, fetchpatch , iana-etc , libredirect , mock @@ -24,10 +25,19 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "miguelgrinberg"; repo = "python-engineio"; - rev = "v${version}"; + rev = "refs/tags/v${version}"; hash = "sha256-fymO9WqkYaRsHKCJHQJpySHqZor2t8BfVrfYUfYoJno="; }; + patches = [ + # Address Python 3.11 mocking issue, https://github.com/miguelgrinberg/python-engineio/issues/279 + (fetchpatch { + name = "mocking-issue-py311.patch"; + url = "https://github.com/miguelgrinberg/python-engineio/commit/ac3911356fbe933afa7c11d56141f0e228c01528.patch"; + hash = "sha256-LNMhjX8kqOI3y8XugCHxCPEC6lF83NROfIczXWiLuqY="; + }) + ]; + nativeCheckInputs = [ aiohttp eventlet From 4ef98ebcc1610b0a4ab3d455a0d987a95761bc6d Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 24 Jan 2023 19:33:47 +0100 Subject: [PATCH 2/4] python311Packages.promise: add patch to remove @asyncio.coroutine --- .../python-modules/promise/default.nix | 37 ++++++++++++++----- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/promise/default.nix b/pkgs/development/python-modules/promise/default.nix index a4797ff6d6cc..a9c4c416b7fc 100644 --- a/pkgs/development/python-modules/promise/default.nix +++ b/pkgs/development/python-modules/promise/default.nix @@ -1,23 +1,37 @@ -{ buildPythonPackage +{ lib +, buildPythonPackage , fetchFromGitHub -, lib -, six -, pytestCheckHook +, fetchpatch , mock , pytest-asyncio +, pytestCheckHook +, pythonOlder +, six }: buildPythonPackage rec { pname = "promise"; version = "2.3.0"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "syrusakbary"; repo = "promise"; - rev = "v${version}"; - sha256 = "17mq1bm78xfl0x1g50ng502m5ldq6421rzz35hlqafsj0cq8dkp6"; + rev = "refs/tags/v${version}"; + hash = "sha256-5s6GMANSO4UpLOP/HAQxuNFSBSjPgvJCB9R1dOoKuJ4="; }; + patches = [ + # Convert @asyncio.coroutine to async def, https://github.com/syrusakbary/promise/pull/99 + (fetchpatch { + name = "use-async-def.patch"; + url = "https://github.com/syrusakbary/promise/commit/3cde549d30b38dcff81b308e18c7f61783003791.patch"; + hash = "sha256-XCbTo6RCv75nNrpbK3TFdV0h7tBJ0QK+WOAR8S8w9as="; + }) + ]; + postPatch = '' substituteInPlace tests/test_extra.py \ --replace "assert_exc.traceback[-1].path.strpath" "str(assert_exc.traceback[-1].path)" @@ -28,21 +42,24 @@ buildPythonPackage rec { ]; nativeCheckInputs = [ - pytestCheckHook mock pytest-asyncio + pytestCheckHook ]; disabledTestPaths = [ "tests/test_benchmark.py" ]; + pythonImportsCheck = [ + "promise" + ]; + meta = with lib; { description = "Ultra-performant Promise implementation in Python"; homepage = "https://github.com/syrusakbary/promise"; + changelog = "https://github.com/syrusakbary/promise/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ - kamadorueda - ]; + maintainers = with maintainers; [ kamadorueda ]; }; } From df8af6cd1a5a526b1075eef9042253cffe3d3ef6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 25 Jan 2023 10:05:22 +0100 Subject: [PATCH 3/4] python310Packages.graphene-django: add changelog to meta --- pkgs/development/python-modules/graphene-django/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/graphene-django/default.nix b/pkgs/development/python-modules/graphene-django/default.nix index 12ef2cc19a6b..1be9174f9774 100644 --- a/pkgs/development/python-modules/graphene-django/default.nix +++ b/pkgs/development/python-modules/graphene-django/default.nix @@ -22,6 +22,7 @@ buildPythonPackage rec { pname = "graphene-django"; version = "3.0.0"; format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { @@ -61,6 +62,7 @@ buildPythonPackage rec { meta = with lib; { description = "Integrate GraphQL into your Django project"; homepage = "https://github.com/graphql-python/graphene-django"; + changelog = "https://github.com/graphql-python/graphene-django/releases/tag/v{version}"; license = licenses.mit; maintainers = with maintainers; [ hexa ]; }; From 8e2e31f77c251512ad5e13e7fd09de1067433e71 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 25 Jan 2023 10:15:22 +0100 Subject: [PATCH 4/4] python311Packages.graphene-django: disable failing tests on Python 3.11 --- .../python-modules/graphene-django/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/python-modules/graphene-django/default.nix b/pkgs/development/python-modules/graphene-django/default.nix index 1be9174f9774..3e8625ca6d41 100644 --- a/pkgs/development/python-modules/graphene-django/default.nix +++ b/pkgs/development/python-modules/graphene-django/default.nix @@ -1,5 +1,6 @@ { lib , buildPythonPackage +, pythonAtLeast , pythonOlder , fetchFromGitHub @@ -59,6 +60,14 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = lib.optionals (pythonAtLeast "3.11") [ + # Pèython 3.11 support, https://github.com/graphql-python/graphene-django/pull/1365 + "test_django_objecttype_convert_choices_enum_naming_collisions" + "test_django_objecttype_choices_custom_enum_name" + "test_django_objecttype_convert_choices_enum_list" + "test_schema_representation" + ]; + meta = with lib; { description = "Integrate GraphQL into your Django project"; homepage = "https://github.com/graphql-python/graphene-django";