From b43820782efb04cf6c4ee715fd5883997c098bd2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 8 May 2024 10:03:43 +0200 Subject: [PATCH] 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 --- gnu/packages/python-xyz.scm | 43 +++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 15af3ea8e470e167d063670d64455a6e225153aa..42e12d6dd25ade102284f4daf09f9d871697ef61 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -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))))) - (native-inputs - (list python-gevent python-mock python-pytest-mock)) + (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-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")