guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add pyparsing.


From: Cyril Roelandt
Subject: Re: [PATCH] gnu: Add pyparsing.
Date: Tue, 25 Nov 2014 18:17:24 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.0

On 11/25/2014 05:55 PM, Federico Beffa wrote:
> Please find attached a pyparsing package for review.
>

Review inlined.

> Regards,
> Fede
> 
> 
> 0001-gnu-Add-pyparsing.patch
> 
> 
> From edebe9d7663932912c6245abd690795fc02c1d02 Mon Sep 17 00:00:00 2001
> From: Federico Beffa <address@hidden>
> Date: Tue, 25 Nov 2014 16:27:33 +0100
> Subject: [PATCH] gnu: Add pyparsing.
> 
> * gnu/packages/python.scm (python-pyparsing, python2-pyparsing): New
>   variables.
> ---
>  gnu/packages/python.scm | 54 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 54 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 7967201..d9715c0 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -1932,3 +1932,57 @@ capabilities.")
>  
>  (define python2-numpy-bootstrap
>    (package-with-python2 python-numpy-bootstrap))
> +
> +(define-public python-pyparsing
> +  (package
> +    (name "python-pyparsing")
> +    (version "2.0.2")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "mirror://sourceforge/pyparsing"
> +                           "/pyparsing-" version ".tar.gz"))

Maybe you could add the PyPI mirror here.

> +       (sha256
> +        (base32
> +         "01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p"))))
> +    (build-system python-build-system)
> +    (outputs '("out" "doc"))
> +    (arguments
> +     `(#:tests? #f ; no test target

There is a "unitTests.py" that can be run manually, if I'm not mistaken.
Maybe you could replace the check phase ?

> +       #:modules ((guix build python-build-system)
> +                  (guix build utils))
> +       #:phases
> +       (alist-cons-after
> +        'install 'install-doc
> +        (lambda* (#:key outputs #:allow-other-keys)
> +          (let* ((doc (string-append (assoc-ref outputs "doc") 
> +                                     "/share/doc/" ,name "-" ,version))
> +                 (html-doc (string-append doc "/html"))
> +                 (examples (string-append doc "/examples")))
> +            (mkdir-p html-doc)
> +            (mkdir-p examples)
> +            (with-directory-excursion "docs"
> +              (map (lambda (file) 
> +                     (copy-file file (string-append doc "/" file)))
> +                   (find-files "." ".*")))
> +            (with-directory-excursion "htmldoc"
> +              (map (lambda (file) 
> +                     (copy-file file (string-append html-doc "/" file)))
> +                   (find-files "." ".*")))
> +            (with-directory-excursion "examples"
> +              (map (lambda (file) 
> +                     (copy-file file (string-append examples "/" file)))
> +                   (find-files "." ".*")))))
> +        %standard-phases)))

I trust you on the doc thing :) Is it something that could somehow be
part of the python build system?


> +    (home-page "http://pyparsing.wikispaces.com";)
> +    (synopsis "A Python parsing module")

Do not start the synopsis by "a". You may want to run "guix lint" on
your package to find such issues.

> +    (description
> +     "The pyparsing module is an alternative approach to creating and
> +executing simple grammars, vs. the traditional lex/yacc approach, or the use
> +of regular expressions. The pyparsing module provides a library of classes
> +that client code uses to construct the grammar directly in Python code.")
> +    (license expat)))
> +
> +(define-public python2-pyparsing
> +  (package-with-python2 python-pyparsing))
> +

Thanks!
Cyril.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]