Python-2 variants of python-3 packages that are not automatically translated by package-with-python2 are not used by auto-translated python-2 packages.
For example, python2-cryptography requires python2-ipaddress. This is not required by python-cryptography: http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm#n5838 Python-oauthlib requires python-cryptography, and thus cannot be translated wholly by package-with-python2. Package-with-python2 fails to refer to the "hand-made" python2-cryptography that includes python2-ipaddress, and insteads attempts to generate it automatically. This results in a failed build of python2-cryptopgraphy because python2-ipaddress is not being provided. The solution is to remove python-cryptography from python2-oauthlib and provide python2-cryptography "by hand": http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python.scm#n2333 This is especially annoying when a python-2 variant needs to refer to more than one of these "hand-made" python-2 packages: http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00921.html There are many python-3 packages that include python-setuptools, even though they build without it. I assume this is to easily take advantage of package-with-python2. Some context: bug: python2 versions of packages failing as inputs http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22013 guix-devel: Python2-jsonschema fails: http://lists.gnu.org/archive/html/guix-devel/2016-01/msg00604.html guix-devel: Split acme into both Python variants http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00921.html