guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 6/18] gnu: Add python-beautifulsoup4


From: Leo Famulari
Subject: Re: [PATCH 6/18] gnu: Add python-beautifulsoup4
Date: Mon, 15 Feb 2016 20:45:48 -0500
User-agent: Mutt/1.5.24 (2015-08-30)

On Mon, Feb 15, 2016 at 03:28:03PM -0800, Christopher Allan Webber wrote:
> From 12fea50a946441277e38cc6e7ef266c08738193e Mon Sep 17 00:00:00 2001
> From: Christopher Allan Webber <address@hidden>
> Date: Sat, 13 Feb 2016 18:35:57 -0800
> Subject: [PATCH 06/18] gnu: Add python-beautifulsoup4
> 
> * gnu/packages/python.scm (python-beautifulsoup4, python2-beautifulsoup4):
>   New variables.

I actually have a patch for this in one of my WIP branches, too :)

> ---
>  gnu/packages/python.scm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 3ef552d..d7498dd 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -4573,6 +4573,39 @@ libxml2 and libxslt.")
>  (define-public python2-lxml
>    (package-with-python2 python-lxml))
>  
> +;; beautifulsoup4 has a totally different namespace than 3.x,
> +;; and pypi seems to put it under its own name, so I guess we should too
> +(define-public python-beautifulsoup4
> +  (package
> +    (name "python-beautifulsoup4")
> +    (version "4.4.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "beautifulsoup4" version))
> +       (sha256
> +        (base32
> +         "1d36lc4pfkvl74fmzdib2nqnvknm0jddgf2n9yd7im150qyh3m47"))))
> +    (build-system python-build-system)
> +    (inputs
> +     `(("python-lxml" ,python-lxml)
> +       ("python-html5lib" ,python-html5lib)))

I didn't find these necessary for the build process and test suite. Are
you sure they aren't supposed to be provided by the application that
uses beautifulsoup4?

> +    (home-page
> +     "http://www.crummy.com/software/BeautifulSoup/bs4/";)
> +    (synopsis
> +     "Python screen-scraping library")
> +    (description
> +     "HTML/XML parser for quick-turnaround applications like screen-scraping.
> +Can parse even extremely broken HTML.")

How about this:

"Beautiful Soup is a Python library designed for rapidly setting up
screen-scraping projects.  It offers Pythonic idioms for navigating,
searching, and modifying a parse tree, providing a toolkit for
dissecting a document and extracting what you need.  It automatically
converts incoming documents to Unicode and outgoing documents to UTF-8."

> +    (license bsd-3)

It uses the Expat license, and has some code from html5lib, which is
also Expat.

> +    (properties `((python2-variant . ,(delay python2-beautifulsoup4))))))
> +
> +(define-public python2-beautifulsoup4
> +  (package
> +    (inherit (package-with-python2
> +              (strip-python2-variant python-beautifulsoup4)))
> +    (inputs `(("python2-setuptools" ,python2-setuptools)))))
> +
>  (define-public python2-pil
>    (package
>      (name "python2-pil")
> -- 
> 2.6.3
> 
> 



reply via email to

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