python3Packages.a2wsgi: fix build (#355656)

Changed files
+124 -19
pkgs
development
python-modules
top-level
+10 -3
pkgs/development/python-modules/a2wsgi/default.nix
···
pdm-backend,
pytest-asyncio,
pytestCheckHook,
+
starlette,
+
baize,
}:
buildPythonPackage rec {
···
pytestCheckHook
];
-
meta = with lib; {
+
dependencies = [
+
starlette
+
baize
+
];
+
+
meta = {
description = "Convert WSGI app to ASGI app or ASGI app to WSGI app";
homepage = "https://github.com/abersheeran/a2wsgi";
-
license = licenses.asl20;
-
maintainers = with maintainers; [ SuperSandro2000 ];
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ SuperSandro2000 ];
};
}
+60
pkgs/development/python-modules/baize/default.nix
···
+
{
+
buildPythonPackage,
+
lib,
+
fetchPypi,
+
pytestCheckHook,
+
pdm-pep517,
+
pytest-httpx,
+
setuptools,
+
starlette,
+
anyio,
+
pytest-asyncio,
+
pytest-tornasync,
+
pytest-trio,
+
pytest-twisted,
+
twisted,
+
}:
+
+
buildPythonPackage rec {
+
pname = "baize";
+
version = "0.22.2";
+
pyproject = true;
+
+
src = fetchPypi {
+
inherit pname version;
+
hash = "sha256-J+l8NsSTpCh7Uws+Zp45LXkLEBBurqOsOr8Iik/9smY=";
+
};
+
+
build-system = [
+
pdm-pep517
+
setuptools
+
];
+
+
dependencies = [
+
starlette
+
];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
pytest-httpx
+
anyio
+
pytest-asyncio
+
pytest-tornasync
+
pytest-trio
+
pytest-twisted
+
twisted
+
];
+
+
disabledTests = [
+
# https://github.com/abersheeran/baize/issues/67
+
"test_files"
+
"test_request_response"
+
];
+
+
meta = {
+
description = "Powerful and exquisite WSGI/ASGI framework/toolkit";
+
maintainers = with lib.maintainers; [ bot-wxt1221 ];
+
homepage = "https://baize.aber.sh/";
+
license = lib.licenses.asl20;
+
};
+
}
+25
pkgs/development/python-modules/connexion/0001-Part-of-1992.patch
···
+
From 10c3d787cc9c7fb31c6cc7074e9ce00dfeb6bb85 Mon Sep 17 00:00:00 2001
+
From: wxt <3264117476@qq.com>
+
Date: Thu, 14 Nov 2024 16:16:17 +0800
+
Subject: [PATCH] Part of 1992
+
+
---
+
tests/decorators/test_validation.py | 2 +-
+
1 file changed, 1 insertion(+), 1 deletion(-)
+
+
diff --git a/tests/decorators/test_validation.py b/tests/decorators/test_validation.py
+
index bece403..d7e0984 100644
+
--- a/tests/decorators/test_validation.py
+
+++ b/tests/decorators/test_validation.py
+
@@ -78,7 +78,7 @@ def test_invalid_type(monkeypatch):
+
logger = MagicMock()
+
monkeypatch.setattr("connexion.validators.parameter.logger", logger)
+
result = ParameterValidator.validate_parameter(
+
- "formdata", 20, {"type": "string", "name": "foo"}
+
+ "formdata", 20, {"name": "foo", "type": "string"}
+
)
+
expected_result = """20 is not of type 'string'
+
+
--
+
2.47.0
+
+27 -16
pkgs/development/python-modules/connexion/default.nix
···
{
lib,
+
stdenv,
fetchFromGitHub,
buildPythonPackage,
pythonOlder,
···
hash = "sha256-rngQDU9kXw/Z+Al0SCVnWN8xnphueTtZ0+xPBR5MbEM=";
};
+
patches = [
+
# A really small Part of https://github.com/spec-first/connexion/pull/1992 Will fix check on newest dependencies
+
./0001-Part-of-1992.patch
+
];
+
build-system = [ poetry-core ];
dependencies = [
···
pythonImportsCheck = [ "connexion" ];
-
disabledTests = [
-
"test_build_example"
-
"test_mock_resolver_no_example"
-
# Tests require network access
-
"test_remote_api"
-
# AssertionError
-
"test_headers"
-
# waiter.acquire() deadlock
-
"test_cors_server_error"
-
"test_get_bad_default_response"
-
"test_schema_response"
-
"test_writeonly"
-
];
+
disabledTests =
+
[
+
"test_build_example"
+
"test_mock_resolver_no_example"
+
# Tests require network access
+
"test_remote_api"
+
# AssertionError
+
"test_headers"
+
# waiter.acquire() deadlock
+
"test_cors_server_error"
+
"test_get_bad_default_response"
+
"test_schema_response"
+
"test_writeonly"
+
]
+
++ lib.optionals stdenv.hostPlatform.isDarwin [
+
# ImportError: Error while finding loader for '/private/tmp/nix-build-python3.12-connexion-3.1.0.drv-0/source' (<class 'ModuleNotFoundError'>: No module named '/private/tmp/nix-build-python3')
+
"test_lifespan"
+
];
-
meta = with lib; {
+
meta = {
description = "Swagger/OpenAPI First framework on top of Flask";
homepage = "https://github.com/spec-first/connexion";
changelog = "https://github.com/spec-first/connexion/releases/tag/${version}";
-
license = licenses.asl20;
-
maintainers = [ ];
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ bot-wxt1221 ];
mainProgram = "connexion";
};
}
+2
pkgs/top-level/python-packages.nix
···
bagit = callPackage ../development/python-modules/bagit { };
+
baize = callPackage ../development/python-modules/baize { };
+
banal = callPackage ../development/python-modules/banal { };
bandcamp-api = callPackage ../development/python-modules/bandcamp-api { };