Subject: Re: bug#25733: [PATCH 03/18] gnu: Add python-dulwich.

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 18 Feb 2017 12:57:44 +0100

[email-masked] writes:

> From: ng0 <[email-masked]>
>
> * gnu/packages/python.scm (python-dulwich): New variable.
> ---
>  gnu/packages/python.scm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 4019cc01b..aaa6ba111 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -763,6 +763,39 @@ NetCDF files can also be read and modified.  Python-HDF4 is a fork of
>  (define-public python2-hdf4
>    (package-with-python2 python-hdf4))
>
> +(define-public python-dulwich
> +  (package
> +    (name "python-dulwich")
> +    (version "0.14.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "dulwich" version))
> +       (sha256
> +        (base32
> +         "14xsyxha6qyxxyf0ma3zv1sy31iy22vzwayk519n7a1gwzk4j7vw"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f)) ;Swift module not yet ported to python3, 5 tests fail

Please provide more context.  What Swift module does this refer to?  Is
this part of Dulwich?  Please write “Python 3” instead of “python3”.  In
general it would be good to use full sentences in comments that are not
completely obvious.

> +    (inputs

These are probably propagated-inputs.

> +     `(("python-mock" ,python-mock)

This looks like an input that’s only needed for tests, so maybe it
should be a native input.  (Honestly, I’m not sure if the distinction
between native and target makes sense in a cross-building context for
Python modules, so maybe ignore this.)

> +       ("python-gevent" ,python-gevent)
> +       ("python-geventhttpclient" ,python-geventhttpclient)
> +       ("python-fastimport" ,python-fastimport)))
> +    (home-page "https://www.dulwich.io/")
> +    (synopsis "Python Git Library")

Please use lower case.

> +    (description
> +     "Dulwich is a Python implementation of the Git file formats and
> +protocols, which does not depend on Git itself.  All functionality is
> +available in pure Python.")

What is an implementation of a file format?  Is this a library to read
and write these file formats?

> +    (license (list license:asl2.0 license:gpl2+))

Please add a comment explaining what this list means.

> +    (properties `((python2-variant . ,(delay python2-dulwich))))))

Why is this needed?

> +
> +(define-public python2-dulwich
> +  (package
> +    (inherit (package-with-python2
> +              (strip-python2-variant python-dulwich)))))
> +

Same question as above.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net