Next: Утилиты, Previous: Разработка, Up: Top [Contents][Index]
GNU Guix предоставляет несколько Scheme программных интерфейсов (API) для определения, сборки и запроса пакетов. Первый интерфейс позволяет пользователям писать высокоуровневые определения пакетов. Эти определения относятся к знакомым концепциям упаковки, таким как имя и версия пакета, его система сборки и зависимости. Затем эти определения можно превратить в конкретные действия по сборке.
Действия по сборке выполняются демоном Guix от имени пользователей. В стандартной настройке демон имеет доступ на запись в хранилище—каталог /gnu/store—, в то время как пользователи не имеют. Рекомендуемая установка также предусматривает, что демон выполняет сборки в chroot, под определенными пользователями сборки, чтобы минимизировать влияние на остальную систему.
Доступны API нижнего уровня для взаимодействия с демоном и хранилищем. Чтобы дать демону команду выполнить действие сборки, пользователи фактически предоставляют ему derivation. Derivation - это низкоуровневое представление действий сборки, которые должны быть предприняты, и среды, в которой они должны происходить - derivation’ы относятся к определениям пакетов, как сборка для программ на C. Термин “derivation” происходит от того факта, что результаты сборки производные от них.
В этой главе описываются все эти API по очереди, начиная с определений пакетов высокого уровня.
• Пакетные модули | Пакеты с точки зрения программиста. | |
• Описание пакетов | Описание новых пакетов. | |
• Defining Package Variants | Кастомизация пакетов. | |
• Системы сборки | Задание параметров сборки пакетов. | |
• Фазы сборки | Фазы процесса сборки пакета. | |
• Build Utilities | Импорт описаниий пакетов. | |
• Search Paths | Declaring search path environment variables. | |
• Хранилище | Работа с хранилищем пакетов. | |
• Деривации | Низкоуровневый интерфейс дериваций пакетов. | |
• Устройство склада | Чисто функциональный интерфейс доступа к складу. | |
• G-Expressions | Управление механизмом сборки. | |
• Запуск guix repl | Программирование Guix в Guile |
Next: Утилиты, Previous: Разработка, Up: Top [Contents][Index]