guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add Mlucas.


From: Ludovic Courtès
Subject: Re: [PATCH] gnu: Add Mlucas.
Date: Tue, 06 Oct 2015 12:04:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Alex Vong <address@hidden> skribis:

> On 05/10/2015, Mathieu Lirzin <address@hidden> wrote:
>> Alex Vong <address@hidden> 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
>> “guix/guix/build/bootstap-build-system.scm” 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’s not uncommon, indeed.  However, the details on how to bootstrap are
not standard: Often ‘autoreconf -vfi’ will do, sometimes it’s
‘./bootstrap’, sometimes ‘./autogen.sh’, etc.

Now the proposed build system could maybe try these variants one after
the other.

Also, the set of dependencies varies: sometimes it’s Autoconf, sometimes
Autoconf+Automake, sometimes Autoconf+Automake+Libtool, etc.  So I think
the set of dependencies should be kept explicit–i.e., packages have to
add stuff to ‘native-inputs’.

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 ‘%standard-phases’.

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 “free software”, but 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 ‘description’ and ‘synopsis’ fields.  This allows those
strings to be extracted for translation (see “Synopses and Descriptions”
in the manual.)

Thank you, and welcome!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]