From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iIV/O5nwWF8+bQAA0tVLHw (envelope-from ) for ; Wed, 09 Sep 2020 15:11:21 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id CP1PN5nwWF93IQAAbx9fmQ (envelope-from ) for ; Wed, 09 Sep 2020 15:11:21 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 9E22A9403A7 for ; Wed, 9 Sep 2020 15:11:20 +0000 (UTC) Received: from localhost ([::1]:45624 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kG1kl-0008IG-Gb for larch@yhetil.org; Wed, 09 Sep 2020 11:11:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kG1kU-0008DY-7g for bug-guix@gnu.org; Wed, 09 Sep 2020 11:11:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:49593) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kG1kT-0003S4-TC for bug-guix@gnu.org; Wed, 09 Sep 2020 11:11:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kG1kT-0002rT-OH for bug-guix@gnu.org; Wed, 09 Sep 2020 11:11:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#26170: Bug #26170 Hunting: doc: Explanation of propagated-inputs unclear Resent-From: "pelzflorian (Florian Pelz)" Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 09 Sep 2020 15:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26170 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: zimoun Received: via spool by 26170-submit@debbugs.gnu.org id=B26170.159966423710966 (code B ref 26170); Wed, 09 Sep 2020 15:11:01 +0000 Received: (at 26170) by debbugs.gnu.org; 9 Sep 2020 15:10:37 +0000 Received: from localhost ([127.0.0.1]:32906 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kG1k4-0002qo-LF for submit@debbugs.gnu.org; Wed, 09 Sep 2020 11:10:36 -0400 Received: from pelzflorian.de ([5.45.111.108]:59624 helo=mail.pelzflorian.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kG1k1-0002qf-Ty for 26170@debbugs.gnu.org; Wed, 09 Sep 2020 11:10:35 -0400 Received: from pelzflorian.localdomain (unknown [5.45.111.108]) by mail.pelzflorian.de (Postfix) with ESMTPSA id 6AF7036055C; Wed, 9 Sep 2020 17:10:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=pelzflorian.de; s=mail; t=1599664232; bh=7xDxgMzuCnSZmNsPFgq45U0OQ1ZH8BwvCoTvQD9jQtQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=cFFKh79qWe7tgV7o+ltppvDYnxvNf4p4ghLdpmPYQuiJeiwGuzzXia7ZiaBEcpRkX vXRlu23yVxV+rFC9JCLNpFq6sNIwoiNRflrLArWXKizYrw7N3wBU6xJdO61dmV6zuw N40ceuizP5wxP+ESYUM8wPgaL4Mxcut+owCrgdh0= Date: Wed, 9 Sep 2020 17:10:21 +0200 From: "pelzflorian (Florian Pelz)" Message-ID: <20200909151021.dnte7uodi3gj5t6r@pelzflorian.localdomain> References: <20191203124904.lotocvk7htki2ill@pelzflorian.localdomain> <87h7s7ulo4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="ph22iexfsimeorxv" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <87h7s7ulo4.fsf@gmail.com> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 26170@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=pelzflorian.de header.s=mail header.b=cFFKh79q; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: 0.99 X-TUID: ngzu5EQcUrLz --ph22iexfsimeorxv Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Thank you for bringing up this bug again with detailed cross-referencing. Sorry for not sending a patch earlier. I do not think it makes sense to close yet. I attach a proposed patch now (its text is not properly wrapped yet). It may contain misunderstandings about propagated inputs as I have not packaged much. On Wed, Sep 09, 2020 at 03:25:31PM +0200, zimoun wrote: > Currently, the term “propagated inputs” in the index [2] goes to the > section “Invoking guix package” [3] and explaining: > > Sometimes packages have propagated inputs: these are > dependencies that automatically get installed along with the > required package (see propagated-inputs in package objects, for > information about propagated inputs in package definitions). > > An example is the GNU MPC library: its C header files refer to > those of the GNU MPFR library, which in turn refer to those of > the GMP library. Thus, when installing MPC, the MPFR and GMP > libraries also get installed in the profile; removing MPC also > removes MPFR and GMP—unless they had also been explicitly > installed by the user. > > with the hyperlink [4] mentioning: Note the text currently in the manual is the same as back then when I filed the bug. When starting to read about propagated inputs in the documentation of `guix package --install`, I agree, it is clear enough, the reader will understand that propagated inputs get treated like with `guix package --install` and the reader need not think about profiles and the store. However, back then I may have gotten confused because I started off reading the Defining Packages section without the context of `guix package --install`. In this context, I may have been thinking of installation to a directory rather than a user running `guix install`. > 3) more examples like the above example for GNOME Evolution (which > however I have yet to finish packaging and submit as a patch; maybe > dconf is a better example – I presume it is also needed at run time and > not just). I was mistaken about 3). I am glad Ricardo Wurmus packaged Evolution. Apparently I was wrong and evolution does not need evolution-data-server as a propagated-input. Regards, Florian --ph22iexfsimeorxv Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-doc-Clarify-what-propagated-inputs-are.patch" >From fd4955cd0a61e92c37a371e4c5411a505ad5ac76 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 9 Sep 2020 16:54:04 +0200 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [PATCH] doc: Clarify what propagated inputs are. Fixes . * doc/guix.texi (package Reference)[package-propagated-inputs]: Clarify. --- doc/guix.texi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1d6782e6fa..0a5640b174 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6360,21 +6360,21 @@ this area (@pxref{Invoking guix lint}). @anchor{package-propagated-inputs} Lastly, @code{propagated-inputs} is similar to @code{inputs}, but the -specified packages will be automatically installed alongside the package +specified packages will be automatically installed to profiles (@pxref{Features, the role of profiles in Guix}) alongside the package they belong to (@pxref{package-cmd-propagated-inputs, @command{guix package}}, for information on how @command{guix package} deals with propagated inputs). -For example this is necessary when a C/C++ library needs headers of +For example this is necessary when packaging a C/C++ library that needs headers of another library to compile, or when a pkg-config file refers to another one @i{via} its @code{Requires} field. Another example where @code{propagated-inputs} is useful is for languages that lack a facility to record the run-time search path akin to the @code{RUNPATH} of ELF files; this includes Guile, Python, Perl, and -more. To ensure that libraries written in those languages can find -library code they depend on at run time, run-time dependencies must be -listed in @code{propagated-inputs} rather than @code{inputs}. +more. When packaging libraries written in those languages, ensure they can find +library code they depend on at run time by listing run-time dependencies +in @code{propagated-inputs} rather than @code{inputs}. @item @code{outputs} (default: @code{'("out")}) The list of output names of the package. @xref{Packages with Multiple -- 2.28.0 --ph22iexfsimeorxv--