diff --git a/pkgs/development/python-modules/backports-asyncio-runner/default.nix b/pkgs/development/python-modules/backports-asyncio-runner/default.nix new file mode 100644 index 000000000000..d94a22477932 --- /dev/null +++ b/pkgs/development/python-modules/backports-asyncio-runner/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + pytestCheckHook, + fetchFromGitHub, + hatchling, + hatch-fancy-pypi-readme, +}: + +let + pname = "backports-asyncio-runner"; + version = "1.2.0"; + src = fetchFromGitHub { + owner = "samypr100"; + repo = "backports.asyncio.runner"; + tag = "v${version}"; + hash = "sha256-F8x7MZgu0VItH7kBke7C7+ZBoM6Iyj8xOeQ2t56ff3k="; + }; +in +buildPythonPackage { + inherit pname version src; + pyproject = true; + + build-system = [ + hatch-fancy-pypi-readme + hatchling + ]; + + pythonImportsCheck = [ "backports.asyncio.runner" ]; + nativeCheckInputs = [ pytestCheckHook ]; + + # These tests depend on the test.test_asyncio module in cpython which is + # removed at build time. + disabledTestPaths = [ + "tests/test_tasks_py38.py" + "tests/test_tasks_py39.py" + "tests/test_tasks_py310.py" + ]; + + meta = { + changelog = "https://github.com/samypr100/backports.asyncio.runner/releases/tag/${src.tag}"; + description = "Backport of Python 3.11 asyncio.Runner"; + homepage = "https://github.com/samypr100/backports.asyncio.runner"; + license = lib.licenses.psfl; + maintainers = with lib.maintainers; [ detroyejr ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 82871be7f8dc..2fac02977710 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1659,6 +1659,12 @@ self: super: with self; { backoff = callPackage ../development/python-modules/backoff { }; + backports-asyncio-runner = + if pythonAtLeast "3.11" then + null + else + callPackage ../development/python-modules/backports-asyncio-runner { }; + backports-datetime-fromisoformat = callPackage ../development/python-modules/backports-datetime-fromisoformat { };