From unknown Tue Aug 19 09:35:00 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#34574 <34574@debbugs.gnu.org> To: bug#34574 <34574@debbugs.gnu.org> Subject: Status: Confusing manual entry for gexp->file Reply-To: bug#34574 <34574@debbugs.gnu.org> Date: Tue, 19 Aug 2025 16:35:00 +0000 retitle 34574 Confusing manual entry for gexp->file reassign 34574 guix submitter 34574 "pelzflorian (Florian Pelz)" severity 34574 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 19 11:22:01 2019 Received: (at submit) by debbugs.gnu.org; 19 Feb 2019 16:22:01 +0000 Received: from localhost ([127.0.0.1]:55455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gw89h-0003hD-EM for submit@debbugs.gnu.org; Tue, 19 Feb 2019 11:22:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:60661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gw89f-0003h1-Pn for submit@debbugs.gnu.org; Tue, 19 Feb 2019 11:22:00 -0500 Received: from lists.gnu.org ([209.51.188.17]:58846) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gw89N-0007a4-CH for submit@debbugs.gnu.org; Tue, 19 Feb 2019 11:21:46 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46775) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gw89M-0004mH-HK for bug-guix@gnu.org; Tue, 19 Feb 2019 11:21:41 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gw89L-0007XZ-3p for bug-guix@gnu.org; Tue, 19 Feb 2019 11:21:40 -0500 Received: from pelzflorian.de ([5.45.111.108]:51422 helo=mail.pelzflorian.de) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gw89K-0007PS-9Q for bug-guix@gnu.org; Tue, 19 Feb 2019 11:21:38 -0500 Received: from pelzflorian.localdomain (unknown [5.45.111.108]) by mail.pelzflorian.de (Postfix) with ESMTPSA id 84025360035 for ; Tue, 19 Feb 2019 17:21:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pelzflorian.de; s=mail; t=1550593280; bh=e4ZM1f8X6FygPtOth6YXHkjK0Kd80me5uYbnhb1pv0Q=; h=Date:From:To:Subject; b=4XVwL43yyLCFu+dAy41WJ2K2t1vjX29OajMBqv3RNlfFKRv0xnNhSBx8PmwMfxCkz wKUaFQrMgA1UZq51BnaggjIu0lb+sTF6qJfrjICmgoomx5NXaDV/szJcvdEWSe4LwJ Kqc9G0w8SalRpNA2w3EikQBcgdFROV0Fc5g0iCgk= Date: Tue, 19 Feb 2019 17:21:20 +0100 From: "pelzflorian (Florian Pelz)" To: bug-guix@gnu.org Subject: Confusing manual entry for gexp->file Message-ID: <20190219162120.7evs2ynhhdksyq2d@pelzflorian.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: NeoMutt/20180716 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 5.45.111.108 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit 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: -0.1 (/) Hello, The Guix manual contains the following description of gexp->file: -- Monadic Procedure: gexp->file NAME EXP [#:set-load-path? #t] [#:module-path %load-path] [#:splice? #f] [#:guile (default-guile)] Return a derivation that builds a file NAME containing EXP. When SPLICE? is true, EXP is considered to be a list of expressions that will be spliced in the resulting file. When SET-LOAD-PATH? is true, emit code in the resulting file to set =E2=80=98%load-path=E2=80=99 and =E2=80=98%load-compiled-path=E2=80=99= to honor EXP=E2=80=99s imported modules. Look up EXP=E2=80=99s modules in MODULE-PATH. The resulting file holds references to all the dependencies of EXP or a subset thereof. I do not understand this last sentence. How can it be a subset? A subset of what? Can this be explained more clearly or removed? Regards, Florian From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 06 08:17:54 2019 Received: (at 34574) by debbugs.gnu.org; 6 Mar 2019 13:17:54 +0000 Received: from localhost ([127.0.0.1]:33819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h1WQk-0004ev-1j for submit@debbugs.gnu.org; Wed, 06 Mar 2019 08:17:54 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:58354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h1WQi-0004en-57 for 34574@debbugs.gnu.org; Wed, 06 Mar 2019 08:17:52 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 259B9A9D1; Wed, 6 Mar 2019 14:17:51 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fzQWWiO648GU; Wed, 6 Mar 2019 14:17:50 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 26132A9CE; Wed, 6 Mar 2019 14:17:50 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: "pelzflorian \(Florian Pelz\)" Subject: Re: bug#34574: Confusing manual entry for gexp->file References: <20190219162120.7evs2ynhhdksyq2d@pelzflorian.localdomain> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 16 =?utf-8?Q?Vent=C3=B4se?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=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: Wed, 06 Mar 2019 14:17:49 +0100 In-Reply-To: <20190219162120.7evs2ynhhdksyq2d@pelzflorian.localdomain> (pelzflorian's message of "Tue, 19 Feb 2019 17:21:20 +0100") Message-ID: <871s3kjg5e.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 34574 Cc: 34574@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: -0.0 (/) Hi Florian, "pelzflorian (Florian Pelz)" skribis: > The Guix manual contains the following description of gexp->file: > > -- Monadic Procedure: gexp->file NAME EXP [#:set-load-path? #t] > [#:module-path %load-path] [#:splice? #f] [#:guile > (default-guile)] Return a derivation that builds a file NAME > containing EXP. When SPLICE? is true, EXP is considered to be a > list of expressions that will be spliced in the resulting file. > > When SET-LOAD-PATH? is true, emit code in the resulting file to set > =E2=80=98%load-path=E2=80=99 and =E2=80=98%load-compiled-path=E2=80= =99 to honor EXP=E2=80=99s imported > modules. Look up EXP=E2=80=99s modules in MODULE-PATH. > > The resulting file holds references to all the dependencies of EXP > or a subset thereof. > > I do not understand this last sentence. How can it be a subset? A > subset of what? Can this be explained more clearly or removed? It can be a subset of the references of EXP because, when a build completes, the daemon scan the output(s) to determine the set of residual references. That=E2=80=99s the difference between build-time and run-time dependencies. For instance, =E2=80=98sed=E2=80=99 depends on =E2=80=98gcc=E2=80=99 and = =E2=80=98gcc:lib=E2=80=99 at build time, but its output depends only on =E2=80=98gcc:lib=E2=80=99. Does that make sense? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 06 13:35:25 2019 Received: (at 34574) by debbugs.gnu.org; 6 Mar 2019 18:35:25 +0000 Received: from localhost ([127.0.0.1]:34663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h1bO1-00087W-EY for submit@debbugs.gnu.org; Wed, 06 Mar 2019 13:35:25 -0500 Received: from pelzflorian.de ([5.45.111.108]:42652 helo=mail.pelzflorian.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h1bNx-00087L-Th for 34574@debbugs.gnu.org; Wed, 06 Mar 2019 13:35:24 -0500 Received: from pelzflorian.localdomain (unknown [5.45.111.108]) by mail.pelzflorian.de (Postfix) with ESMTPSA id 23C29360037; Wed, 6 Mar 2019 19:35:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pelzflorian.de; s=mail; t=1551897320; bh=2Vdhc+vXEq0LhATbO6lmk1JPXNsIZoU84sZjJ8Y9OtE=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=Z1+KIlqeL9o4uBVlkEp51qRauNeoTnr+mzrsuvRrAmmZnyUROmSRXCYtttVQ8oiGp +Mjw6ii2VG/xYaHWV6pkTnSCTAam+391EE/E+NZHR2bGVJSCjALd3ND8XQ6fG7KKnA BXrPF5ckLmnBxrumUunMH4O1x+dYK577BpAlP6BY= Date: Wed, 6 Mar 2019 19:35:19 +0100 From: "pelzflorian (Florian Pelz)" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#34574: Confusing manual entry for gexp->file Message-ID: <20190306183519.ws5hrx66ex4xa4d7@pelzflorian.localdomain> References: <20190219162120.7evs2ynhhdksyq2d@pelzflorian.localdomain> <871s3kjg5e.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <871s3kjg5e.fsf@gnu.org> User-Agent: NeoMutt/20180716 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34574 Cc: 34574@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.0 (-) On Wed, Mar 06, 2019 at 02:17:49PM +0100, Ludovic Courtès wrote: > Hi Florian, > > "pelzflorian (Florian Pelz)" skribis: > > > The Guix manual contains the following description of gexp->file: > > > > -- Monadic Procedure: gexp->file NAME EXP [#:set-load-path? #t] > > [#:module-path %load-path] [#:splice? #f] [#:guile > > (default-guile)] Return a derivation that builds a file NAME > > containing EXP. When SPLICE? is true, EXP is considered to be a > > list of expressions that will be spliced in the resulting file. > > > > When SET-LOAD-PATH? is true, emit code in the resulting file to set > > ‘%load-path’ and ‘%load-compiled-path’ to honor EXP’s imported > > modules. Look up EXP’s modules in MODULE-PATH. > > > > The resulting file holds references to all the dependencies of EXP > > or a subset thereof. > > > > I do not understand this last sentence. How can it be a subset? A > > subset of what? Can this be explained more clearly or removed? > > It can be a subset of the references of EXP because, when a build > completes, the daemon scan the output(s) to determine the set of > residual references. That’s the difference between build-time and > run-time dependencies. > > For instance, ‘sed’ depends on ‘gcc’ and ‘gcc:lib’ at build time, but > its output depends only on ‘gcc:lib’. > > Does that make sense? > > Ludo’. Thank you. I did not know this is how the daemon determines outputs’ references. In this case I would understand the manual more easily if it said: The output(s) resulting from this derivation will be scanned for references by the daemon. They can hold references to all the dependencies of EXP or a subset thereof. Please make this more clear in the manual. Regards, Florian From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 08 05:48:46 2019 Received: (at 34574-done) by debbugs.gnu.org; 8 Mar 2019 10:48:46 +0000 Received: from localhost ([127.0.0.1]:35873 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h2D3V-0007Eg-HQ for submit@debbugs.gnu.org; Fri, 08 Mar 2019 05:48:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h2D3T-0007ES-Hn for 34574-done@debbugs.gnu.org; Fri, 08 Mar 2019 05:48:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55599) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2D3N-0001KM-Rg; Fri, 08 Mar 2019 05:48:38 -0500 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=39220 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1h2D3N-0005oj-CU; Fri, 08 Mar 2019 05:48:37 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: "pelzflorian \(Florian Pelz\)" Subject: Re: bug#34574: Confusing manual entry for gexp->file References: <20190219162120.7evs2ynhhdksyq2d@pelzflorian.localdomain> <871s3kjg5e.fsf@gnu.org> <20190306183519.ws5hrx66ex4xa4d7@pelzflorian.localdomain> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 18 =?utf-8?Q?Vent=C3=B4se?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=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: Fri, 08 Mar 2019 11:48:34 +0100 In-Reply-To: <20190306183519.ws5hrx66ex4xa4d7@pelzflorian.localdomain> (pelzflorian's message of "Wed, 6 Mar 2019 19:35:19 +0100") Message-ID: <87r2bhhcal.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34574-done Cc: 34574-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.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Florian, "pelzflorian (Florian Pelz)" skribis: > On Wed, Mar 06, 2019 at 02:17:49PM +0100, Ludovic Court=C3=A8s wrote: >> Hi Florian, >>=20 >> "pelzflorian (Florian Pelz)" skribis: >>=20 >> > The Guix manual contains the following description of gexp->file: >> > >> > -- Monadic Procedure: gexp->file NAME EXP [#:set-load-path? #t] >> > [#:module-path %load-path] [#:splice? #f] [#:guile >> > (default-guile)] Return a derivation that builds a file NAME >> > containing EXP. When SPLICE? is true, EXP is considered to be a >> > list of expressions that will be spliced in the resulting file. >> > >> > When SET-LOAD-PATH? is true, emit code in the resulting file to s= et >> > =E2=80=98%load-path=E2=80=99 and =E2=80=98%load-compiled-path=E2= =80=99 to honor EXP=E2=80=99s imported >> > modules. Look up EXP=E2=80=99s modules in MODULE-PATH. >> > >> > The resulting file holds references to all the dependencies of EXP >> > or a subset thereof. >> > >> > I do not understand this last sentence. How can it be a subset? A >> > subset of what? Can this be explained more clearly or removed? >>=20 >> It can be a subset of the references of EXP because, when a build >> completes, the daemon scan the output(s) to determine the set of >> residual references. That=E2=80=99s the difference between build-time a= nd >> run-time dependencies. >>=20 >> For instance, =E2=80=98sed=E2=80=99 depends on =E2=80=98gcc=E2=80=99 and= =E2=80=98gcc:lib=E2=80=99 at build time, but >> its output depends only on =E2=80=98gcc:lib=E2=80=99. >>=20 >> Does that make sense? >>=20 >> Ludo=E2=80=99. > > Thank you. I did not know this is how the daemon determines outputs=E2= =80=99 > references. In this case I would understand the manual more easily if > it said: > > The output(s) resulting from this derivation will be scanned for > references by the daemon. They can hold references to all the > dependencies of EXP or a subset thereof. > > Please make this more clear in the manual. The explanation isn=E2=80=99t specific to =E2=80=98gexp->file=E2=80=99 so I= =E2=80=99ve added the following text under =E2=80=9CDerivations=E2=80=9D. Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline modified doc/guix.texi @@ -6238,8 +6238,11 @@ The outputs of the derivation---derivations produce at least one file or directory in the store, but may produce more. @item -The inputs of the derivations, which may be other derivations or plain -files in the store (patches, build scripts, etc.) +@cindex build-time dependencies +@cindex dependencies, build-time +The inputs of the derivations---i.e., its build-time dependencies---which may +be other derivations or plain files in the store (patches, build scripts, +etc.) @item The system type targeted by the derivation---e.g., @code{x86_64-linux}. @@ -6270,6 +6273,16 @@ of a fixed-output derivation are independent of its inputs---e.g., a source code download produces the same result regardless of the download method and tools being used. +@cindex references +@cindex run-time dependencies +@cindex dependencies, run-time +The outputs of derivations---i.e., the build results---have a set of +@dfn{references}, as reported by the @code{references} RPC or the +@command{guix gc --references} command (@pxref{Invoking guix gc}). References +are the set of run-time dependencies of the build results. References are a +subset of the inputs of the derivation; this subset is automatically computed +by the build daemon by scanning all the files in the outputs. + The @code{(guix derivations)} module provides a representation of derivations as Scheme objects, along with procedures to create and otherwise manipulate derivations. The lowest-level primitive to create --=-=-=-- From unknown Tue Aug 19 09:35:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 05 Apr 2019 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