summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch')
-rw-r--r--dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch144
1 files changed, 144 insertions, 0 deletions
diff --git a/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch b/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch
new file mode 100644
index 000000000000..405eb5325ad9
--- /dev/null
+++ b/dev-python/uvicorn/files/uvicorn-0.21.1-optional-rust.patch
@@ -0,0 +1,144 @@
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -11,9 +11,15 @@ from time import sleep
+ from uuid import uuid4
+
+ import pytest
+-import trustme
+-from cryptography.hazmat.backends import default_backend
+-from cryptography.hazmat.primitives import serialization
++
++gentoo_got_rust_deps = True
++
++try:
++ import trustme
++ from cryptography.hazmat.backends import default_backend
++ from cryptography.hazmat.primitives import serialization
++except ImportError:
++ gentoo_got_rust_deps = False
+
+ from uvicorn.config import LOGGING_CONFIG
+
+@@ -28,72 +34,72 @@ from uvicorn.config import LOGGING_CONFIG
+ # See also: https://github.com/pytest-dev/pytest/issues/3697
+ LOGGING_CONFIG["loggers"]["uvicorn"]["propagate"] = True
+
+-
+-@pytest.fixture
+-def tls_certificate_authority() -> trustme.CA:
+- return trustme.CA()
++if gentoo_got_rust_deps:
++ @pytest.fixture
++ def tls_certificate_authority() -> trustme.CA:
++ return trustme.CA()
+
+
+-@pytest.fixture
+-def tls_certificate(tls_certificate_authority: trustme.CA) -> trustme.LeafCert:
+- return tls_certificate_authority.issue_cert(
+- "localhost",
+- "127.0.0.1",
+- "::1",
+- )
++ @pytest.fixture
++ def tls_certificate(tls_certificate_authority: trustme.CA) -> trustme.LeafCert:
++ return tls_certificate_authority.issue_cert(
++ "localhost",
++ "127.0.0.1",
++ "::1",
++ )
+
+
+-@pytest.fixture
+-def tls_ca_certificate_pem_path(tls_certificate_authority: trustme.CA):
+- with tls_certificate_authority.cert_pem.tempfile() as ca_cert_pem:
+- yield ca_cert_pem
++ @pytest.fixture
++ def tls_ca_certificate_pem_path(tls_certificate_authority: trustme.CA):
++ with tls_certificate_authority.cert_pem.tempfile() as ca_cert_pem:
++ yield ca_cert_pem
+
+
+-@pytest.fixture
+-def tls_ca_certificate_private_key_path(tls_certificate_authority: trustme.CA):
+- with tls_certificate_authority.private_key_pem.tempfile() as private_key:
+- yield private_key
++ @pytest.fixture
++ def tls_ca_certificate_private_key_path(tls_certificate_authority: trustme.CA):
++ with tls_certificate_authority.private_key_pem.tempfile() as private_key:
++ yield private_key
+
+
+-@pytest.fixture
+-def tls_certificate_private_key_encrypted_path(tls_certificate):
+- private_key = serialization.load_pem_private_key(
+- tls_certificate.private_key_pem.bytes(),
+- password=None,
+- backend=default_backend(),
+- )
+- encrypted_key = private_key.private_bytes(
+- serialization.Encoding.PEM,
+- serialization.PrivateFormat.TraditionalOpenSSL,
+- serialization.BestAvailableEncryption(b"uvicorn password for the win"),
+- )
+- with trustme.Blob(encrypted_key).tempfile() as private_encrypted_key:
+- yield private_encrypted_key
++ @pytest.fixture
++ def tls_certificate_private_key_encrypted_path(tls_certificate):
++ private_key = serialization.load_pem_private_key(
++ tls_certificate.private_key_pem.bytes(),
++ password=None,
++ backend=default_backend(),
++ )
++ encrypted_key = private_key.private_bytes(
++ serialization.Encoding.PEM,
++ serialization.PrivateFormat.TraditionalOpenSSL,
++ serialization.BestAvailableEncryption(b"uvicorn password for the win"),
++ )
++ with trustme.Blob(encrypted_key).tempfile() as private_encrypted_key:
++ yield private_encrypted_key
+
+
+-@pytest.fixture
+-def tls_certificate_private_key_path(tls_certificate: trustme.CA):
+- with tls_certificate.private_key_pem.tempfile() as private_key:
+- yield private_key
++ @pytest.fixture
++ def tls_certificate_private_key_path(tls_certificate: trustme.CA):
++ with tls_certificate.private_key_pem.tempfile() as private_key:
++ yield private_key
+
+
+-@pytest.fixture
+-def tls_certificate_key_and_chain_path(tls_certificate: trustme.LeafCert):
+- with tls_certificate.private_key_and_cert_chain_pem.tempfile() as cert_pem:
+- yield cert_pem
++ @pytest.fixture
++ def tls_certificate_key_and_chain_path(tls_certificate: trustme.LeafCert):
++ with tls_certificate.private_key_and_cert_chain_pem.tempfile() as cert_pem:
++ yield cert_pem
+
+
+-@pytest.fixture
+-def tls_certificate_server_cert_path(tls_certificate: trustme.LeafCert):
+- with tls_certificate.cert_chain_pems[0].tempfile() as cert_pem:
+- yield cert_pem
++ @pytest.fixture
++ def tls_certificate_server_cert_path(tls_certificate: trustme.LeafCert):
++ with tls_certificate.cert_chain_pems[0].tempfile() as cert_pem:
++ yield cert_pem
+
+
+-@pytest.fixture
+-def tls_ca_ssl_context(tls_certificate_authority: trustme.CA) -> ssl.SSLContext:
+- ssl_ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
+- tls_certificate_authority.configure_trust(ssl_ctx)
+- return ssl_ctx
++ @pytest.fixture
++ def tls_ca_ssl_context(tls_certificate_authority: trustme.CA) -> ssl.SSLContext:
++ ssl_ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH)
++ tls_certificate_authority.configure_trust(ssl_ctx)
++ return ssl_ctx
+
+
+ @pytest.fixture(scope="package")