Hi, > Can you be more specific why it is removed? I don't understand the harm > it does or doesn't do when it's included. > Would this not be bad for packages which require setuptools?
Python 3.4 integrated setuptools into the main distribution. It doesn't require an external python-setuptools. I don't understand why Guix even still has a "python-setuptools" package. (python2-setuptools is OK - but the other one: why?) New packages are usually Python 3 compatible. Also, the python-build-system defaults to Python 3. That's why I assume that the package S-Expression printed is for Python 3 (and so do many other Guix parts). There, it doesn't make sense to include setuptools anymore. Also, it's better if the package expression doesn't include python-setuptools by default because a lazy packager (i.e. me) will just copy & paste it and call it a day. Then the new package depends on python-setuptools even though it doesn't need it at all. I'm not sure what to do about the Python 2 package expression. I think this function only can return one expression. If possible, I'd like it to automatically print the Python 2 package expression, for example (define-public python2-lockfile (let ((base (package-with-python2 (strip-python2-variant python-lockfile)))) (package (inherit base) (native-inputs `(("python2-setuptools" ,python2-setuptools) ,@(package-native-inputs base)))))) , as well.