Subject: [bug#27548] [PATCH] gnu: Add python-xenon

From: Marius Bakke <[email-masked]>
Date: Tue, 11 Jul 2017 21:03:24 +0200

Hello!

Sorry for the slooow response :-)

The patch mostly LGTM. A few minor comments:

Muriithi Frederick Muriuki <[email-masked]> writes:

> * gnu/packages/python.scm (python-xenon, python2-xenon) New variables.

[...]

> +(define-public python-xenon
> +  (package
> +    (name "python-xenon")
> +    (version "0.5.1")

It looks like 0.5.2 was recently released. Can you try updating to it?

> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "xenon" version))
> +       (sha256
> +        (base32
> +         "14kby2y48vp3sgwxqlm5d5789yibqwb1qli5fwcmdqg3iayrbklc"))))
> +    (build-system python-build-system)
> +    (native-inputs
> +     `(("python-pyyaml" ,python-pyyaml)
> +       ("python-radon" ,python-radon)
> +       ("python-requests" ,python-requests)
> +      ("python-flake8" ,python-flake8)

Indentation is off :)

> +       ("python-tox" ,python-tox)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'build 'patch-test-requirements
> +          (lambda* (#:key inputs #:allow-other-keys)
> +             ;; Update requirements from dependecy==version
Missing letter here:                             ^^^
> +             ;; to dependency>=version
> +             (substitute* "requirements.txt"
> +               (("==") ">=")
> +               ((",<1.5.0") ""))
> +            ;; Remove httpretty dependency for tests
> +             (substitute* "setup.py"
> +               (("httpretty") ""))

Why is this necessary? Can you expand on this comment?

> +             #t)))))
> +    (home-page "https://xenon.readthedocs.org/")
> +    (synopsis
> +     "Monitor code metrics for Python on your CI server")
> +   (description
> +     "@code{Xenon} is a monitoring tool based on Radon.  It monitors code’s

I think we can drop @code here since it's used as a name. Side note: It
would be cool if we could cross-reference packages in descriptions.

Sorry for the nit-picks! I'll go through the other patches shortly.

> +complexity.  Ideally, @code{xenon} is run every time code is committed.  Through
> +command line options, various thresholds can be set for the complexity of code.
> +It will fail (i.e.  it will exit with a non-zero exit code) when any of these
> +equirements is not met.")
> +    (license license:expat)))