~ruther/guix-local

57622749ca36f13de4e003ef86c2dd23c6388abf — Sharlatan Hellseher 2 years ago 5e63cf0
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
1 files changed, 42 insertions(+), 24 deletions(-)

M gnu/packages/python-xyz.scm
M gnu/packages/python-xyz.scm => gnu/packages/python-xyz.scm +42 -24
@@ 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