From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Improving the Python build system. Date: Sun, 1 Sep 2013 15:27:26 +0200 Message-ID: <20130901132726.GB1699@debian> References: <521A936C.3040900@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39751) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VG7gp-0003cD-BR for guix-devel@gnu.org; Sun, 01 Sep 2013 09:27:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VG7gi-0007ok-CV for guix-devel@gnu.org; Sun, 01 Sep 2013 09:27:39 -0400 Received: from moutng.kundenserver.de ([212.227.17.9]:49804) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VG7gi-0007og-2q for guix-devel@gnu.org; Sun, 01 Sep 2013 09:27:32 -0400 Content-Disposition: inline In-Reply-To: <521A936C.3040900@gmail.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Cyril Roelandt Cc: guix-devel@gnu.org On Mon, Aug 26, 2013 at 01:29:48AM +0200, Cyril Roelandt wrote: > Andreas, could you please send us your Python modules that fail > because of setuptools ? I think these packages require setuptools > instead of distutils (which comes with Python), so we'll probably > have to package setuptools. Both are quite similar, so the > "python-build-system" can probably be used anyway. Otherwise, we'll > have to write a build system per tool > (distutils/distutils2/setuptools/bento). Probably (once the python changes dust settles), it will be enough to simply add setuptools as an input to the packages. I would like to suggest a few modifications to the python build system resulting from discussions with Brandon Invergo at the GHM. If I understood correctly, then "setup.py check" only makes some basic checks on the package and can be safely dropped. This is corroborated by python setup.py --help-commands | grep check on pytz, for instance, which displays check perform some checks on the package However, "python setup.py --help-commands | grep test": test run unit tests after in-place build I think this it what we would like to do in the check phase. Then it is possible to also separate the build and install phases: build build everything needed to install I think we would like to add such a phase. Stylistically, they should probably be obtained by a call to one function returning a procedure calling setup.py with "build", "test" and "install", respectively, instead of copy-pasting three times the same code. There is another mild complication: The binary should be called "python3" instead of "python" under Python 3. What do you think? Andreas