Next: , Previous: , Up: Управление пакетами   [Contents][Index]


5.4 Пакеты со множественным выходом

Часто пакеты, определённые в Guix, имеют один выход, это значит, что исходный пакет даёт только одну директорию на складе. При запуске guix package -i glibc это устанавливает результат по умолчанию; результат по умолчанию называется выходом, но его имя может пропускаться, как показано в этой команде. В этом частном случае результат по умолчанию для glibc содержит все файлы заголовков C, разделяемые библиотеки, статические библиотеки, документацию Info и другие поставляемые файлы.

Часто более приемлемым будет разделить различные типы файлов, поставляемых одним исходным пакетом, на отдельные выходы (результаты). Например, библиотека GLib C, используемая GTK+ и связанными с ним пакетами, устанавливает более 20Мб связанной документации в виде страниц HTML. Чтобы экономить место, пользователи, которым это не нужно, документацию можно выделить в отдельный выход, называемый doc. Чтобы установить основной выход GLib, который содерит всё, кроме документации, можно запустить:

guix install glib

Команда для установки её документации:

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)))

Некоторые пакеты устанавливают программы с различными “отпечатками зависимостей”. Например, пакет WordNet устанавливает и инструменты командной строки, и графический интерфейс (GUI). Первое зависит только от библиотеки C, а последнее зависит от Tcl/Tk и библиотек X. В таком случае мы оставляем инструменты командной строки в качестве результата по умолчанию, в то время как GUI поставляется как отдельный выход. Это экономит место для пользователей, которым не нужен GUI. Команда guix size может помочь выявить такие ситуации (see Вызов guix size). guix graph также полезна (see Вызов guix graph).

Есть несколько таких пакетов со множественным выходом в дистрибутиве GNU. Другие традиционные имена выходов включают lib - для библиотек и иногда файлов заголовков, bin - для самих программ, debug - для отладочной информации (see Установка файлов отладки). Выходы пакетов представлены в третьей колонке вывода guix package --list-available (see Вызов guix package).


Next: Invoking guix locate, Previous: Подстановки, Up: Управление пакетами   [Contents][Index]