Subject: [bug#41455] [PATCH 1/2] gnu: Add python-pytest-4

From: Marius Bakke <[email-masked]>
Date: Sat, 30 May 2020 14:07:07 +0200

Edouard Klein <[email-masked]> writes:

> * gnu/packages/check.scm (python-pytest-4): New variable.

[...]
  
> +(define-public python-pytest-4
> +  (package
> +    (name "python-pytest-4")
> +    (version "4.5.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       ;; Pypi source tarball does not include tests
> +       (uri (git-reference
> +             (url "https://github.com/pytest-dev/pytest.git")
> +             (commit version)))
> +       (file-name "python-pytest-4")
> +       (sha256
> +        (base32
> +         "0igxfasjqabkzlb81vxqr58pfsdwjx4zzd1nc1b48wn6xnkkllhk"))))
> +    (build-system python-build-system)
> +    (propagated-inputs
> +     `(("python-atomicwrites" ,python-atomicwrites)
> +       ("python-attrs" ,python-attrs)
> +       ("python-attrs" ,python-attrs)
> +       ("python-more-itertools" ,python-more-itertools)
> +       ("python-pluggy" ,python-pluggy)
> +       ("python-six" ,python-six)
> +       ("python-py" ,python-py)
> +       ("python-wcwidth" ,python-wcwidth)))
> +    (native-inputs
> +     `(("python-setuptools-scm" ,python-setuptools-scm)
> +       ("git" ,git)))
> +    (arguments `(#:phases
> +                 (modify-phases %standard-phases
> +                   (add-after 'unpack 'git-tag
> +                     (lambda _
> +                       ;; setuptools-scm needs to know the version
> +                       (invoke "git" "init")
> +                       (invoke "git" "add" ".")
> +                       (invoke "git" "config" "user.name" "John Doe")
> +                       (invoke "git" "config" "user.email" "[email-masked]")
> +                       (invoke "git" "commit" "-m" "dummy commit")
> +                       (invoke "git" "tag" ,version))))))
> +    (home-page "https://docs.pytest.org/en/latest/")
> +    (synopsis "Python testing library")
> +    (description
> +     "Pytest is a testing tool that provides auto-discovery of test modules
> +and functions, detailed info on failing assert statements, modular fixtures,
> +and many external plugins.")
> +    (license license:expat)))

Can you make this inherit from pytest instead of duplicating all the
fields?

Also, we should find a way to get rid of the git dependency.  Weird that
other versions of Pytest don't have this requirement.