From 57622749ca36f13de4e003ef86c2dd23c6388abf Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Tue, 2 Jul 2024 12:55:32 +0100 Subject: [PATCH] gnu: python-extension-helpers: Enable tests. * gnu/packages/python-xyz.scm (python-extension-helpers): Adjust indentation. [source]: Swap to git checkout which contains tests. [arguments]: <#:tests-flags>: Disable one failing tests. <#:phases>: Add 'set-version phase. Use custom 'check phase. [native-inputs]: Remove python-coverage. Add python-tomli. Change-Id: I8a04811e43bc0f1c2e0761aca87c4888a1444fc1 --- gnu/packages/python-xyz.scm | 66 +++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 64149842b2..8d8c082a5f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5045,33 +5045,51 @@ and is not compatible with JSON.") (license license:expat))) (define-public python-extension-helpers -(package - (name "python-extension-helpers") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "extension-helpers" version)) - (sha256 - (base32 "001zd6gfs9yrwjny1fxzycxx0kcasshlyl6rh1kgzm13ll2d6pgr")))) - (build-system pyproject-build-system) - ;; FIXME: pytest failed to load test suit, find out why. - ;; - _pytest.pathlib.ImportPathMismatchError: ('extension_helpers.conftes - (arguments (list #:tests? #f)) - (native-inputs - (list python-coverage - python-pytest - python-pytest-astropy - python-pytest-cov - python-setuptools-scm)) - (home-page "https://extension-helpers.readthedocs.io") - (synopsis "Astropy ecosystem utilities for building and installing packages") - (description - "The extension-helpers package includes convenience helpers to assist with + (package + (name "python-extension-helpers") + (version "1.1.1") + (source + (origin + (method git-fetch) ; no tests in the PyPI tarball + (uri (git-reference + (url "https://github.com/astropy/extension-helpers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lkhypg21ydx03z03dppbf05zff40dyl0kn6nichzfdfpqnr5055")))) + (build-system pyproject-build-system) + (arguments + (list + ;; It tries to install it via pip: E ModuleNotFoundError: No module named + ;; 'helpers_test_package_fd9cc3a9_11fa_4a1a_b80e_c5b043949604' + #:test-flags #~(list "-k" "not test_only_pyproject[True]") + #:phases + #~(modify-phases %standard-phases + ;; LookupError: setuptools-scm was unable to detect version for + ;; /tmp/guix-build-python-extension-helpers-1.1.1.drv-0/source. + (add-before 'build 'set-version + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) + (replace 'check + (lambda* (#:key tests? test-flags #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (with-directory-excursion "/tmp" + (apply invoke "pytest" "-v" test-flags)))))))) + (native-inputs + (list python-pytest + python-pytest-astropy + python-pytest-cov + python-setuptools-scm + python-tomli)) + (home-page "https://extension-helpers.readthedocs.io") + (synopsis "Astropy ecosystem utilities for building and installing packages") + (description + "The extension-helpers package includes convenience helpers to assist with building Python packages with compiled C/Cython extensions. It is developed by the Astropy project but is intended to be general and usable by any Python package.") - (license license:bsd-3))) + (license license:bsd-3))) (define-public python-extras (package