Next: origin Reference, Up: Defining Packages [Contents][Index]
package
ReferenceThis section summarizes all the options available in package
declarations (see Defining Packages).
This is the data type representing a package recipe.
name
The name of the package, as a string.
version
The version of the package, as a string.
source
An origin object telling how the source code for the package should be acquired (see origin Reference).
build-system
The build system that should be used to build the package (see Build Systems).
arguments
(default: '()
)The arguments that should be passed to the build system. This is a list, typically containing sequential keyword-value pairs.
inputs
(default: '()
)Package or derivation inputs to the build. This is a list of lists,
where each list has the name of the input (a string) as its first
element, a package or derivation object as its second element, and
optionally the name of the output of the package or derivation that
should be used, which defaults to "out"
.
propagated-inputs
(default: '()
)This field is like inputs
, but the specified packages will be
force-installed alongside the package they belong to
(see guix package
, for
information on how guix package
deals with propagated inputs.)
For example this is necessary when a library needs headers of another library to compile, or needs another shared library to be linked alongside itself when a program wants to link to it.
native-inputs
(default: '()
)This field is like inputs
, but in case of a cross-compilation it
will be ensured that packages for the architecture of the build machine
are present, such that executables from them can be used during the
build.
This is typically where you would list tools needed at build time but
not at run time, such as Autoconf, Automake, pkg-config, Gettext, or
Bison. guix lint
can report likely mistakes in this area
(see Invoking guix lint).
self-native-input?
(default: #f
)This is a Boolean field telling whether the package should use itself as a native input when cross-compiling.
outputs
(default: '("out")
)The list of output names of the package. See Packages with Multiple Outputs, for typical uses of additional outputs.
native-search-paths
(default: '()
)search-paths
(default: '()
)A list of search-path-specification
objects describing
search-path environment variables honored by the package.
replacement
(default: #f
)This must either #f
or a package object that will be used as a
replacement for this package. See grafts,
for details.
synopsis
A one-line description of the package.
description
A more elaborate description of the package.
license
The license of the package; a value from (guix licenses)
.
home-page
The URL to the home-page of the package, as a string.
supported-systems
(default: %supported-systems)The list of systems supported by the package, as strings of the form
architecture-kernel
, for example "x86_64-linux"
.
maintainers
(default: '()
)The list of maintainers of the package, as maintainer
objects.
location
(default: source location of the package
form)The source location of the package. It’s useful to override this when inheriting from another package, in which case this field is not automatically corrected.
Next: origin Reference, Up: Defining Packages [Contents][Index]