Next: Пакетные модули в поддиректории, Previous: Каналы с заменителями, Up: Каналы [Contents][Index]
Можно также задать дополнительные каналы для выборки оттуда. Ну, например, у вас ряд собственных вариантов пакетов или собственные пакеты, которые вы считаете не особо важным для отправки в проект Guix, но хотите, чтобы эти пакеты были доступны вам в командной строке прозрачно, без дополнительных действий. Вначале можно написать модули, содержащие определения этих пакетов (see Пакетные модули), затем разместить их в репозитории Git, и тогда вы или кто-либо ещё сможете использовать их в качестве дополнтельного канала для получения пакетов. Красиво, да?
Внимание: Прежде чем вы крикнете Ух-ты, это круто! и опубликуете собственный канал, необходимо учесть некоторые предостережения:
- Перед публикацией канала, пожалуйста, рассмотрите возможность поделиться вашими определениями пакетов со сборником Guix (see Содействие). Guix, как проект, открыт свободному программному обеспечению любого назначения, и пакеты в сборнике Guix готовы и доступны для использования всеми пользователями Guix и прошли проверку качества.
- Когда вы выгружаете определение пакета вне Guix, мы, разработчики Guix, полагаем, что вопрос совместимости ложится на вас. Учтите, что пакетные модули и определения пакетов — это код Scheme, который используют различные программные интерфейсы (API). Мы хотим оставить возможность для себя изменять эти API, чтобы продолжить улучшать Guix. И это может привести к поломке вашего канала. Мы никогда не меняем API необоснованно, но всё же мы не будем обновлять устаревшие, замороженные API.
- Вывод: если вы используете внешний канал, и этот канал ломается, пожалуйста, заявите об этой проблеме авторам каналв, но не в проект Guix.
Вы предупреждены! Обозначив это, мы верим, что внешние каналы — это способ для вас проявлять свою свободу и вместе с тем расширять коллекцию пакетов Guix и делиться улучшениями, что является основными догматами свободного программного обеспечения. Пожалуйста, свяжитесь с нами по e-mail guix-devel@gnu.org, если вы хотите обсудить это.
Чтобы создать канал, создайте репозиторий Git, содержащий ваши собственные
пакетные модули, и сделайте его доступным. Репозиторий может содержать
что-либо, но полезный канал будет содержать модули Guile, экспортирующие
пакеты. Когда вы начали использовать канал, Guix будет работать, как будто
корневая директория репозитория Git этого канала добавлена в путь загрузки
Guile (see Load Paths in GNU Guile Reference Manual). Например,
если ваш канал содержит файл my-packages/my-tools.scm, который
определяет модуль Guile, тогда модуль будет доступен под именем
(my-packages my-tools)
, и вы сможете использовать его, как любой
другой модуль (see Модули in GNU Guile Reference Manual).
Как автор канала, рассмотрите возможность объединения материалов для аутентификации с вашим каналом, чтобы пользователи могли его аутентифицировать. See Аутентификация канала и Указание авторизаций канала для получения информации о том, как это сделать.
Next: Пакетные модули в поддиректории, Previous: Каналы с заменителями, Up: Каналы [Contents][Index]