From mboxrd@z Thu Jan 1 00:00:00 1970 From: Taylan Ulrich Kammer Subject: [PATCH] doc: Document native-inputs and propagated-inputs. Date: Thu, 14 May 2015 22:41:29 +0200 Message-ID: <87oalmhoxy.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/x-diff Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yszwi-0007zc-Oc for guix-devel@gnu.org; Thu, 14 May 2015 16:41:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yszwh-0000X5-PD for guix-devel@gnu.org; Thu, 14 May 2015 16:41:32 -0400 Received: from mail-wg0-x22a.google.com ([2a00:1450:400c:c00::22a]:33534) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yszwh-0000WN-I7 for guix-devel@gnu.org; Thu, 14 May 2015 16:41:31 -0400 Received: by wgin8 with SMTP id n8so88530616wgi.0 for ; Thu, 14 May 2015 13:41:31 -0700 (PDT) Received: from T420.local ([2a02:908:db23:4b80:a288:b4ff:fee1:9b18]) by mx.google.com with ESMTPSA id mc20sm18049wic.15.2015.05.14.13.41.29 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 May 2015 13:41:30 -0700 (PDT) Content-Disposition: inline; filename=0001-doc-Document-native-inputs-and-propagated-inputs.patch List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org >From 0f001497234df55e3c131c10f84ddf184261ee09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Thu, 14 May 2015 22:37:04 +0200 Subject: [PATCH] doc: Document native-inputs and propagated-inputs. * doc/guix.texi (Defining Packages): Add `native-inputs' and `propagated-inputs' fields to the example package recipe, and explain them. --- doc/guix.texi | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 049292d..1826b25 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1716,6 +1716,8 @@ package looks like this: (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-silent-rules"))) (inputs `(("gawk" ,gawk))) + (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs `(("libfoo" ,libfoo))) (synopsis "Hello, GNU world: An example GNU package") (description "Guess what GNU Hello prints!") (home-page "http://www.gnu.org/software/hello/") @@ -1791,6 +1793,23 @@ of ensuring that they are present (@pxref{Build Systems}). However, any other dependencies need to be specified in the @code{inputs} field. Any dependency not specified here will simply be unavailable to the build process, possibly leading to a build failure. + +@item +The @code{native inputs} field specifies inputs for which it should be +ensured that the version present at build-time is for the architecture +on which the build is running. This is necessary for cross-compilation +when programs from the input will be executed at build-time. This field +will frequently have build tools such as autotools components, libtool, +pkg-config, or gettext. + +@item +The @code{propagated inputs} field specifies inputs whose installation +should be forced alongside the installation of the package. For +example, some shared libraries expect another shared library, on which +they depend, to be linked alongside them. In that case said dependency +should be installed alongside the library, so that when a program wants +to use the library it can correctly link against both the library and +its dependency. @end itemize Once a package definition is in place, the -- 2.2.1