GNU bug report logs - #22013
python2 versions of packages failing as inputs

Previous Next

Package: guix;

Reported by: Efraim Flashner <efraim <at> flashner.co.il>

Date: Wed, 25 Nov 2015 18:56:02 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


Message #11 received at 22013 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 22013 <at> debbugs.gnu.org, Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: bug#22013: python2 versions of packages failing as inputs
Date: Thu, 26 Nov 2015 09:59:12 +0100
Ricardo Wurmus <rekado <at> elephly.net> skribis:

> Efraim Flashner <efraim <at> flashner.co.il> writes:
>
>> Guix build python2-cryptography builds fine, guix build python2-oauthlib
>> rebuilds python2-cryptography, and fails to build. Python2-cryptography has
>> an additional input of python2-ipaddress which doesn't get carried along when
>> python2-cryptography is an input and not the final build.
>
> I think that’s pretty normal.  We have the same situation in
> ‘python2-openssl’ where we have to explicitly add ‘python2-cryptography’
> and remove ‘python-cryptography’.

Yes, and this is due to the fact that ‘python2-cryptography’ is not just
an automatically-translated package:

  (define-public python2-cryptography
    (let ((crypto (package-with-python2 python-cryptography)))
      (package (inherit crypto)
        (propagated-inputs
         `(("python2-ipaddress" ,python2-ipaddress)
           ,@(package-propagated-inputs crypto))))))

If it were simply equal to (package-with-python2 python-cryptography),
there would be no need for the manual tweak in ‘python-pyopenssl’.

Efraim, could you apply the same strategy as for ‘python2-pyopenssl’ in
‘python2-oauthlib’?

> It would, of course, be nice if package-with-python2 could handle this
> automatically.

I think we would need a way to register “translation” results.
Currently ‘package-with-python2’ internally uses a hash table to memoize
conversion results.  We could imagine adding something like:

  (register-python2-variant PY3VARIANT PY2VARIANT)

to explicitly add a pair to that hash table.

The downside of this approach is that this would break referential
transparency.

WDYT?

Thanks,
Ludo’.




This bug report was last modified 9 years and 167 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.