>From 0f001497234df55e3c131c10f84ddf184261ee09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= <taylanbayi...@gmail.com> 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