gnu: python-graphql-core: Enable tests.

* gnu/packages/python-xyz.scm (python-graphql-core)[build-system]: Use
pyproject-build-system.
[arguments]: Enable tests; add phases 'use-poetry-core and 'patch-setup.py.
[native-inputs]: Add python-poetry-core, python-pytest, and
python-pytest-benchmark.

Change-Id: I519966ca0da38339981a17d830ecac786b36cfb3
This commit is contained in:
Ricardo Wurmus 2024-05-08 10:03:43 +02:00 committed by Sharlatan Hellseher
parent a10ee797b2
commit b43820782e
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -23769,18 +23769,39 @@ numbers, real numbers, mixed types and more, and comes with a shell command
(sha256
(base32
"0fjv5w2wvgdr8gb27v241bavliipyir9fdz48rsgc3xapm644mn0"))))
(build-system python-build-system)
(build-system pyproject-build-system)
(arguments
`(#:tests? #f ; Tests require the unpackaged pytest-benchmark.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-hardcoded-version
(lambda _ (substitute*
"setup.py"
(("'gevent==1.1rc1'") "'gevent'"))
#t)))))
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'use-poetry-core
(lambda _
;; Patch to use the core poetry API.
(substitute* "pyproject.toml"
(("poetry.masonry.api")
"poetry.core.masonry.api")
;; Poetry does not like line breaks.
(("description = \"\"\"")
"description = \"GraphQL-core is a Python port of GraphQL.js.\"\n")
(("^GraphQL-core is a Python.*") "")
(("^ the JavaScript reference.*") ""))))
(add-after 'unpack 'patch-setup.py
(lambda _
(substitute* "setup.py"
;; Relax hardcoded version
(("'gevent==1.1rc1'") "'gevent'")
;; Poetry complains about this line break.
(("a port of GraphQL.js,\"")
(string-append "a port of GraphQL.js, "
"the JavaScript reference implementation for GraphQL."))
((" \" the JavaScript reference.*") "")))))))
(native-inputs
(list python-gevent python-mock python-pytest-mock))
(list python-gevent
python-mock
python-poetry-core
python-pytest
python-pytest-benchmark
python-pytest-mock))
(propagated-inputs
(list python-promise python-six))
(home-page "https://github.com/graphql-python/graphql-core")