From unknown Wed Jun 18 23:08:14 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#47709 <47709@debbugs.gnu.org> To: bug#47709 <47709@debbugs.gnu.org> Subject: Status: [PATCH 0/2] Augment build phases and build system doc Reply-To: bug#47709 <47709@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:08:14 +0000 retitle 47709 [PATCH 0/2] Augment build phases and build system doc reassign 47709 guix-patches submitter 47709 Ludovic Court=C3=A8s severity 47709 normal tag 47709 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 11 09:38:16 2021 Received: (at submit) by debbugs.gnu.org; 11 Apr 2021 13:38:17 +0000 Received: from localhost ([127.0.0.1]:54186 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaI4-0004du-NS for submit@debbugs.gnu.org; Sun, 11 Apr 2021 09:38:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:55318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaI1-0004dl-V2 for submit@debbugs.gnu.org; Sun, 11 Apr 2021 09:38:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36746) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lVaI1-0000zz-5u for guix-patches@gnu.org; Sun, 11 Apr 2021 09:38:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33713) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVaI0-0002RP-UR; Sun, 11 Apr 2021 09:38:12 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43316 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVaHl-0002cV-Dx; Sun, 11 Apr 2021 09:38:05 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH 0/2] Augment build phases and build system doc Date: Sun, 11 Apr 2021 15:37:47 +0200 Message-Id: <20210411133747.26175-1-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi there! Since we’re approaching string freeze, here are changes I’d like to push before people start translating again. The first one move build phase documentation in one place. The second one documents some of the import keyword parameters of ‘gnu-build-system’ and related build systems. Thoughts? Ludo’. Ludovic Courtès (2): doc: Move list of build phases to "Build Phases". doc: Document 'gnu-build-system' keyword parameters. doc/guix.texi | 186 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 127 insertions(+), 59 deletions(-) -- 2.31.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 11 09:46:24 2021 Received: (at 47709) by debbugs.gnu.org; 11 Apr 2021 13:46:24 +0000 Received: from localhost ([127.0.0.1]:54194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaPv-0004qY-IC for submit@debbugs.gnu.org; Sun, 11 Apr 2021 09:46:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53670) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaPu-0004qE-7J for 47709@debbugs.gnu.org; Sun, 11 Apr 2021 09:46:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33992) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVaPo-0006zc-8m; Sun, 11 Apr 2021 09:46:16 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43326 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVaPm-0001kb-Bm; Sun, 11 Apr 2021 09:46:16 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 47709@debbugs.gnu.org Subject: [PATCH 1/2] doc: Move list of build phases to "Build Phases". Date: Sun, 11 Apr 2021 15:46:05 +0200 Message-Id: <20210411134606.26449-1-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Before this change, the 'gnu-build-system' phases were listed in the "Build Systems" section, and then summarized in the "Build Phases" section. This moves everything to "Build Phases". * doc/guix.texi (Build Systems): Move phase table to... (Build Phases): ... here. Rearrange surrounding text. --- doc/guix.texi | 108 +++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 59 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 218ff35ce9..c8d3422189 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7297,55 +7297,7 @@ standards, GNU Coding Standards}). In a nutshell, packages using it are configured, built, and installed with the usual @code{./configure && make && make check && make install} command sequence. In practice, a few additional steps are often needed. -All these steps are split up in separate @dfn{phases}, -notably@footnote{Please see the @code{(guix build gnu-build-system)} -modules for more details about the build phases.}: - -@table @code -@item unpack -Unpack the source tarball, and change the current directory to the -extracted source tree. If the source is actually a directory, copy it -to the build tree, and enter that directory. - -@item patch-source-shebangs -Patch shebangs encountered in source files so they refer to the right -store file names. For instance, this changes @code{#!/bin/sh} to -@code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}. - -@item configure -Run the @file{configure} script with a number of default options, such -as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified -by the @code{#:configure-flags} argument. - -@item build -Run @code{make} with the list of flags specified with -@code{#:make-flags}. If the @code{#:parallel-build?} argument is true -(the default), build with @code{make -j}. - -@item check -Run @code{make check}, or some other target specified with -@code{#:test-target}, unless @code{#:tests? #f} is passed. If the -@code{#:parallel-tests?} argument is true (the default), run @code{make -check -j}. - -@item install -Run @code{make install} with the flags listed in @code{#:make-flags}. - -@item patch-shebangs -Patch shebangs on the installed executable files. - -@item strip -Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} -is false), copying them to the @code{debug} output when available -(@pxref{Installing Debugging Files}). -@end table - -@vindex %standard-phases -The build-side module @code{(guix build gnu-build-system)} defines -@code{%standard-phases} as the default list of build phases. -@code{%standard-phases} is a list of symbol/procedure pairs, where the -procedure implements the actual phase. - +All these steps are split up in separate @dfn{phases}. @xref{Build Phases}, for more info on build phases and ways to customize them. @@ -8249,16 +8201,53 @@ exception is the ``bare-bones'' @code{trivial-build-system} (@pxref{Build Systems}). As discussed in the previous section, those build systems provide a -standard list of phases. For @code{gnu-build-system}, the standard -phases include an @code{unpack} phase to unpack the source code tarball, -a @command{configure} phase to run @code{./configure}, a @code{build} -phase to run @command{make}, and (among others) an @code{install} phase -to run @command{make install}; @pxref{Build Systems}, for a more -detailed view of these phases. Likewise, @code{cmake-build-system} -inherits these phases, but its @code{configure} phase runs -@command{cmake} instead of @command{./configure}. Other build systems, -such as @code{python-build-system}, have a wholly different list of -standard phases. All this code runs on the @dfn{build side}: it is +standard list of phases. For @code{gnu-build-system}, the main build +phases are the following: + +@table @code +@item unpack +Unpack the source tarball, and change the current directory to the +extracted source tree. If the source is actually a directory, copy it +to the build tree, and enter that directory. + +@item patch-source-shebangs +Patch shebangs encountered in source files so they refer to the right +store file names. For instance, this changes @code{#!/bin/sh} to +@code{#!/gnu/store/@dots{}-bash-4.3/bin/sh}. + +@item configure +Run the @file{configure} script with a number of default options, such +as @option{--prefix=/gnu/store/@dots{}}, as well as the options specified +by the @code{#:configure-flags} argument. + +@item build +Run @code{make} with the list of flags specified with +@code{#:make-flags}. If the @code{#:parallel-build?} argument is true +(the default), build with @code{make -j}. + +@item check +Run @code{make check}, or some other target specified with +@code{#:test-target}, unless @code{#:tests? #f} is passed. If the +@code{#:parallel-tests?} argument is true (the default), run @code{make +check -j}. + +@item install +Run @code{make install} with the flags listed in @code{#:make-flags}. + +@item patch-shebangs +Patch shebangs on the installed executable files. + +@item strip +Strip debugging symbols from ELF files (unless @code{#:strip-binaries?} +is false), copying them to the @code{debug} output when available +(@pxref{Installing Debugging Files}). +@end table + +Other build systems have similar phases, with some variations. For +example, @code{cmake-build-system} has same-named phases but its +@code{configure} phases runs @code{cmake} instead of @code{./configure}. +Others, such as @code{python-build-system}, have a wholly different list +of standard phases. All this code runs on the @dfn{build side}: it is evaluated when you actually build the package, in a dedicated build process spawned by the build daemon (@pxref{Invoking guix-daemon}). @@ -8269,6 +8258,7 @@ is a procedure that accepts an arbitrary number of arguments. By convention, those procedures receive information about the build in the form of @dfn{keyword parameters}, which they can use or ignore. +@vindex %standard-phases For example, here is how @code{(guix build gnu-build-system)} defines @code{%standard-phases}, the variable holding its alist of build phases@footnote{We present a simplified view of those build phases, but -- 2.31.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 11 09:46:26 2021 Received: (at 47709) by debbugs.gnu.org; 11 Apr 2021 13:46:26 +0000 Received: from localhost ([127.0.0.1]:54196 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaPy-0004qj-1T for submit@debbugs.gnu.org; Sun, 11 Apr 2021 09:46:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVaPu-0004qG-RD for 47709@debbugs.gnu.org; Sun, 11 Apr 2021 09:46:23 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33993) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVaPp-0006zl-BX; Sun, 11 Apr 2021 09:46:17 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43326 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVaPo-0001kb-SM; Sun, 11 Apr 2021 09:46:17 -0400 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: 47709@debbugs.gnu.org Subject: [PATCH 2/2] doc: Document 'gnu-build-system' keyword parameters. Date: Sun, 11 Apr 2021 15:46:06 +0200 Message-Id: <20210411134606.26449-2-ludo@gnu.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210411134606.26449-1-ludo@gnu.org> References: <20210411134606.26449-1-ludo@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) * doc/guix.texi (Build Systems): Document keyword parameters of 'gnu-build-system'. --- doc/guix.texi | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c8d3422189..12245003d4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7307,6 +7307,84 @@ Coreutils, Bash, Make, Diffutils, grep, and sed (see the @code{(guix build-system gnu)} module for a complete list). We call these the @dfn{implicit inputs} of a package, because package definitions do not have to mention them. + +This build system supports a number of keyword arguments, which can be +passed @i{via} the @code{arguments} field of a package. Here are some +of the main parameters: + +@table @code +@item #:phases +This argument specifies build-side code that evaluates to an alist of +build phases. @xref{Build Phases}, for more information. + +@item #:configure-flags +This is a list of flags (strings) passed to the @command{configure} +script. @xref{Defining Packages}, for an example. + +@item #:make-flags +This list of strings contains flags passed as arguments to +@command{make} invocations in the @code{build}, @code{check}, and +@code{install} phases. + +@item #:out-of-source? +This Boolean, @code{#f} by default, indicates whether to run builds in a +build directory separate from the source tree. + +When it is true, the @code{configure} phase creates a separate build +directory, changes to that directory, and runs the @code{configure} +script from there. This is useful for packages that require it, such as +@code{glibc}. + +@item #:tests? +This Boolean, @code{#t} by default, indicates whether the @code{check} +phase should run the package's test suite. + +@item #:test-target +This string, @code{"check"} by default, gives the name of the makefile +target used by the @code{check} phase. + +@item #:parallel-build? +@itemx #:parallel-tests? +These Boolean values specify whether to build, respectively run the test +suite, in parallel, with the @code{-j} flag of @command{make}. When +they are true, @code{make} is passed @code{-j@var{n}}, where @var{n} is +the number specified as the @option{--cores} option of +@command{guix-daemon} or that of the @command{guix} client command +(@pxref{Common Build Options, @option{--cores}}). + +@cindex RUNPATH, validation +@item #:validate-runpath? +This Boolean, @code{#t} by default, determines whether to ``validate'' +the @code{RUNPATH} of ELF binaries (@code{.so} shared libraries as well +as executables) previously installed by the @code{install} phase. + +This validation step consists in making sure that all the shared +libraries needed by an ELF binaries, which are listed as +@code{DT_NEEDED} entries in its @code{PT_DYNAMIC} segment, appear in the +@code{DT_RUNPATH} entry of that binary. In other words, it ensures that +running or using those binaries will not result in a ``file not found'' +error at run time. @xref{Options, @option{-rpath},, ld, The GNU +Linker}, for more information on @code{RUNPATH}. + +@item #:substitutable? +This Boolean, @code{#t} by default, tells whether the package outputs +should be substitutable---i.e., whether users should be able to obtain +substitutes for them instead of building locally (@pxref{Substitutes}). + +@item #:allowed-references +@itemx #:disallowed-references +When true, these arguments must be a list of dependencies that must not +appear among the references of the build results. If, upon build +completion, some of these references are retained, the build process +fails. + +This is useful to ensure that a package does not erroneously keep a +reference to some of it build-time inputs, in cases where doing so +would, for example, unnecessarily increase its size (@pxref{Invoking +guix size}). +@end table + +Most other build systems support these keyword arguments. @end defvr Other @code{} objects are defined to support other -- 2.31.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 11 10:59:54 2021 Received: (at 47709) by debbugs.gnu.org; 11 Apr 2021 14:59:54 +0000 Received: from localhost ([127.0.0.1]:55720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVbZ4-00072H-0l for submit@debbugs.gnu.org; Sun, 11 Apr 2021 10:59:54 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:57558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVbZ1-000725-2X for 47709@debbugs.gnu.org; Sun, 11 Apr 2021 10:59:52 -0400 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by laurent.telenet-ops.be with bizsmtp id rSzo2400U0mfAB401Szo1h; Sun, 11 Apr 2021 16:59:49 +0200 Message-ID: <4d9dddc71c70c5449843989515f59ca71720f3f7.camel@telenet.be> Subject: Re: [bug#47709] [PATCH 2/2] doc: Document 'gnu-build-system' keyword parameters. From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= , 47709@debbugs.gnu.org Date: Sun, 11 Apr 2021 16:59:40 +0200 In-Reply-To: <20210411134606.26449-2-ludo@gnu.org> References: <20210411134606.26449-1-ludo@gnu.org> <20210411134606.26449-2-ludo@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-gFcXnPzKx/0erTAz20rm" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1618153189; bh=6OU+V1IYE0x5IRhehcOoC6xutDbs1B8oEgoWZAhcU5E=; h=Subject:From:To:Date:In-Reply-To:References; b=gy/5kV8EYkQ7eFzZZ6idZ1tiI0zn5SploYoP+ZUKazE11NvSedYKYPzLGBDfZOdRr d6Yqygka1uZ8VklWYP0H+MVrfY+TWgyBH3Cw/SoF3Y7+39P8M7hpQM5LHVWJyzUi2L Uqp5EW9Na0POzZnauZ8Wpv30W5DJyhxLqBxIprmsrlV0L+wXU1Qd/SCEQCvo9l6OXh HEAupQO614m+0zYAVVPr53of7sRgvxbP6ixeUrbVffLgzQcqdTZPS1EzvzFBOR2RQ1 Ci1w7N9JI6zk3O5fdXno7caqjFVafQrKPvf9pWOU+6K3JN3BnW7eQChYmKpQPQF7MI bprT7qyDWkEVg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-gFcXnPzKx/0erTAz20rm Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Some small remarks: On Sun, 2021-04-11 at 15:46 +0200, Ludovic Court=C3=A8s wrote: >=20 > [...] > @@ -7307,6 +7307,84 @@ Coreutils, Bash, Make, Diffutils, grep, and sed (s= ee the @code{(guix > build-system gnu)} module for a complete list). We call these the > @dfn{implicit inputs} of a package, because package definitions do not > have to mention them. > + > +This build system supports a number of keyword arguments, which can be > +passed @i{via} Why the italics? I've heard some people italicise "via" because it's a for= eign word (from Latin), but I'm not convinced. I don't see anyone italicising "broccoli", even though it is Italian (going by https://en.wiktionary.org/wiki/broccoli). > the @code{arguments} field of a package. Here are some > +of the main parameters: > + > +@table @code > +@item #:phases > +This argument specifies build-side code that evaluates to an alist of > +build phases. @xref{Build Phases}, for more information. > + > +@item #:configure-flags > +This is a list of flags (strings) passed to the @command{configure} > +script. @xref{Defining Packages}, for an example. > + > +@item #:make-flags > +This list of strings contains flags passed as arguments to > +@command{make} invocations in the @code{build}, @code{check}, and > +@code{install} phases. > + > +@item #:out-of-source? > +This Boolean, =E2=80=98Boolean=E2=80=99 is miscapitalised. > @code{#f} by default, indicates whether to run builds in a > +build directory separate from the source tree. > + > +When it is true, the @code{configure} phase creates a separate build > +directory, changes to that directory, and runs the @code{configure} > +script from there. This is useful for packages that require it, such as > +@code{glibc}. > + > +@item #:tests? > +This Boolean, @code{#t} by default, indicates whether the @code{check} > +phase should run the package's test suite. Likewise (miscapitalised). > +@item #:test-target > +This string, @code{"check"} by default, gives the name of the makefile > +target used by the @code{check} phase. > + > +@item #:parallel-build? > +@itemx #:parallel-tests? > +These Boolean values specify whether to build, respectively run the test Likewise (miscapitalised). > +suite, in parallel, with the @code{-j} flag of @command{make}. When > +they are true, @code{make} is passed @code{-j@var{n}}, where @var{n} is > +the number specified as the @option{--cores} option of > +@command{guix-daemon} or that of the @command{guix} client command > +(@pxref{Common Build Options, @option{--cores}}). > + > +@cindex RUNPATH, validation > +@item #:validate-runpath? > +This Boolean, @code{#t} by default, determines whether to ``validate'' Likewise (miscapitalised). > +the @code{RUNPATH} of ELF binaries (@code{.so} shared libraries as well > +as executables) previously installed by the @code{install} phase. > + > +This validation step consists in making sure that all the shared > +libraries needed by an ELF binaries, which are listed as > +@code{DT_NEEDED} entries in its @code{PT_DYNAMIC} segment, appear in the > +@code{DT_RUNPATH} entry of that binary. In other words, it ensures that > +running or using those binaries will not result in a ``file not found'' > +error at run time. @xref{Options, @option{-rpath},, ld, The GNU > +Linker}, for more information on @code{RUNPATH}. > + > +@item #:substitutable? > +This Boolean, @code{#t} by default, tells whether the package outputs Likewise (miscapitalised). > +should be substitutable---i.e., whether users should be able to obtain > +substitutes for them instead of building locally (@pxref{Substitutes}). > + > +@item #:allowed-references > +@itemx #:disallowed-references > +When true, these arguments must be a list of dependencies that must not > +appear among the references of the build results. If, upon build > +completion, some of these references are retained, the build process > +fails. > + > +This is useful to ensure that a package does not erroneously keep a > +reference to some of it build-time inputs, in cases where doing so > +would, for example, unnecessarily increase its size (@pxref{Invoking > +guix size}). > +@end table > + > +Most other build systems support these keyword arguments. > @end defvr > =20 > Other @code{} objects are defined to support other No other remarks. LGTM Greetings, Maxime. --=-gFcXnPzKx/0erTAz20rm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYHMO3BccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7l/vAQD6euyas9Yxb6CdCdD8ChyzqDIU INaSe2G7MUYi28n5DQEA1waiiggnB+SBjddu/EoRqZ41BLxOIK+QMp/nh38CWAU= =RyBr -----END PGP SIGNATURE----- --=-gFcXnPzKx/0erTAz20rm-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 12 08:17:18 2021 Received: (at 47709) by debbugs.gnu.org; 12 Apr 2021 12:17:18 +0000 Received: from localhost ([127.0.0.1]:56720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVvVF-0005MX-O2 for submit@debbugs.gnu.org; Mon, 12 Apr 2021 08:17:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:49288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVvVE-0005MK-4C for 47709@debbugs.gnu.org; Mon, 12 Apr 2021 08:17:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53031) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVvV7-0002n9-6b; Mon, 12 Apr 2021 08:17:09 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=47966 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVvV5-0001Px-L1; Mon, 12 Apr 2021 08:17:07 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: [bug#47709] [PATCH 2/2] doc: Document 'gnu-build-system' keyword parameters. References: <20210411134606.26449-1-ludo@gnu.org> <20210411134606.26449-2-ludo@gnu.org> <4d9dddc71c70c5449843989515f59ca71720f3f7.camel@telenet.be> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 23 Germinal an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 12 Apr 2021 14:17:04 +0200 In-Reply-To: <4d9dddc71c70c5449843989515f59ca71720f3f7.camel@telenet.be> (Maxime Devos's message of "Sun, 11 Apr 2021 16:59:40 +0200") Message-ID: <875z0rr933.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709 Cc: 47709@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Maxime Devos skribis: > On Sun, 2021-04-11 at 15:46 +0200, Ludovic Court=C3=A8s wrote: >>=20 >> [...] >> @@ -7307,6 +7307,84 @@ Coreutils, Bash, Make, Diffutils, grep, and sed (= see the @code{(guix >> build-system gnu)} module for a complete list). We call these the >> @dfn{implicit inputs} of a package, because package definitions do not >> have to mention them. >> + >> +This build system supports a number of keyword arguments, which can be >> +passed @i{via} > > Why the italics? I've heard some people italicise "via" because it's a f= oreign > word (from Latin), but I'm not convinced. Italicizing foreign words is a typographical convention. > I don't see anyone italicising "broccoli", even though it is Italian > (going by https://en.wiktionary.org/wiki/broccoli). True. :-) >> +@item #:out-of-source? >> +This Boolean, > =E2=80=98Boolean=E2=80=99 is miscapitalised. I don=E2=80=99t think so: it derives from a family name, and my understandi= ng is that the convention is to capitalize such words; the lower-case variant =E2=80=9Cboolean=E2=80=9D is definitely widespread, though. Thanks for taking a look! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 12 12:45:55 2021 Received: (at 47709-done) by debbugs.gnu.org; 12 Apr 2021 16:45:55 +0000 Received: from localhost ([127.0.0.1]:57898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzhD-0004E2-Ah for submit@debbugs.gnu.org; Mon, 12 Apr 2021 12:45:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzhB-0004Dp-G8 for 47709-done@debbugs.gnu.org; Mon, 12 Apr 2021 12:45:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58343) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVzh3-0006H5-Le; Mon, 12 Apr 2021 12:45:47 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=49058 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVzgn-000422-N1; Mon, 12 Apr 2021 12:45:37 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#47709: [PATCH 0/2] Augment build phases and build system doc References: <20210411134606.26449-1-ludo@gnu.org> <20210411134606.26449-2-ludo@gnu.org> <4d9dddc71c70c5449843989515f59ca71720f3f7.camel@telenet.be> <875z0rr933.fsf@gnu.org> Date: Mon, 12 Apr 2021 18:45:27 +0200 In-Reply-To: <875z0rr933.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 12 Apr 2021 14:17:04 +0200") Message-ID: <87o8ejo3iw.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709-done Cc: 47709-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi! I went ahead and pushed as d14f21389c7faeb8a763ebbcf1b8aa1ba4deade9. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 12 12:45:57 2021 Received: (at 47709-done) by debbugs.gnu.org; 12 Apr 2021 16:45:57 +0000 Received: from localhost ([127.0.0.1]:57901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzhF-0004EG-Hy for submit@debbugs.gnu.org; Mon, 12 Apr 2021 12:45:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44678) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lVzhE-0004Ds-1l for 47709-done@debbugs.gnu.org; Mon, 12 Apr 2021 12:45:56 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58344) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lVzh8-0006JD-Da; Mon, 12 Apr 2021 12:45:50 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=49060 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lVzh6-00042S-N7; Mon, 12 Apr 2021 12:45:49 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#47709: [PATCH 0/2] Augment build phases and build system doc In-Reply-To: <875z0rr933.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 12 Apr 2021 14:17:04 +0200") References: <20210411134606.26449-1-ludo@gnu.org> <20210411134606.26449-2-ludo@gnu.org> <4d9dddc71c70c5449843989515f59ca71720f3f7.camel@telenet.be> <875z0rr933.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Date: Mon, 12 Apr 2021 18:45:47 +0200 Message-ID: <87mtu3o3ic.fsf_-_@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 47709-done Cc: 47709-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi! I went ahead and pushed as d14f21389c7faeb8a763ebbcf1b8aa1ba4deade9. Ludo=E2=80=99. From unknown Wed Jun 18 23:08:14 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 11 May 2021 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator