Alex Vong <[email protected]> skribis: > On 05/10/2015, Mathieu Lirzin <[email protected]> wrote: >> Alex Vong <[email protected]> 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’.
