Next: Запуск Guix перед его установкой, Up: Содействие [Contents][Index]
Если вы собираетесь хакать сам Guix, рекомендуется использовать последнюю версию из репозитория Git:
git clone https://git.savannah.gnu.org/git/guix.git
Как убедиться, что вы получили подлинную копию репозитория? Для этого
запустите guix git authenticate
, передав ему коммит и отпечаток
ключа OpenPGP channel introduction (see Вызов guix package
):
git fetch origin keyring:keyring guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \ "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
Эта команда возвращает нуль в случае успеха; в противном случае будет напечатано сообщение об ошибке и команда завершит работу, вернув ненулевой код.
Как видите, здесь возникает проблема курицы и яйца: сначала вам нужно установить Guix. Обычно вы устанавливаете Guix System (see Установка системы) или Guix поверх другого дистрибутива (see Бинарная установка); в любом случае вы должны проверить подпись OpenPGP на установочном носителе. Это “запускает” (“bootstraps”) цепочку доверия.
Самый простой способ установить развернуть среду разработки для Guix — это, конечно, использовать Guix! Следующая команда запустит новую оболочку во всеми зависимостями и необходимыми переменными окружения:
guix shell -D guix --pure
Подробные сведения об этой команде см. в See Вызов guix shell
.
Если вам Guix не удаётся использовать при сборке из чекаута, установите следующие пакеты в дополнение к тем, что были указаны в инструкции по установке (see Требования).
В Guix дополнительные зависимости можно добавить, запустив guix
shell
:
guix shell -D guix help2man git strace --pure
From there you can generate the build system infrastructure using Autoconf and Automake:
./bootstrap
If you get an error like this one:
configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES
это означает, скорее всего, что Autoconf не смог найти файл pkg.m4, который предоставляется pkg-config. Убедитесь, что файл pkg.m4 доступен. То же относится к guile.m4, набору макросов, предоставляемых Guile. Например, если вы установили Automake в /usr/local, он не будет искать файлы .m4 в /usr/share. Тогда нужно выполнить следующую команду:
export ACLOCAL_PATH=/usr/share/aclocal
см. See Macro Search Path in The GNU Automake Manual, чтобы получить больше информации.
Then, run:
./configure --localstatedir=/var
... where /var is the normal localstatedir
value (see Хранилище, for information about this). Note that you will probably not run
make install
at the end (you don’t have to) but it’s still
important to pass the right localstatedir
.
Finally, you can build Guix and, if you feel so inclined, run the tests (see Запуск набора тестов):
make make check
If anything fails, take a look at installation instructions (see Установка) or send a message to the mailing list.
После этого вы можете аутентифицировать все проверенные коммиты, запустив:
make authenticate
Первый запуск занимает пару минут, но последующие запускаются быстрее.
Или, если ваша конфигурация для локального git репозиотория не соответствует
конфигурации по умолчанию, вы можете укащать ссылку для ветки keyring
с помощью переменной GUIX_GIT_KEYRING
. В следующем примере
предполагается, что у ваш git remote с именем ‘myremote’, указывающий
на официальный репозиторий:
make authenticate GUIX_GIT_KEYRING=myremote/keyring
Примечание: Рекомендуется запускать
make authenticate
после каждого вызоваgit pull
. Это гарантирует, что вы продолжаете получать актуальные изменения в репозитории.
After updating the repository, make
might fail with an error
similar to the following example:
error: failed to load 'gnu/packages/dunst.scm': ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed
This means that one of the record types that Guix defines (in this example,
the origin
record) has changed, and all of guix needs to be
recompiled to take that change into account. To do so, run make
clean-go
followed by make
.
Next: Запуск Guix перед его установкой, Up: Содействие [Contents][Index]