From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] gnu: Add Mlucas. Date: Tue, 06 Oct 2015 12:04:01 +0200 Message-ID: <87bnccpb3i.fsf@gnu.org> References: <20151005130123.2091f6e4@debian> <878u7hmw2w.fsf@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjP6P-0007Wr-1a for guix-devel@gnu.org; Tue, 06 Oct 2015 06:04:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjP6J-0001UG-V0 for guix-devel@gnu.org; Tue, 06 Oct 2015 06:04:08 -0400 In-Reply-To: (Alex Vong's message of "Tue, 6 Oct 2015 11:13:45 +0800") List-Id: "Development of GNU Guix and the GNU System distribution." 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: Alex Vong Cc: guix-devel@gnu.org Alex Vong skribis: > On 05/10/2015, Mathieu Lirzin wrote: >> Alex Vong writes: [...] >> I'm not competent enough to judge if it's a useful build-system to add b= ut >> this should be done in another commit and in >> =E2=80=9Cguix/guix/build/bootstap-build-system.scm=E2=80=9D if yes. >> > I should be more a newbie than you do. I just wonder if it is possible > to modify the build system by a little, such as adding a bootstrap > phase and some new inputs, and then give a name to the new build > system. Since it seems many packages are repeating this step, I think > it will be great if we have this mean of abstraction. It=E2=80=99s not uncommon, indeed. However, the details on how to bootstra= p are not standard: Often =E2=80=98autoreconf -vfi=E2=80=99 will do, sometimes it= =E2=80=99s =E2=80=98./bootstrap=E2=80=99, sometimes =E2=80=98./autogen.sh=E2=80=99, et= c. Now the proposed build system could maybe try these variants one after the other. Also, the set of dependencies varies: sometimes it=E2=80=99s Autoconf, some= times Autoconf+Automake, sometimes Autoconf+Automake+Libtool, etc. So I think the set of dependencies should be kept explicit=E2=80=93i.e., packages have= to add stuff to =E2=80=98native-inputs=E2=80=99. Could you try to make this build system as a standalone commit, leaving out the build flags code for a separate discussion? The commit would add (guix build-system gnu-bootstrap) for instance (I call it this way because it bootstraps specifically the GNU build system, not CMake, etc.) and (guix build gnu-bootstrap-build-system). The latter would simply add one phase to =E2=80=98%standard-phases=E2=80=99. Does that make sense? >>> + >>> +(define-public mlucas >>> + ;; descriptions of the package >>> + (let ((short-description >>> + "Program to perform Lucas-Lehmer test on a Mersenne number") >>> + (long-description >>> + "mlucas is an open-source (and free/libre) program >> ^^^ >> >> Being a GNU project, we use the term =E2=80=9Cfree software=E2=80=9D, bu= t in the context of >> a >> description it is not relevant to describe freedom of a package since ev= ery >> package in Guix is free software. >> > "open-source" is actually mentioned in the upstream description, so I > add the description inside the parenthesis. But I can remove both if > it is desired. Yes please. Everything is free in Guix anyway. :-) Also, as Alex mentions, the synopsis and description must be literal strings in the =E2=80=98description=E2=80=99 and =E2=80=98synopsis=E2=80=99= fields. This allows those strings to be extracted for translation (see =E2=80=9CSynopses and Descript= ions=E2=80=9D in the manual.) Thank you, and welcome! Ludo=E2=80=99.