commit: 093f90e0703221788105209079a6d44a9f08c93c
Author: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Thu Mar 12 15:01:09 2026 +0000
Commit: Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
CommitDate: Thu Mar 12 15:01:09 2026 +0000
URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=093f90e0
dev-python/strawberry-graphql: new package, add 0.311.0
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
dev-python/strawberry-graphql/Manifest | 1 +
.../files/strawberry-0.288.3-no-emoji-test.patch | 19 +++++
dev-python/strawberry-graphql/metadata.xml | 13 +++
.../strawberry-graphql-0.311.0.ebuild | 99 ++++++++++++++++++++++
4 files changed, 132 insertions(+)
diff --git a/dev-python/strawberry-graphql/Manifest
b/dev-python/strawberry-graphql/Manifest
new file mode 100644
index 0000000000..215c1dbf85
--- /dev/null
+++ b/dev-python/strawberry-graphql/Manifest
@@ -0,0 +1 @@
+DIST strawberry-graphql-0.311.0.gh.tar.gz 1266374 BLAKE2B
efb47f68c3e4d60e689ed82e3adbf3a4455ae9ca6881389c0eabb2139ae774fe52251ad6000c431502389df92c66dc5cb59138916d75b95305cd1eab5bebf02f
SHA512
3fa8e6b607530ba5ae81631bdd4a8b4b47a1d725f9d897a77065b689ccd8c816357cf971d647bd6b2f43508f39509a632b0879bc5b9a1fa31fa0223281565d58
diff --git
a/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch
b/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch
new file mode 100644
index 0000000000..ebc9c98ebf
--- /dev/null
+++ b/dev-python/strawberry-graphql/files/strawberry-0.288.3-no-emoji-test.patch
@@ -0,0 +1,19 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 954b5e32..7c30ad2f 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -6,14 +6,6 @@ import pytest
+ from strawberry.utils import IS_GQL_32
+
+
+-def pytest_emoji_xfailed(config: pytest.Config) -> tuple[str, str]:
+- return "🤷♂️ ", "XFAIL 🤷♂️ "
+-
+-
+-def pytest_emoji_skipped(config: pytest.Config) -> tuple[str, str]:
+- return "🦘 ", "SKIPPED 🦘"
+-
+-
+ pytest_plugins = ("tests.plugins.strawberry_exceptions",)
+
+
diff --git a/dev-python/strawberry-graphql/metadata.xml
b/dev-python/strawberry-graphql/metadata.xml
new file mode 100644
index 0000000000..6de4fabacb
--- /dev/null
+++ b/dev-python/strawberry-graphql/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>[email protected]</email>
+ <name>Paul Zander</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id
type="github">strawberry-graphql/strawberry</remote-id>
+ <remote-id type="pypi">strawberry-graphql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
b/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
new file mode 100644
index 0000000000..b23ac3a565
--- /dev/null
+++ b/dev-python/strawberry-graphql/strawberry-graphql-0.311.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{12..13} )
+
+inherit distutils-r1 #pypi
+
+DESCRIPTION="A library for creating GraphQL APIs"
+HOMEPAGE="
+ https://strawberry.rocks/
+ https://github.com/strawberry-graphql/strawberry/
+ https://pypi.org/project/strawberry-graphql/
+"
+# no tests in sdist
+SRC_URI="
+
https://github.com/strawberry-graphql/strawberry/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/strawberry-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/cross-web-0.4.0[${PYTHON_USEDEP}]
+ <dev-python/graphql-core-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/graphql-core-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+
+# dev
+# integrations
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/libcst[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pyinstrument[${PYTHON_USEDEP}]
+ dev-python/python-multipart[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/typer[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/inline-snapshot[${PYTHON_USEDEP}]
+
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/chalice[${PYTHON_USEDEP}]
+ dev-python/channels[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/fastapi[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/quart[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/litestar[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ "tests/benchmarks/"
+ # avoid daphne which requires autobahn
+ "tests/channels/test_layers.py"
+ "tests/channels/test_testing.py"
+ "tests/http/clients/channels.py"
+ # FIXME:
+ "tests/http/test_graphql_ide.py"
+)
+EPYTEST_DESELECT=(
+ # TODO: sanic
+ "tests/sanic/test_file_upload.py::test_file_cast"
+ "tests/sanic/test_file_upload.py::test_endpoint"
+ # test stdlib?
+
"tests/schema/test_lazy/test_lazy_generic.py::test_lazy_types_loaded_from_same_module[script]"
+ # FIXME
+ "tests/django/test_dataloaders.py::test_fetch_data_from_db"
+)
+EPYTEST_PLUGINS=( pytest-aiohttp pytest-asyncio pytest-django pytest-mock
pytest-snapshot )
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/strawberry-0.288.3-no-emoji-test.patch
+)
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE="tests.django.django_settings"
+
+ # avoid superfluous pytest-emoji dependency
+ epytest -o addopts=
+}