From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Vong Subject: Re: [PATCH] gnu: Add Mlucas. Date: Tue, 6 Oct 2015 21:58:45 +0800 Message-ID: References: <20151005130123.2091f6e4@debian> <878u7hmw2w.fsf@openmailbox.org> <87bnccpb3i.fsf@gnu.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]:56924) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZjSlU-0008Py-3Y for guix-devel@gnu.org; Tue, 06 Oct 2015 09:58:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZjSlS-00009S-OP for guix-devel@gnu.org; Tue, 06 Oct 2015 09:58:47 -0400 In-Reply-To: <87bnccpb3i.fsf@gnu.org> 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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel@gnu.org Hi Ludovic, On 06/10/2015, Ludovic Court=C3=A8s wrote: > 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 >>> but >>> 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 bootst= rap 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, = etc. > > 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, so= metimes > Autoconf+Automake, sometimes Autoconf+Automake+Libtool, etc. So I think > the set of dependencies should be kept explicit=E2=80=93i.e., packages ha= ve 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? > I think if the set of dependencies should be kept explicit, then it seems the only thing we are left to abstract away is trying the commands ``autoreconf -vfi'', ``./bootstrap'' and ``./autogen.sh''. But I think the command is better left for the package maintainer to decide since the bootstrap script may have unusual name. (I have seen ``bootstrap.sh'' for instance.) My original though is to let the package maintainer to pass in the bootstrap command string. However, if it is the case, then gnu-bootstrap build-system isn't abstracting anything at all. So I think I'll go back to the original solution of adding a new phase and specifying autotools dependencies instead. >>>> + >>>> +(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, b= ut in the context >>> of >>> a >>> description it is not relevant to describe freedom of a package since >>> every >>> 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 Descri= ptions=E2=80=9D > in the manual.) > Yes I will fix those. > Thank you, and welcome! > > Ludo=E2=80=99. > Thanks too! Cheers, Alex