Subject: Re: bug#22808: Add a function to simplify many of the new python2-foo definitions

From: Efraim Flashner <[email-masked]>
Date: Tue, 26 Apr 2016 15:44:28 +0300

On Tue, Apr 26, 2016 at 11:54:28AM +0200, Ludovic Courtès wrote:
> [email-masked] (Ludovic Courtès) skribis:
> 
> > Christopher Allan Webber <[email-masked]> skribis:
> >
> >> Right now we have a lot of these that look very similar:
> >>
> >>   (define-public python2-chardet
> >>     (package
> >>       (inherit (package-with-python2
> >>                 (strip-python2-variant python-chardet)))
> >>       (native-inputs `(("python2-setuptools" ,python2-setuptools)))))
> >
> > Right, we discussed before adding the python2-setuptools dependency
> > automatically as part of ‘package-with-python2’.  I think this would be
> > a good idea, indeed.
> 
> What about this:
> 

> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -345,6 +345,14 @@ instead of @command{python3}.")))
>  (define-public python-wrapper (wrap-python3 python))
>  (define-public python-minimal-wrapper (wrap-python3 python-minimal))
>  
> +(define (package-with-python2+setuptools p)
> +  (let ((base (package-with-python2 (strip-python2-variant p))))
> +    (package
> +      (inherit base)
> +      (native-inputs `(("python2-setuptools" ,python2-setuptools)
> +                       ,@(package-native-inputs base))))))
> +
> +
>  (define-public python-psutil
>    (package
>      (name "python-psutil")

> 
> Then we need to change all the occurrences of this pattern to use this
> new procedure.
> 
> Thoughts?
> 
> Ludo’.

Would we still need the properties field in python-foo?

What would this mean for packages that need python2-setuptools and other
python2- specific packages? Specifically, would all the calls to
package-native-inputs cause a slowdown in computing the package?

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted