Next: 调用guix locate
, Previous: substitutes, Up: 软件包管理 [Contents][Index]
Often, packages defined in Guix have a single output—i.e., the
source package leads to exactly one directory in the store. When running
guix install glibc
, one installs the default output of the GNU
libc package; the default output is called out
, but its name can be
omitted as shown in this command. In this particular case, the default
output of glibc
contains all the C header files, shared libraries,
static libraries, Info documentation, and other supporting files.
Sometimes it is more appropriate to separate the various types of files
produced from a single source package into separate outputs. For instance,
the GLib C library (used by GTK+ and related packages) installs more than
20 MiB of reference documentation as HTML pages. To save space for users
who do not need it, the documentation goes to a separate output, called
doc
. To install the main GLib output, which contains everything but
the documentation, one would run:
guix install glib
The command to install its documentation is:
guix install glib:doc
While the colon syntax works for command-line specification of package
outputs, it will not work when using a package variable in Scheme
code. For example, to add the documentation of glib
to the globally
installed packages of an operating-system
(see operating-system
Reference), a list of two items, the first one being the package
variable and the second one the name of the output to select (a
string), must be used instead:
(use-modules (gnu packages glib)) ;; glib-with-documentation is the Guile symbol for the glib package (operating-system ... (packages (append (list (list glib-with-documentation "doc")) %base-packages)))
Some packages install programs with different “dependency footprints”.
For instance, the WordNet package installs both command-line tools and
graphical user interfaces (GUIs). The former depend solely on the C
library, whereas the latter depend on Tcl/Tk and the underlying X
libraries. In this case, we leave the command-line tools in the default
output, whereas the GUIs are in a separate output. This allows users who do
not need the GUIs to save space. The guix size
command can help
find out about such situations (see Invoking guix size
). guix
graph
can also be helpful (see Invoking guix graph
).
There are several such multiple-output packages in the GNU distribution.
Other conventional output names include lib
for libraries and
possibly header files, bin
for stand-alone programs, and debug
for debugging information (see 安装调试文件). The outputs
of a package are listed in the third column of the output of guix
package --list-available
(see Invoking guix package
).
Next: 调用guix locate
, Previous: substitutes, Up: 软件包管理 [Contents][Index]