From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: GNU Bazaar doesn't support the GNU build system Date: Sun, 20 Jan 2013 15:26:09 +0100 Message-ID: <871udgvsla.fsf@gnu.org> References: <87r4lj7ziv.fsf@karetnikov.org> <87fw1y7i1n.fsf@gnu.org> <87libp8zkl.fsf@karetnikov.org> <87wqv91e1g.fsf@gnu.org> <87mww4bxdj.fsf@karetnikov.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([208.118.235.92]:49151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Twvqf-0001JB-Ih for bug-guix@gnu.org; Sun, 20 Jan 2013 09:26:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Twvqd-0000WA-Ug for bug-guix@gnu.org; Sun, 20 Jan 2013 09:26:13 -0500 Received: from mail4-relais-sop.national.inria.fr ([192.134.164.105]:9595) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Twvqd-0000W0-Nj for bug-guix@gnu.org; Sun, 20 Jan 2013 09:26:11 -0500 In-Reply-To: <87mww4bxdj.fsf@karetnikov.org> (Nikita Karetnikov's message of "Sat, 19 Jan 2013 17:50:25 -0500") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Nikita Karetnikov Cc: bug-guix@gnu.org Nikita Karetnikov skribis: > AFAICT, the '#:phases' keyword can't be used because it requires > '%standard-phases'. There is also '#:builder', but I haven't found a > way to use it. So, #:phases is a keyword parameter recognized by =E2=80=98gnu-build-system= =E2=80=99. It lets you introduce, remove, or modify the normal build =E2=80=9Cphases= =E2=80=9D (see gnu-build-system.scm). This is useful when you just have to introduce small changes, and when the package=E2=80=99s build system is similar to th= e GNU build system=E2=80=94i.e., use something close to ./configure && make && ma= ke install (info "(guix) Defining Packages"). In the case of Python packages, the right thing would be to define a =E2=80=98python-build-system=E2=80=99. You=E2=80=99d add a (guix build-sys= tem python) module that exports =E2=80=98python-build-system=E2=80=99; packages would use it a= s the value of their =E2=80=98build-system=E2=80=99 field, which would mean that they g= et built, installed, and tested via the =E2=80=98python setup.py install=E2=80=99 etc= . commands. This way, many/most Python packages would need little or no customization once they use =E2=80=98python-build-system=E2=80=99. So that=E2=80=99s the idea. You could check development/python-modules/generic/default.nix in Nixpkgs to see how it=E2=80=99s done there. I realize this is a bit more involved than =E2=80=9Cjust=E2=80=9D packaging= the thing, but it will be useful in the long run. WDYT? Ludo=E2=80=99.