aboutsummaryrefslogtreecommitdiff
BranchCommit messageAuthorAge
koszkoAllow unauthorized `guix pull`W. Kosior6 weeks
koszko-scriptsAdd `koszko-vpn' branch.W. Kosior4 months
 
4. # Aleksei Chepugov <a.chepugov@gmail.com>, 2024. # Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>, 2024. # Tobias Geerinckx-Rice <fedora@tobias.gr>, 2024. # Andrey Kulenko <ankubel904@gmail.com>, 2024. msgid "" msgstr "" "Project-Id-Version: guix-manual 1.2.0-pre2\n" "Report-Msgid-Bugs-To: bug-guix@gnu.org\n" "POT-Creation-Date: 2024-11-25 03:18+0000\n" "PO-Revision-Date: 2024-11-29 11:20+0000\n" "Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n" "Language-Team: Russian <https://translate.fedoraproject.org/projects/guix/documentation-manual/ru/>\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.8.2\n" "X-Bugs: Report translation errors to the Language-Team address.\n" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: chapter #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: menuentry #: guix-git/doc/contributing.texi:1 guix-git/doc/contributing.texi:2 #: guix-git/doc/guix.texi:222 #, no-wrap msgid "Contributing" msgstr "Содействие" #. type: Plain text #: guix-git/doc/contributing.texi:9 msgid "This project is a cooperative effort, and we need your help to make it grow! Please get in touch with us on @email{guix-devel@@gnu.org} and @code{#guix} on the Libera Chat IRC network. We welcome ideas, bug reports, patches, and anything that may be helpful to the project. We particularly welcome help on packaging (@pxref{Packaging Guidelines})." msgstr "Этот проект - совместная работа, и нам нужна ваша помощь, чтобы он развивался! Пожалуйста, свяжитесь с нами по @email{guix-devel@@gnu.org} и @code{#guix} в IRC-сети Libera Chat. Мы приветствуем идеи, сообщения об ошибках, патчи и все, что может быть полезно для проекта. Мы особенно приветствуем помощь в упаковке (@pxref{Packaging Guidelines})." #. type: cindex #: guix-git/doc/contributing.texi:10 #, no-wrap msgid "code of conduct, of contributors" msgstr "кодекс поведения участников" #. type: cindex #: guix-git/doc/contributing.texi:11 #, no-wrap msgid "contributor covenant" msgstr "соглашение для соавторов" #. type: Plain text #: guix-git/doc/contributing.texi:17 msgid "We want to provide a warm, friendly, and harassment-free environment, so that anyone can contribute to the best of their abilities. To this end our project uses a ``Contributor Covenant'', which was adapted from @url{https://contributor-covenant.org/}. You can find a local version in the @file{CODE-OF-CONDUCT} file in the source tree." msgstr "Мы хотим создать теплую, дружелюбную среду, свободную от оскорблений, чтобы каждый мог внести свой вклад в меру своих возможностей. Для этого в нашем проекте используется ``Соглашение для авторов'', основанное на @url {https://contributor-covenant.org/}. Вы можете найти локальную версию в файле @file{CODE-OF-CONDUCT} в исходном репозитории." #. type: Plain text #: guix-git/doc/contributing.texi:21 msgid "Contributors are not required to use their legal name in patches and on-line communication; they can use any name or pseudonym of their choice." msgstr "Соавторы не обязаны указывать реальные имена в патчах и в общении онлайн. Они могут пользоваться любым именем или псеводнимом по своему выбору." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:44 #: guix-git/doc/contributing.texi:45 #, no-wrap msgid "Requirements" msgstr "Требования" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Software needed to build and run Guix." msgstr "Программное обеспечение, необходимое для запуска Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:132 #: guix-git/doc/contributing.texi:133 #, no-wrap msgid "Building from Git" msgstr "Сборка из Git" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The latest and greatest." msgstr "Новейший и величайший." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:324 #: guix-git/doc/contributing.texi:325 #, no-wrap msgid "Running the Test Suite" msgstr "Запуск набора тестов" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Testing Guix." msgstr "Тестирование Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:435 #: guix-git/doc/contributing.texi:436 #, no-wrap msgid "Running Guix Before It Is Installed" msgstr "Запуск Guix перед его установкой" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hacker tricks." msgstr "Хакерские трюки." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:525 #: guix-git/doc/contributing.texi:526 #, no-wrap msgid "The Perfect Setup" msgstr "Совершенная установка" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "The right tools." msgstr "Правильные инструменты." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:702 #: guix-git/doc/contributing.texi:703 #, no-wrap msgid "Alternative Setups" msgstr "Альтернативные настройки" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Other possible tools that do the job." msgstr "Другие возможные подходящие инструменты." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:779 #: guix-git/doc/contributing.texi:780 #, no-wrap msgid "Source Tree Structure" msgstr "Структура исходного кода" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Source code guided tour." msgstr "Обзор исходного кода." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1030 #: guix-git/doc/contributing.texi:1031 #, no-wrap msgid "Packaging Guidelines" msgstr "Руководство по упаковке" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Growing the distribution." msgstr "Разрастание дистрибутива." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1751 #: guix-git/doc/contributing.texi:1752 #, no-wrap msgid "Coding Style" msgstr "Стиль написания кода" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Hygiene of the contributor." msgstr "Гигиена соавтора." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:1858 #: guix-git/doc/contributing.texi:1859 #, no-wrap msgid "Submitting Patches" msgstr "Отправка исправлений" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Share your work." msgstr "Поделитесь своей работой." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2228 #: guix-git/doc/contributing.texi:2229 #, no-wrap msgid "Tracking Bugs and Changes" msgstr "Отслеживание ошибок и изменений" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Keeping it all organized." msgstr "Хранение всего этого в надлежащем порядке." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2633 #: guix-git/doc/contributing.texi:2634 #, no-wrap msgid "Teams" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Coordinating efforts." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2710 #: guix-git/doc/contributing.texi:2711 #, no-wrap msgid "Making Decisions" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Collectively choosing the way forward." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2729 #: guix-git/doc/contributing.texi:2730 #, no-wrap msgid "Commit Access" msgstr "Доступ к коммитам" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Pushing to the official repository." msgstr "Внесение изменений в официальный репозиторий." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:2959 #: guix-git/doc/contributing.texi:2960 #, no-wrap msgid "Reviewing the Work of Others" msgstr "Обзор работы других" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Some guidelines for sharing reviews." msgstr "Правила по публикации отзывов." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3058 #: guix-git/doc/contributing.texi:3059 #, no-wrap msgid "Updating the Guix Package" msgstr "Обновление пакета Guix" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Updating the Guix package definition." msgstr "Обновление описания пакета в Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3095 #: guix-git/doc/contributing.texi:3096 #, no-wrap msgid "Deprecation Policy" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Commitments and tools for deprecation." msgstr "" #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3286 #: guix-git/doc/contributing.texi:3287 #, no-wrap msgid "Writing Documentation" msgstr "Написание документации" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Improving documentation in GNU Guix." msgstr "Улучшение документации GNU Guix." #. type: section #: guix-git/doc/contributing.texi:42 guix-git/doc/contributing.texi:3330 #: guix-git/doc/contributing.texi:3331 #, no-wrap msgid "Translating Guix" msgstr "Перевод Guix на другие языки" #. type: menuentry #: guix-git/doc/contributing.texi:42 msgid "Make Guix speak your native language." msgstr "Заставьте Guix говорить на вашем родном языке." #. type: Plain text #: guix-git/doc/contributing.texi:49 msgid "You can easily hack on Guix itself using Guix and Git, which we use for version control (@pxref{Building from Git})." msgstr "Вы можете легко настроить Guix, используя сам Guix и Git, который мы используем для контроля версий (@pxref{Building from Git})." #. type: Plain text #: guix-git/doc/contributing.texi:54 msgid "But when packaging Guix for foreign distros or when bootstrapping on systems without Guix, and if you decide to not just trust and install our readily made binary (@pxref{Binary Installation}), you can download a release version of our reproducible source tarball and read on." msgstr "Однако, если вы пакетируете Guix на внешние дистрибутивы или раскручиваете его на системах без Guix, а также если вы не доверяете предкомпилированным нами сборкам (@pxref{Binary Installation}), вы можете скачать релизную версию нашего воспроизводимого tar-архива с исходниками и продолжать дальше." #. type: Plain text #: guix-git/doc/contributing.texi:59 msgid "This section lists requirements when building Guix from source. The build procedure for Guix is the same as for other GNU software, and is not covered here. Please see the files @file{README} and @file{INSTALL} in the Guix source tree for additional details." msgstr "Этот раздел содержит требования для сборки Guix из исходников. Пожалуйста, смотрите файлы @file{README} и @file{INSTALL} в дереве исходников Guix для подробной информации." #. type: cindex #: guix-git/doc/contributing.texi:60 #, no-wrap msgid "official website" msgstr "официальный веб-сайт" #. type: Plain text #: guix-git/doc/contributing.texi:63 msgid "GNU Guix is available for download from its website at @url{https://www.gnu.org/software/guix/}." msgstr "GNU Guix доступен для скачивания на сайте @url{https://www.gnu.org/software/guix/}." #. type: Plain text #: guix-git/doc/contributing.texi:65 msgid "GNU Guix depends on the following packages:" msgstr "GNU Guix зависит от следующих пакетов:" #. type: item #: guix-git/doc/contributing.texi:67 #, no-wrap msgid "@url{https://gnu.org/software/guile/, GNU Guile}, version 3.0.x," msgstr "@url{https://gnu.org/software/guile/, GNU Guile} версии 3.0.x;" #. type: itemize #: guix-git/doc/contributing.texi:69 msgid "version 3.0.3 or later;" msgstr "3.0.3 или более поздней;" #. type: item #: guix-git/doc/contributing.texi:69 #, no-wrap msgid "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt}, version" msgstr "@url{https://notabug.org/cwebber/guile-gcrypt, Guile-Gcrypt} версии" #. type: itemize #: guix-git/doc/contributing.texi:71 msgid "0.1.0 or later;" msgstr "0.1.0 или более поздней;" #. type: itemize #: guix-git/doc/contributing.texi:77 msgid "@uref{https://gitlab.com/gnutls/guile/, Guile-GnuTLS} (@pxref{Guile Preparations, how to install the GnuTLS bindings for Guile,, gnutls-guile, GnuTLS-Guile})@footnote{The Guile bindings to @uref{https://gnutls.org/, GnuTLS} were distributed as part of GnuTLS until version 3.7.8 included.};" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:80 msgid "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0 or later;" msgstr "@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3} версии 0.1.0 или новее;" #. type: item #: guix-git/doc/contributing.texi:80 #, no-wrap msgid "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}," msgstr "@uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}," #. type: itemize #: guix-git/doc/contributing.texi:82 msgid "version 0.1.0 or later;" msgstr "0.1.0 или более поздней;" #. type: item #: guix-git/doc/contributing.texi:82 #, no-wrap msgid "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};" msgstr "@uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};" #. type: item #: guix-git/doc/contributing.texi:83 #, no-wrap msgid "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};" msgstr "@uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};" #. type: itemize #: guix-git/doc/contributing.texi:87 msgid "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0 or later;" msgstr "@uref{https://gitlab.com/guile-git/guile-git, Guile-Git} от августа 2017 или более поздней;" #. type: item #: guix-git/doc/contributing.texi:87 #, no-wrap msgid "@uref{https://git-scm.com, Git} (yes, both!);" msgstr "@uref{https://git-scm.com, Git} (да, оба!);" #. type: item #: guix-git/doc/contributing.texi:88 #, no-wrap msgid "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" msgstr "@uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}" #. type: itemize #: guix-git/doc/contributing.texi:90 msgid "4.3.0 or later;" msgstr "4.3.0 или более поздней;" #. type: item #: guix-git/doc/contributing.texi:90 #, no-wrap msgid "@url{https://www.gnu.org/software/make/, GNU Make}." msgstr "@url{https://www.gnu.org/software/make/, GNU Make}." #. type: Plain text #: guix-git/doc/contributing.texi:94 msgid "The following dependencies are optional:" msgstr "Следующие зависимости необязательны:" #. type: itemize #: guix-git/doc/contributing.texi:102 msgid "Support for build offloading (@pxref{Daemon Offload Setup}) and @command{guix copy} (@pxref{Invoking guix copy}) depends on @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH}, version 0.13.0 or later." msgstr "Поддержка разгрузки сборки (@pxref{Daemon Offload Setup}) и @command{guix copy} (@pxref{Invoking guix copy}) зависят от @uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} версии 0.10.2 или новее." #. type: itemize #: guix-git/doc/contributing.texi:107 msgid "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, for zstd compression and decompression in @command{guix publish} and for substitutes (@pxref{Invoking guix publish})." msgstr "@uref{https://notabug.org/guile-zstd/guile-zstd, Guile-zstd}, для zstd сжатия и распаковки в @command{guix publish} и для заменителей (@pxref{Invoking guix publish})." #. type: itemize #: guix-git/doc/contributing.texi:111 msgid "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for the @code{crate} importer (@pxref{Invoking guix import})." msgstr "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} для @code{crate} импортера (@pxref{Invoking guix import})." #. type: itemize #: guix-git/doc/contributing.texi:116 msgid "@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for the @code{go} importer (@pxref{Invoking guix import}) and for some of the ``updaters'' (@pxref{Invoking guix refresh})." msgstr "@uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} для @code{crate} импортера (@pxref{Invoking guix import})." #. type: itemize #: guix-git/doc/contributing.texi:120 msgid "When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs." msgstr "Если доступна @url{http://www.bzip.org, libbz2}, @command{guix-daemon} может использовать её для сжатия логов сборки." #. type: Plain text #: guix-git/doc/contributing.texi:124 msgid "Unless @option{--disable-daemon} was passed to @command{configure}, the following packages are also needed:" msgstr "Если строка @code{--disable-daemon} не использовалась в @command{configure}, тогда необходимы также следующие пакеты:" #. type: item #: guix-git/doc/contributing.texi:126 #, no-wrap msgid "@url{https://gnupg.org/, GNU libgcrypt};" msgstr "@url{https://gnupg.org/, GNU libgcrypt};" #. type: item #: guix-git/doc/contributing.texi:127 #, no-wrap msgid "@url{https://sqlite.org, SQLite 3};" msgstr "@url{https://sqlite.org, SQLite 3};" #. type: item #: guix-git/doc/contributing.texi:128 #, no-wrap msgid "@url{https://gcc.gnu.org, GCC's g++}, with support for the" msgstr "@url{https://gcc.gnu.org, GCC's g++} с поддержкой" #. type: itemize #: guix-git/doc/contributing.texi:130 msgid "C++11 standard." msgstr "стандарта C++11." #. type: Plain text #: guix-git/doc/contributing.texi:137 msgid "If you want to hack Guix itself, it is recommended to use the latest version from the Git repository:" msgstr "Если вы собираетесь хакать сам Guix, рекомендуется использовать последнюю версию из репозитория Git:" #. type: example #: guix-git/doc/contributing.texi:140 #, no-wrap msgid "git clone https://git.savannah.gnu.org/git/guix.git\n" msgstr "git clone https://git.savannah.gnu.org/git/guix.git\n" #. type: cindex #: guix-git/doc/contributing.texi:142 #, no-wrap msgid "authentication, of a Guix checkout" msgstr "аутентификация рабочего каталога Guix" #. type: Plain text #: guix-git/doc/contributing.texi:147 msgid "How do you ensure that you obtained a genuine copy of the repository? To do that, run @command{guix git authenticate}, passing it the commit and OpenPGP fingerprint of the @dfn{channel introduction} (@pxref{Invoking guix git authenticate}):" msgstr "Как убедиться, что вы получили подлинную копию репозитория? Для этого запустите @command{guix git authenticate}, передав ему коммит и отпечаток ключа OpenPGP @dfn{channel introduction} (@pxref{Invoking guix git authenticate}):" #. type: example #: guix-git/doc/contributing.texi:154 #, no-wrap msgid "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "git fetch origin keyring:keyring\n" "guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:159 msgid "This command completes with exit code zero on success; it prints an error message and exits with a non-zero code otherwise." msgstr "Эта команда возвращает нуль в случае успеха; в противном случае будет напечатано сообщение об ошибке и команда завершит работу, вернув ненулевой код." #. type: Plain text #: guix-git/doc/contributing.texi:166 msgid "As you can see, there is a chicken-and-egg problem: you first need to have Guix installed. Typically you would install Guix System (@pxref{System Installation}) or Guix on top of another distro (@pxref{Binary Installation}); in either case, you would verify the OpenPGP signature on the installation medium. This ``bootstraps'' the trust chain." msgstr "Как видите, здесь возникает проблема курицы и яйца: сначала вам нужно установить Guix. Обычно вы устанавливаете Guix System (@pxref{System Installation}) или Guix поверх другого дистрибутива (@pxref{Binary Installation}); в любом случае вы должны проверить подпись OpenPGP на установочном носителе. Это ``запускает'' цепочку доверия." #. type: Plain text #: guix-git/doc/contributing.texi:171 msgid "The easiest way to set up a development environment for Guix is, of course, by using Guix! The following command starts a new shell where all the dependencies and appropriate environment variables are set up to hack on Guix:" msgstr "Самый простой способ установить среду разработки для Guix — это, конечно, использовать Guix! Следующая команда запустит новую оболочку со всеми зависимостями и необходимыми переменными окружения:" #. type: example #: guix-git/doc/contributing.texi:174 #, no-wrap msgid "guix shell -D guix -CPW\n" msgstr "guix shell -D guix -CPW\n" #. type: Plain text #: guix-git/doc/contributing.texi:177 msgid "or even, from within a Git worktree for Guix:" msgstr "или даже из-под рабочей ветки Git для Guix:" #. type: example #: guix-git/doc/contributing.texi:180 #, no-wrap msgid "guix shell -CPW\n" msgstr "guix shell -CPW\n" #. type: Plain text #: guix-git/doc/contributing.texi:185 msgid "If @option{-C} (short for @option{--container}) is not supported on your system, try @command{--pure} instead of @option{-CPW}. @xref{Invoking guix shell}, for more information on that command." msgstr "Если @option{-C} (сокр. от @option{--container}) не поддерживается на вашей системе, попробуйте @command{--pure} вместо @option{-CPW}. см. @xref{Invoking guix shell}, чтобы получить информацию по данной команде." #. type: Plain text #: guix-git/doc/contributing.texi:189 msgid "If you are unable to use Guix when building Guix from a checkout, the following are the required packages in addition to those mentioned in the installation instructions (@pxref{Requirements})." msgstr "Если вам Guix не удаётся использовать при сборке из рабочего каталога, установите следующие пакеты в дополнение к тем, что были указаны в инструкции по установке (@pxref{Требования})." #. type: item #: guix-git/doc/contributing.texi:191 #, no-wrap msgid "@url{https://gnu.org/software/autoconf/, GNU Autoconf};" msgstr "@url{https://gnu.org/software/autoconf/, GNU Autoconf};" #. type: item #: guix-git/doc/contributing.texi:192 #, no-wrap msgid "@url{https://gnu.org/software/automake/, GNU Automake};" msgstr "@url{https://gnu.org/software/automake/, GNU Automake};" #. type: item #: guix-git/doc/contributing.texi:193 #, no-wrap msgid "@url{https://gnu.org/software/gettext/, GNU Gettext};" msgstr "@url{https://gnu.org/software/gettext/, GNU Gettext};" #. type: item #: guix-git/doc/contributing.texi:194 #, no-wrap msgid "@url{https://gnu.org/software/texinfo/, GNU Texinfo};" msgstr "@url{https://gnu.org/software/texinfo/, GNU Texinfo};" #. type: item #: guix-git/doc/contributing.texi:195 #, no-wrap msgid "@url{https://www.graphviz.org/, Graphviz};" msgstr "@url{https://www.graphviz.org/, Graphviz};" #. type: item #: guix-git/doc/contributing.texi:196 #, no-wrap msgid "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." msgstr "@url{https://www.gnu.org/software/help2man/, GNU Help2man (optional)}." #. type: Plain text #: guix-git/doc/contributing.texi:201 msgid "On Guix, extra dependencies can be added by instead running @command{guix shell}:" msgstr "В Guix дополнительные зависимости можно добавить, запустив @command{guix shell}:" #. type: example #: guix-git/doc/contributing.texi:204 #, no-wrap msgid "guix shell -D guix help2man git strace --pure\n" msgstr "guix shell -D guix help2man git strace --pure\n" #. type: Plain text #: guix-git/doc/contributing.texi:208 msgid "From there you can generate the build system infrastructure using Autoconf and Automake:" msgstr "Вы можете инициировать инфраструктуру сборки системы, используя Autoconf и Automake:" #. type: example #: guix-git/doc/contributing.texi:211 #, no-wrap msgid "./bootstrap\n" msgstr "./bootstrap\n" #. type: Plain text #: guix-git/doc/contributing.texi:214 msgid "If you get an error like this one:" msgstr "Если вы получили ошибку, похожую на эту:" #. type: example #: guix-git/doc/contributing.texi:217 #, no-wrap msgid "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" msgstr "configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES\n" #. type: Plain text #: guix-git/doc/contributing.texi:226 msgid "it probably means that Autoconf couldn’t find @file{pkg.m4}, which is provided by pkg-config. Make sure that @file{pkg.m4} is available. The same holds for the @file{guile.m4} set of macros provided by Guile. For instance, if you installed Automake in @file{/usr/local}, it wouldn’t look for @file{.m4} files in @file{/usr/share}. In that case, you have to invoke the following command:" msgstr "это означает, скорее всего, что Autoconf не смог найти файл @file{pkg.m4}, который предоставляется pkg-config. Убедитесь, что файл @file{pkg.m4} доступен. То же относится к @file{guile.m4}, набору макросов, предоставляемых Guile. Например, если вы установили Automake в @file{/usr/local}, он не будет искать файлы @file{.m4} в @file{/usr/share}. Тогда нужно выполнить следующую команду:" #. type: example #: guix-git/doc/contributing.texi:229 #, no-wrap msgid "export ACLOCAL_PATH=/usr/share/aclocal\n" msgstr "export ACLOCAL_PATH=/usr/share/aclocal\n" #. type: Plain text #: guix-git/doc/contributing.texi:233 msgid "@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for more information." msgstr "см. @xref{Macro Search Path,,, automake, The GNU Automake Manual}, чтобы получить больше информации." #. type: cindex #: guix-git/doc/contributing.texi:234 #, no-wrap msgid "state directory" msgstr "главный каталог" #. type: cindex #: guix-git/doc/contributing.texi:235 #, no-wrap msgid "localstatedir" msgstr "localstatedir" #. type: cindex #: guix-git/doc/contributing.texi:236 #, no-wrap msgid "system configuration directory" msgstr "директория конфигурации системы" #. type: cindex #: guix-git/doc/contributing.texi:237 #, no-wrap msgid "sysconfdir" msgstr "sysconfdir" #. type: Plain text #: guix-git/doc/contributing.texi:239 msgid "Then, run:" msgstr "Затем, выполните:" #. type: example #: guix-git/doc/contributing.texi:242 #, no-wrap msgid "./configure\n" msgstr "./configure\n" #. type: Plain text #: guix-git/doc/contributing.texi:252 #, fuzzy #| msgid "... where @file{/var} is the normal @code{localstatedir} value (@pxref{The Store}, for information about this) and @file{/etc} is the normal @code{sysconfdir} value. Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir} and @code{sysconfdir} values, which get recorded in the @code{(guix config)} Guile module." msgid "Optionally, @code{--localstatedir} and @code{--sysconfdir} can also be provided as arguments. By default, @code{localstatedir} is @file{/var} (@pxref{The Store}, for information about this) and @code{sysconfdir} is @file{/etc}. Note that you will probably not run @command{make install} at the end (you don't have to) but it's still important to pass the right @code{localstatedir} and @code{sysconfdir} values, which get recorded in the @code{(guix config)} Guile module." msgstr "... где @file{/var} - стандартное значение @code{localstatedir} (@pxref{The Store}, для получения информации об этом), а @file{/etc} - стандартное значение @code{sysconfdir}. Обратите внимание, что вы, скорее всего, не будете выполнять @command{make install} в конце (это не обязательно), но все равно важно передать правильные значения @code{localstatedir} и @code{sysconfdir}, которые записываются в модуль @code{(guix config)} Guile." #. type: Plain text #: guix-git/doc/contributing.texi:255 msgid "Finally, you can build Guix and, if you feel so inclined, run the tests (@pxref{Running the Test Suite}):" msgstr "Наконец, вы можете собрать Guix и, если сочтёте нужным, запустите тесты (@pxref{Running the Test Suite}):" #. type: example #: guix-git/doc/contributing.texi:259 #, no-wrap msgid "" "make\n" "make check\n" msgstr "" "make\n" "make check\n" #. type: Plain text #: guix-git/doc/contributing.texi:265 msgid "If anything fails, take a look at installation instructions (@pxref{Installation}) or send a message to the @email{guix-devel@@gnu.org, mailing list}." msgstr "Если что-то не получится, изучите инструкции установки (@pxref{Installation}) или отправьте сообщение в рассылку @email{guix-devel@@gnu.org}." #. type: Plain text #: guix-git/doc/contributing.texi:268 msgid "From there on, you can authenticate all the commits included in your checkout by running:" msgstr "После этого вы можете аутентифицировать все проверенные коммиты, запустив:" #. type: example #: guix-git/doc/contributing.texi:273 #, no-wrap msgid "" "guix git authenticate \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "guix git authenticate \\\n" "9edb3f66fd807b096b48283debdcddccfea34bad \\\n" "\"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:280 msgid "The first run takes a couple of minutes, but subsequent runs are faster. On subsequent runs, you can run the command without any arguments since the @dfn{introduction} (the commit ID and OpenPGP fingerprints above) will have been recorded@footnote{This requires a recent version of Guix, from May 2024 or more recent.}:" msgstr "Первый запуск занимает несколько минут, но последующие работают быстрее. На каждый не первый запуск вы можете выполнять эту команду без каких-либо аргументов, поскольку @dfn{introduction} (ID коммита и отпечаток ключа OpenPGP выше) запоминаются@footnote{Это требует свежую версию Guix мая 2024 или позднее.}:" #. type: example #: guix-git/doc/contributing.texi:283 guix-git/doc/contributing.texi:2844 #, no-wrap msgid "guix git authenticate\n" msgstr "guix git authenticate\n" #. type: Plain text #: guix-git/doc/contributing.texi:290 msgid "When your configuration for your local Git repository doesn't match the default one, you can provide the reference for the @code{keyring} branch @i{via} the @option{-k} option. The following example assumes that you have a Git remote called @samp{myremote} pointing to the official repository:" msgstr "Если ваша конфигурация для локального git репозитория не соответствует конфигурации по умолчанию, вы можете указать ссылку для ветки @code{keyring} с помощью ключа @option{-k}. В следующем примере предполагается, что вы вызывали git remote @samp{myremote}, указывающий на официальный репозиторий:" #. type: example #: guix-git/doc/contributing.texi:296 #, no-wrap msgid "" "guix git authenticate \\\n" " -k myremote/keyring \\\n" " 9edb3f66fd807b096b48283debdcddccfea34bad \\\n" " \"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" msgstr "" "guix git authenticate \\\n" "-k myremote/keyring \\\n" "9edb3f66fd807b096b48283debdcddccfea34bad \\\n" "\"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:300 msgid "@xref{Invoking guix git authenticate}, for more information on this command." msgstr "Подробные сведения об этой команде см. в @xref{Invoking guix git authenticate}." #. type: quotation #: guix-git/doc/contributing.texi:301 guix-git/doc/contributing.texi:1489 #: guix-git/doc/contributing.texi:2101 guix-git/doc/contributing.texi:2146 #: guix-git/doc/contributing.texi:2169 guix-git/doc/contributing.texi:2817 #: guix-git/doc/guix.texi:808 guix-git/doc/guix.texi:834 #: guix-git/doc/guix.texi:1205 guix-git/doc/guix.texi:1230 #: guix-git/doc/guix.texi:1303 guix-git/doc/guix.texi:1690 #: guix-git/doc/guix.texi:1906 guix-git/doc/guix.texi:1981 #: guix-git/doc/guix.texi:2169 guix-git/doc/guix.texi:2391 #: guix-git/doc/guix.texi:3687 guix-git/doc/guix.texi:4092 #: guix-git/doc/guix.texi:4612 guix-git/doc/guix.texi:4626 #: guix-git/doc/guix.texi:4701 guix-git/doc/guix.texi:4716 #: guix-git/doc/guix.texi:4779 guix-git/doc/guix.texi:5009 #: guix-git/doc/guix.texi:5923 guix-git/doc/guix.texi:5956 #: guix-git/doc/guix.texi:6584 guix-git/doc/guix.texi:6863 #: guix-git/doc/guix.texi:6997 guix-git/doc/guix.texi:7026 #: guix-git/doc/guix.texi:7067 guix-git/doc/guix.texi:7113 #: guix-git/doc/guix.texi:7120 guix-git/doc/guix.texi:7164 #: guix-git/doc/guix.texi:8797 guix-git/doc/guix.texi:11137 #: guix-git/doc/guix.texi:11286 guix-git/doc/guix.texi:11356 #: guix-git/doc/guix.texi:13327 guix-git/doc/guix.texi:13367 #: guix-git/doc/guix.texi:13467 guix-git/doc/guix.texi:13692 #: guix-git/doc/guix.texi:13704 guix-git/doc/guix.texi:14607 #: guix-git/doc/guix.texi:16583 guix-git/doc/guix.texi:17113 #: guix-git/doc/guix.texi:17171 guix-git/doc/guix.texi:17204 #: guix-git/doc/guix.texi:17282 guix-git/doc/guix.texi:17683 #: guix-git/doc/guix.texi:18698 guix-git/doc/guix.texi:19261 #: guix-git/doc/guix.texi:19766 guix-git/doc/guix.texi:19827 #: guix-git/doc/guix.texi:22376 guix-git/doc/guix.texi:23294 #: guix-git/doc/guix.texi:23477 guix-git/doc/guix.texi:23538 #: guix-git/doc/guix.texi:24014 guix-git/doc/guix.texi:29038 #: guix-git/doc/guix.texi:29655 guix-git/doc/guix.texi:33109 #: guix-git/doc/guix.texi:37536 guix-git/doc/guix.texi:40913 #: guix-git/doc/guix.texi:42574 guix-git/doc/guix.texi:42648 #: guix-git/doc/guix.texi:42690 guix-git/doc/guix.texi:43036 #: guix-git/doc/guix.texi:43206 guix-git/doc/guix.texi:43374 #: guix-git/doc/guix.texi:43481 guix-git/doc/guix.texi:43527 #: guix-git/doc/guix.texi:43584 guix-git/doc/guix.texi:43611 #: guix-git/doc/guix.texi:43949 guix-git/doc/guix.texi:45361 #: guix-git/doc/guix.texi:45411 guix-git/doc/guix.texi:45467 #: guix-git/doc/guix.texi:45575 guix-git/doc/guix.texi:47477 #: guix-git/doc/guix.texi:47523 guix-git/doc/guix.texi:47617 #: guix-git/doc/guix.texi:47682 guix-git/doc/guix.texi:48078 #: guix-git/doc/guix.texi:48122 #, no-wrap msgid "Note" msgstr "Примечание" #. type: quotation #: guix-git/doc/contributing.texi:305 msgid "By default, hooks are installed such that @command{guix git authenticate} is invoked anytime you run @command{git pull} or @command{git push}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:309 msgid "After updating the repository, @command{make} might fail with an error similar to the following example:" msgstr "После обновления репозитория команда @command{make} может выдать ошибку, подобную нижеприведенной:" #. type: example #: guix-git/doc/contributing.texi:313 #, no-wrap msgid "" "error: failed to load 'gnu/packages/linux.scm':\n" "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" msgstr "" "error: failed to load 'gnu/packages/linux.scm':\n" "ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed\n" #. type: Plain text #: guix-git/doc/contributing.texi:319 msgid "This means that one of the record types that Guix defines (in this example, the @code{origin} record) has changed, and all of guix needs to be recompiled to take that change into account. To do so, run @command{make clean-go} followed by @command{make}." msgstr "Это значит, что один из типов записей, которые определяет Guix (в данном примере, запись @code{origin}) была изменена, и весь guix надо перекомпилировать, чтобы учесть это изменение.\tДля этого запустите @command{make clean-go}, а затем @command{make}." #. type: Plain text #: guix-git/doc/contributing.texi:323 msgid "Should @command{make} fail with an Automake error message after updating, you need to repeat the steps outlined in this section, commencing with @command{./bootstrap}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:327 #, no-wrap msgid "test suite" msgstr "набор тестов" #. type: Plain text #: guix-git/doc/contributing.texi:333 msgid "After a successful @command{configure} and @code{make} run, it is a good idea to run the test suite. It can help catch issues with the setup or environment, or bugs in Guix itself---and really, reporting test failures is a good way to help improve the software. To run the test suite, type:" msgstr "После успешного завершения @command{configure} и @code{make} хорошо бы выполнить набор тестов. Это поможет выявить проблемы установки или в окружении, как и баги самого Guix (на самом деле, отчёты об ошибках тестов помогают улучшить ПО). Чтобы запустить тесты, напечатайте:" #. type: example #: guix-git/doc/contributing.texi:336 #, no-wrap msgid "make check\n" msgstr "make check\n" #. type: Plain text #: guix-git/doc/contributing.texi:343 msgid "Test cases can run in parallel: you can use the @code{-j} option of GNU@tie{}make to speed things up. The first run may take a few minutes on a recent machine; subsequent runs will be faster because the store that is created for test purposes will already have various things in cache." msgstr "Тесты можно выполнять параллельно при включении опции @code{-j} в GNU@tie{}make, так быстрее. Первый запуск может длиться несколько минут на топовой машине, последующие запуски будут быстрее, так как склад, который создаётся для тестов, уже закеширует различные вещи." #. type: Plain text #: guix-git/doc/contributing.texi:346 msgid "It is also possible to run a subset of the tests by defining the @code{TESTS} makefile variable as in this example:" msgstr "Также можно запустить отдельные наборы тестов, используя переменную @code{TESTS}, как в примере:" #. type: example #: guix-git/doc/contributing.texi:349 #, no-wrap msgid "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" msgstr "make check TESTS=\"tests/store.scm tests/cpio.scm\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:354 msgid "By default, tests results are displayed at a file level. In order to see the details of every individual test cases, it is possible to define the @code{SCM_LOG_DRIVER_FLAGS} makefile variable as in this example:" msgstr "По умолчанию результаты тестов выводятся в файл. Чтобы просмотреть результаты каждого отдельного теста, нужно задать переменную makifile @code{SCM_LOG_DRIVER_FLAGS}, как в примере:" #. type: example #: guix-git/doc/contributing.texi:357 #, no-wrap msgid "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:365 msgid "The underlying SRFI 64 custom Automake test driver used for the 'check' test suite (located at @file{build-aux/test-driver.scm}) also allows selecting which test cases to run at a finer level, via its @option{--select} and @option{--exclude} options. Here's an example, to run all the test cases from the @file{tests/packages.scm} test file whose names start with ``transaction-upgrade-entry'':" msgstr "Лежащий в основе кастомный SRFI 64 Automake тестовый драйвер, используемый для 'проверки' набора тестов (расположенный в @file{build-aux/test-driver.scm}) также позволяет выбрать, какие тестовые случаи запускать на более высоком уровне, при помощи опций @option{--select} и @option{--exclude}. Вот пример для запуска всех тестовых случаев из файла @file{tests/packages.scm}, чьи имена начинаются с ``transaction-upgrade-entry'':" #. type: example #: guix-git/doc/contributing.texi:369 #, no-wrap msgid "" "export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n" "make check TESTS=\"tests/packages.scm\"\n" msgstr "" "export SCM_LOG_DRIVER_FLAGS=\"--select=^transaction-upgrade-entry\"\n" "make check TESTS=\"tests/packages.scm\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:375 msgid "Those wishing to inspect the results of failed tests directly from the command line can add the @option{--errors-only=yes} option to the @code{SCM_LOG_DRIVER_FLAGS} makefile variable and set the @code{VERBOSE} Automake makefile variable, as in:" msgstr "Желающие проверить результаты неудачных тестов прямо из командной строки могут добавить @option{--errors-only=yes} к makefile переменной@code{SCM_LOG_DRIVER_FLAGS} и задать Automake makefile переменную @code{VERBOSE}, как в:" #. type: example #: guix-git/doc/contributing.texi:378 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --errors-only=yes\" VERBOSE=1\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:383 msgid "The @option{--show-duration=yes} option can be used to print the duration of the individual test cases, when used in combination with @option{--brief=no}:" msgstr "Опция @option{--show-duration=yes} может быть использована чтобы отобразить продолжительность отдельных тестовых случаев, когда использована вместе с @option{--brief=no}:" #. type: example #: guix-git/doc/contributing.texi:386 #, no-wrap msgid "make check SCM_LOG_DRIVER_FLAGS=\"--brief=no --show-duration=yes\"\n" msgstr "make check TESTS=\"tests/base64.scm\" SCM_LOG_DRIVER_FLAGS=\"--brief=no\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:390 msgid "@xref{Parallel Test Harness,,,automake,GNU Automake} for more information about the Automake Parallel Test Harness." msgstr "@xref{Parallel Test Harness,,,automake,GNU Automake} для получения дополнительной информации о Automake Parallel Test Harness." #. type: Plain text #: guix-git/doc/contributing.texi:395 msgid "Upon failure, please email @email{bug-guix@@gnu.org} and attach the @file{test-suite.log} file. Please specify the Guix version being used as well as version numbers of the dependencies (@pxref{Requirements}) in your message." msgstr "В случае ошибки, пожалуйста, отправьте сообщение на @email{bug-guix@@gnu.org} и присоедините файл @file{test-suite.log}. Пожалуйста, обозначьте в сообщении используемую версию Guix, а также номера версий зависимостей (@pxref{Requirements})." #. type: Plain text #: guix-git/doc/contributing.texi:399 msgid "Guix also comes with a whole-system test suite that tests complete Guix System instances. It can only run on systems where Guix is already installed, using:" msgstr "Guix также идёт с набором тестов для всей системы, который проверяет нстранцию системы Guix. Их можно запустить только в системах, где Guix уже установлен, так:" #. type: example #: guix-git/doc/contributing.texi:402 #, no-wrap msgid "make check-system\n" msgstr "make check-system\n" #. type: Plain text #: guix-git/doc/contributing.texi:406 msgid "or, again, by defining @code{TESTS} to select a subset of tests to run:" msgstr "или, опять же, задав @code{TESTS}, чтобы выбрать список тестов для запуска:" #. type: example #: guix-git/doc/contributing.texi:409 #, no-wrap msgid "make check-system TESTS=\"basic mcron\"\n" msgstr "make check-system TESTS=\"basic mcron\"\n" #. type: Plain text #: guix-git/doc/contributing.texi:417 msgid "These system tests are defined in the @code{(gnu tests @dots{})} modules. They work by running the operating systems under test with lightweight instrumentation in a virtual machine (VM). They can be computationally intensive or rather cheap, depending on whether substitutes are available for their dependencies (@pxref{Substitutes}). Some of them require a lot of storage space to hold VM images." msgstr "Тесты системы определены в модулях @code{(gnu tests @dots{})}. При работе они запускают операционную систему под легковесным инструментарием в виртуальной машине. Они могут выполнять тяжёлые вычисления или довольно простые в зависимости от наличия подстановок их зависимостей (@pxref{Substitutes}). Некоторые из них требуют много места для работы с образами виртуальной машины." #. type: Plain text #: guix-git/doc/contributing.texi:419 msgid "If you encounter an error like:" msgstr "Если вы столкнулись с ошибкй, похожей на эту:" #. type: example #: guix-git/doc/contributing.texi:425 #, no-wrap msgid "" "Compiling Scheme modules...\n" "ice-9/eval.scm:142:16: In procedure compile-top-call:\n" "error: all-system-tests: unbound variable\n" "hint: Did you forget `(use-modules (gnu tests))'?\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:431 msgid "there may be inconsistencies in the work tree from previous builds. To resolve this, try running @command{make clean-go} followed by @command{make}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:434 msgid "Again in case of test failures, please send @email{bug-guix@@gnu.org} all the details." msgstr "Конечно, в случае неудачных тестов, пожалуйста, направьте детали на @email{bug-guix@@gnu.org}." #. type: Plain text #: guix-git/doc/contributing.texi:442 msgid "In order to keep a sane working environment, you will find it useful to test the changes made in your local source tree checkout without actually installing them. So that you can distinguish between your ``end-user'' hat and your ``motley'' costume." msgstr "Чтобы держать в порядке рабочее окружение, удобно тестировать изменения, сделанные в вашем локальном дереве исходников, без их установки. Так вы сможете отличить шляпу вашего ``конечного пользователя'' от вашего ``пёстрого'' наряда." #. type: Plain text #: guix-git/doc/contributing.texi:452 msgid "To that end, all the command-line tools can be used even if you have not run @code{make install}. To do that, you first need to have an environment with all the dependencies available (@pxref{Building from Git}), and then simply prefix each command with @command{./pre-inst-env} (the @file{pre-inst-env} script lives in the top build tree of Guix; @pxref{Building from Git} to generate it). As an example, here is how you would build the @code{hello} package as defined in your working tree (this assumes @command{guix-daemon} is already running on your system; it's OK if it's a different version):" msgstr "С этой целью можно использовать все инструменты командной строки, даже если вы не запускали @code{make install}. Для этого вам сначала нужно создать окружение со всеми доступными зависимостями (@pxref{Building from Git}), и затем просто начните каждую команду с @command{./pre-inst-env} (скрипт @file{pre-inst-env} находится на верху дерева сборки Guix; он создаётся запуском @command{./bootstrap}, за которым следует @command{./configure}). В качестве примера, вот как вы собрали бы пакет @code{hello} как определено в вашем рабочем дереве (подразумевается, что @command{guix-daemon} уже запущена на вашей системе; ничего страшного, если это другая версия):" #. type: example #: guix-git/doc/contributing.texi:455 #, no-wrap msgid "$ ./pre-inst-env guix build hello\n" msgstr "$ ./pre-inst-env guix build hello\n" #. type: Plain text #: guix-git/doc/contributing.texi:459 msgid "Similarly, an example for a Guile session using the Guix modules:" msgstr "Аналогично, пример для Guile сессии с использованием модулей Guix:" #. type: example #: guix-git/doc/contributing.texi:462 #, no-wrap msgid "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" msgstr "" "$ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'\n" "\n" #. type: example #: guix-git/doc/contributing.texi:464 #, no-wrap msgid ";;; (\"x86_64-linux\")\n" msgstr ";;; (\"x86_64-linux\")\n" #. type: cindex #: guix-git/doc/contributing.texi:467 #, no-wrap msgid "REPL" msgstr "REPL" #. type: cindex #: guix-git/doc/contributing.texi:468 #, no-wrap msgid "read-eval-print loop" msgstr "цикл чтение-вычисление-вывод" #. type: Plain text #: guix-git/doc/contributing.texi:470 msgid "@dots{} and for a REPL (@pxref{Using Guix Interactively}):" msgstr "@dots{} и для REPL (@pxref{Using Guix Interactively}):" #. type: example #: guix-git/doc/contributing.texi:485 #, no-wrap msgid "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" msgstr "" "$ ./pre-inst-env guile\n" "scheme@@(guile-user)> ,use(guix)\n" "scheme@@(guile-user)> ,use(gnu)\n" "scheme@@(guile-user)> (define snakes\n" " (fold-packages\n" " (lambda (package lst)\n" " (if (string-prefix? \"python\"\n" " (package-name package))\n" " (cons package lst)\n" " lst))\n" " '()))\n" "scheme@@(guile-user)> (length snakes)\n" "$1 = 361\n" #. type: Plain text #: guix-git/doc/contributing.texi:493 msgid "If you are hacking on the daemon and its supporting code or if @command{guix-daemon} is not already running on your system, you can launch it straight from the build tree@footnote{The @option{-E} flag to @command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set such that @command{guix-daemon} and the tools it uses can find the Guile modules they need.}:" msgstr "Если вы изучаете демона и его исходники, или если @command{guix-daemon} еще не запущена в вашей системе, вы можете запустить его прямо из дерева сборки@footnote{Флаг @option{-E} команды @command{sudo} гарантирует, что @code{GUILE_LOAD_PATH} настроен правильно, так что @command{guix-daemon} и инструменты, которые он использует, могут найти необходимые им модули Guile.}:" #. type: example #: guix-git/doc/contributing.texi:496 #, no-wrap msgid "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" msgstr "$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild\n" #. type: Plain text #: guix-git/doc/contributing.texi:500 msgid "The @command{pre-inst-env} script sets up all the environment variables necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}." msgstr "Скрипт @command{pre-inst-env} устанавливает все переменные окружения, которые необходимы для этой задачи, включая @env{PATH} и @env{GUILE_LOAD_PATH}." #. type: Plain text #: guix-git/doc/contributing.texi:505 msgid "Note that @command{./pre-inst-env guix pull} does @emph{not} upgrade the local source tree; it simply updates the @file{~/.config/guix/current} symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if you want to upgrade your local source tree." msgstr "Заметим, что @command{./pre-inst-env guix pull} @emph{не} обновляет локальное дерево исходников. Эта команда просто обновляет символическую ссылку @file{~/.config/guix/current} (@pxref{Invoking guix pull}). Выполните @command{git pull}, если вы хотите обновить локальное дерево исходников." #. type: Plain text #: guix-git/doc/contributing.texi:509 msgid "Sometimes, especially if you have recently updated your repository, running @command{./pre-inst-env} will print a message similar to the following example:" msgstr "Иногда, особенно если вы недавно обновили репозиторий, выполнение @command{./pre-inst-env} выведет сообщение, подобное следующему примеру:" #. type: example #: guix-git/doc/contributing.texi:513 #, no-wrap msgid "" ";;; note: source file /home/user/projects/guix/guix/progress.scm\n" ";;; newer than compiled /home/user/projects/guix/guix/progress.go\n" msgstr "" ";;; note: source file /home/user/projects/guix/guix/progress.scm\n" ";;; newer than compiled /home/user/projects/guix/guix/progress.go\n" #. type: Plain text #: guix-git/doc/contributing.texi:519 msgid "This is only a note and you can safely ignore it. You can get rid of the message by running @command{make -j4}. Until you do, Guile will run slightly slower because it will interpret the code instead of using prepared Guile object (@file{.go}) files." msgstr "Это всего лишь примечание, которое вы можете смело игнорировать.\tВы можете избавиться от сообщения, запустив @command{make -j4}.\tПока вы этого не сделаете, Guile будет работать немного медленнее, так как он будет интерпретировать код вместо использования подготовленных файлов (@file{.go}) объекта Guile." #. type: Plain text #: guix-git/doc/contributing.texi:524 msgid "You can run @command{make} automatically as you work using @command{watchexec} from the @code{watchexec} package. For example, to build again each time you update a package file, run @samp{watchexec -w gnu/packages -- make -j4}." msgstr "Вы можете запускать @command{make} автоматически во время работы используя @command{watchexec} из пакета @code{watchexec}.\tНапример, для повторной сборки при каждом обновлении файла пакета, запускать @samp{watchexec -w gnu/packages -- make -j4}." #. type: Plain text #: guix-git/doc/contributing.texi:533 msgid "The Perfect Setup to hack on Guix is basically the perfect setup used for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}). First, you need more than an editor, you need @url{https://www.gnu.org/software/emacs, Emacs}, empowered by the wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:" msgstr "Совершенная установка для программирования Guix — это, по сути, совершенная установка, используемая для программирования на Guile (@pxref{Using Guile in Emacs,,, guile, Guile Reference Manual}). Во-первых, вам нужно нечто, большее, чем текстовый редактор, вам нужен @url{https://www.gnu.org/software/emacs, Emacs}, дополненный замечательным @url{https://nongnu.org/geiser/, Geiser}. Чтобы установить всё это, введите:" #. type: example #: guix-git/doc/contributing.texi:536 #, no-wrap msgid "guix install emacs guile emacs-geiser emacs-geiser-guile\n" msgstr "guix install emacs guile emacs-geiser emacs-geiser-guile\n" #. type: Plain text #: guix-git/doc/contributing.texi:546 msgid "Geiser allows for interactive and incremental development from within Emacs: code compilation and evaluation from within buffers, access to on-line documentation (docstrings), context-sensitive completion, @kbd{M-.} to jump to an object definition, a REPL to try out your code, and more (@pxref{Introduction,,, geiser, Geiser User Manual}). If you allow Emacs to load the @file{.dir-locals.el} file at the root of the project checkout, it will cause Geiser to automatically add the local Guix sources to the Guile load path." msgstr "Geiser добавляет возможности интерактивной пошаговой разработки внутри Emacs: компиляция и запуск кода в буферах, доступ к онлайн-документации (docstrings), контекстные дополнения, @kbd{M-.} для перемещения к определениям объектов, REPL для тестирования кода и многое другое (@pxref{Introduction,,, geiser, Geiser User Manual}). Если вы позволите Emacs загружать файл @file{.dir-locals.el} в корне ветки вашего проекта, Geiser автоматически добавит локальные исходники Guix в пути Guile." #. type: Plain text #: guix-git/doc/contributing.texi:553 msgid "To actually edit the code, Emacs already has a neat Scheme mode. But in addition to that, you must not miss @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. It provides facilities to directly operate on the syntax tree, such as raising an s-expression or wrapping it, swallowing or rejecting the following s-expression, etc." msgstr "Вообще, для редактирования кода, в Emacs уже есть классный Scheme режим. Но также обратите внимание на @url{https://www.emacswiki.org/emacs/ParEdit, Paredit}. Данный пакет предоставляет средства для непосредственной работы с синтаксическим деревом, такие как объявление s-выражений, их упаковка, отклонение следующего s-выражения и т.д." #. type: cindex #: guix-git/doc/contributing.texi:554 #, no-wrap msgid "code snippets" msgstr "сниппеты с кодом" #. type: cindex #: guix-git/doc/contributing.texi:555 #, no-wrap msgid "templates" msgstr "шаблоны" #. type: cindex #: guix-git/doc/contributing.texi:556 #, no-wrap msgid "reducing boilerplate" msgstr "сокращение шаблонов" #. type: Plain text #: guix-git/doc/contributing.texi:566 msgid "We also provide templates for common git commit messages and package definitions in the @file{etc/snippets} directory. These templates can be used to expand short trigger strings to interactive text snippets. If you use @url{https://joaotavora.github.io/yasnippet/, YASnippet}, you may want to add the @file{etc/snippets/yas} snippets directory to the @var{yas-snippet-dirs} variable. If you use @url{https://github.com/minad/tempel/, Tempel}, you may want to add the @file{etc/snippets/tempel/*} path to the @var{tempel-path} variable in Emacs." msgstr "Мы также предоставляем шаблоны для стандартных git-коммитов и определений пакетов в каталоге @file{etc/snippets}. Эти шаблоны могут быть использованы для расширения коротких строк триггера до интерактивных фрагментов текста. Если вы используете @url{https://joaotavora.github.io/yasnippet/, YASnippet}, возможно вы захотите добавить каталог сниппетов @file{etc/snippets/yas} в переменную @var{yas-snippet-dirs}. Если вы используете @url{https://github.com/minad/tempel/, Tempel}, возможно вы захотите добавить путь @file{etc/snippets/tempel/*} в переменную @var{tempel-path} в Emacs." #. type: lisp #: guix-git/doc/contributing.texi:578 #, no-wrap msgid "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" ";; @r{Yasnippet configuration}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel configuration}\n" "(with-eval-after-load 'tempel\n" " ;; Ensure tempel-path is a list -- it may also be a string.\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path)))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" msgstr "" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" ";; @r{Yasnippet configuration}\n" "(with-eval-after-load 'yasnippet\n" " (add-to-list 'yas-snippet-dirs \"~/src/guix/etc/snippets/yas\"))\n" ";; @r{Tempel configuration}\n" "(with-eval-after-load 'tempel\n" " ;; Ensure tempel-path is a list -- it may also be a string.\n" " (unless (listp 'tempel-path)\n" " (setq tempel-path (list tempel-path)))\n" " (add-to-list 'tempel-path \"~/src/guix/etc/snippets/tempel/*\"))\n" #. type: Plain text #: guix-git/doc/contributing.texi:586 msgid "The commit message snippets depend on @url{https://magit.vc/, Magit} to display staged files. When editing a commit message type @code{add} followed by @kbd{TAB} to insert a commit message template for adding a package; type @code{update} followed by @kbd{TAB} to insert a template for updating a package; type @code{https} followed by @kbd{TAB} to insert a template for changing the home page URI of a package to HTTPS." msgstr "Тексты сообщений коммитов зависят от отображения затронутых файлов @url{https://magit.vc/, Magit}. Во время редактирования сообщения коммита типа @code{add} нажмите @kbd{TAB} после его ввода, чтобы вставить шаблон сообщения коммита добавления пакета; редактируя тип @code{update}, нажмите @kbd{TAB}, чтобы вставить шаблон обновления пакета; тип @code{https} - кнопка @kbd{TAB} вставит шаблон изменения адреса домашней страницы пакета на HTTPS." #. type: Plain text #: guix-git/doc/contributing.texi:592 msgid "The main snippet for @code{scheme-mode} is triggered by typing @code{package...} followed by @kbd{TAB}. This snippet also inserts the trigger string @code{origin...}, which can be expanded further. The @code{origin} snippet in turn may insert other trigger strings ending on @code{...}, which also can be expanded further." msgstr "Основной код для @code{scheme-mode} вызывается при вводе @code{package...} и кнопки @kbd{TAB}. Этот код также вставляет строку триггера @code{origin...}, который может быть расширен в дальнейшем. Код @code{origin...}, в свою очередь, может вставить строки других триггеров, завершающихся @code{...}, который также может быть расширен в дальнейшем." #. type: cindex #: guix-git/doc/contributing.texi:593 #, no-wrap msgid "insert or update copyright" msgstr "внести или обновить авторские права" #. type: code{#1} #: guix-git/doc/contributing.texi:594 #, no-wrap msgid "M-x guix-copyright" msgstr "M-x guix-copyright" #. type: code{#1} #: guix-git/doc/contributing.texi:595 #, no-wrap msgid "M-x copyright-update" msgstr "M-x copyright-update" #. type: Plain text #: guix-git/doc/contributing.texi:599 msgid "We additionally provide insertion and automatic update of a copyright in @file{etc/copyright.el}. You may want to set your full name, mail, and load a file." msgstr "Мы дополнительно обеспечиваем автоматическое обновление информации об авторских правах в @file{etc/copyright.el}. Вы можете указать свое полное имя, почту и загрузить файл." #. type: lisp #: guix-git/doc/contributing.texi:605 #, no-wrap msgid "" "(setq user-full-name \"Alice Doe\")\n" "(setq user-mail-address \"alice@@mail.org\")\n" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" msgstr "" "(setq user-full-name \"Alice Doe\")\n" "(setq user-mail-address \"alice@@mail.org\")\n" ";; @r{Assuming the Guix checkout is in ~/src/guix.}\n" "(load-file \"~/src/guix/etc/copyright.el\")\n" #. type: Plain text #: guix-git/doc/contributing.texi:608 msgid "To insert a copyright at the current line invoke @code{M-x guix-copyright}." msgstr "Чтобы ввести авторское право в текущей строке, вызовите @code{M-x guix-copyright}." #. type: Plain text #: guix-git/doc/contributing.texi:610 msgid "To update a copyright you need to specify a @code{copyright-names-regexp}." msgstr "Для обновления авторских прав необходимо указать @code{copyright-names-regexp}." #. type: lisp #: guix-git/doc/contributing.texi:614 #, no-wrap msgid "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" msgstr "" "(setq copyright-names-regexp\n" " (format \"%s <%s>\" user-full-name user-mail-address))\n" #. type: Plain text #: guix-git/doc/contributing.texi:620 msgid "You can check if your copyright is up to date by evaluating @code{M-x copyright-update}. If you want to do it automatically after each buffer save then add @code{(add-hook 'after-save-hook 'copyright-update)} in Emacs." msgstr "Вы можете проверить актуальность своих авторских прав, вызвав @code{M-x copyright-update}. Если вы хотите делать это автоматически после каждого сохранения в буфер, то добавьте @code{(add-hook 'after-save-hook 'copyright-update)} в Emacs." #. type: subsection #: guix-git/doc/contributing.texi:621 guix-git/doc/contributing.texi:622 #, no-wrap msgid "Viewing Bugs within Emacs" msgstr "Просмотр ошибок внутри Emacs" #. type: Plain text #: guix-git/doc/contributing.texi:632 msgid "Emacs has a nice minor mode called @code{bug-reference}, which, when combined with @samp{emacs-debbugs} (the Emacs package), can be used to open links such as @samp{<https://bugs.gnu.org/58697>} or @samp{<https://issues.guix.gnu.org/58697>} as bug report buffers. From there you can easily consult the email thread via the Gnus interface, reply or modify the bug status, all without leaving the comfort of Emacs! Below is a sample configuration to add to your @file{~/.emacs} configuration file:" msgstr "У Emacs есть хороший второстепенный режим @code{bug-reference}, который вместе с @samp{emacs-debbugs} (пакет Emacs) может открывать ссылки типа @samp{<https://bugs.gnu.org/58697>} или @samp{<https://issues.guix.gnu.org/58697>} как буфер редактирования отчёта об ошибке. Оттуда же вы можете легко просматривать ветку электронной почты через интерфейс Gnus, отвечать, изменять статус ошибки, и всё не выходя из удобного Emacs! Ниже есть пример, который вы можете добавить в свой файл конфигурации @file{~/.emacs}:" #. type: lisp #: guix-git/doc/contributing.texi:641 #, no-wrap msgid "" ";;; Bug references.\n" "(require 'bug-reference)\n" "(add-hook 'prog-mode-hook #'bug-reference-prog-mode)\n" "(add-hook 'gnus-mode-hook #'bug-reference-mode)\n" "(add-hook 'erc-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-summary-mode-hook #'bug-reference-mode)\n" "(add-hook 'gnus-article-mode-hook #'bug-reference-mode)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:673 #, no-wrap msgid "" ";;; This extends the default expression (the top-most, first expression\n" ";;; provided to 'or') to also match URLs such as\n" ";;; <https://issues.guix.gnu.org/58697> or <https://bugs.gnu.org/58697>.\n" ";;; It is also extended to detect \"Fixes: #NNNNN\" git trailers.\n" "(setq bug-reference-bug-regexp\n" " (rx (group (or (seq word-boundary\n" " (or (seq (char \"Bb\") \"ug\"\n" " (zero-or-one \" \")\n" " (zero-or-one \"#\"))\n" " (seq (char \"Pp\") \"atch\"\n" " (zero-or-one \" \")\n" " \"#\")\n" " (seq (char \"Ff\") \"ixes\"\n" " (zero-or-one \":\")\n" " (zero-or-one \" \") \"#\")\n" " (seq \"RFE\"\n" " (zero-or-one \" \") \"#\")\n" " (seq \"PR \"\n" " (one-or-more (char \"a-z+-\")) \"/\"))\n" " (group (one-or-more (char \"0-9\"))\n" " (zero-or-one\n" " (seq \"#\" (one-or-more\n" " (char \"0-9\"))))))\n" " (seq (? \"<\") \"https://bugs.gnu.org/\"\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))\n" " (seq (? \"<\") \"https://issues.guix.gnu.org/\"\n" " (? \"issue/\")\n" " (group-n 2 (one-or-more (char \"0-9\")))\n" " (? \">\"))))))\n" "(setq bug-reference-url-format \"https://issues.guix.gnu.org/%s\")\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:678 #, no-wrap msgid "" "(require 'debbugs)\n" "(require 'debbugs-browse)\n" "(add-hook 'bug-reference-mode-hook #'debbugs-browse-mode)\n" "(add-hook 'bug-reference-prog-mode-hook #'debbugs-browse-mode)\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:689 #, no-wrap msgid "" ";; The following allows Emacs Debbugs user to open the issue directly within\n" ";; Emacs.\n" "(setq debbugs-browse-url-regexp\n" " (rx line-start\n" " \"http\" (zero-or-one \"s\") \"://\"\n" " (or \"debbugs\" \"issues.guix\" \"bugs\")\n" " \".gnu.org\" (one-or-more \"/\")\n" " (group (zero-or-one \"cgi/bugreport.cgi?bug=\"))\n" " (group-n 3 (one-or-more digit))\n" " line-end))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:692 #, no-wrap msgid "" ";; Change the default when run as 'M-x debbugs-gnu'.\n" "(setq debbugs-gnu-default-packages '(\"guix\" \"guix-patches\"))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:696 #, no-wrap msgid "" ";; Show feature requests.\n" "(setq debbugs-gnu-default-severities\n" " '(\"serious\" \"important\" \"normal\" \"minor\" \"wishlist\"))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:701 msgid "For more information, refer to @ref{Bug Reference,,, emacs, The GNU Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}." msgstr "Для дополнительной информации, см. @ref{Bug Reference,,, emacs, The GNU Emacs Manual} и @ref{Minor Mode,,, debbugs-ug, The Debbugs User Guide}." #. type: Plain text #: guix-git/doc/contributing.texi:708 msgid "Alternative setups than Emacs may let you work on Guix with a similar development experience and they might work better with the tools you currently use or help you make the transition to Emacs." msgstr "Другие решения помимо Emacs позволят вам работать над Guix с похожим опытом, и они могут лучше работать с теми инструментами, что используете вы или помогать перейти на Emacs." #. type: Plain text #: guix-git/doc/contributing.texi:714 msgid "The options listed below only provide the alternatives to the Emacs based setup, which is the most widely used in the Guix community. If you want to really understand how is the perfect setup for Guix development supposed to work, we encourage you to read the section before this regardless the editor you choose to use." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:720 #: guix-git/doc/contributing.texi:721 #, no-wrap msgid "Guile Studio" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "First step in your transition to Emacs." msgstr "Первые шаги при переходе на Emacs." #. type: subsection #: guix-git/doc/contributing.texi:718 guix-git/doc/contributing.texi:733 #: guix-git/doc/contributing.texi:734 #, no-wrap msgid "Vim and NeoVim" msgstr "Vim и NeoVim" #. type: menuentry #: guix-git/doc/contributing.texi:718 msgid "When you are evil to the root." msgstr "Если вас объяла тьма." #. type: Plain text #: guix-git/doc/contributing.texi:726 msgid "Guile Studio is a pre-configured Emacs with mostly everything you need to start hacking in Guile. If you are not familiar with Emacs it makes the transition easier for you." msgstr "Guile Studio - это предконфигурированный Emacs со всем тем, что может вам пригодиться для начала работы с Guile. Если вы не знакомы с Emacs, он позволит вам перейти на него ещё быстрее." #. type: example #: guix-git/doc/contributing.texi:729 #, no-wrap msgid "guix install guile-studio\n" msgstr "guix install guile-studio\n" #. type: Plain text #: guix-git/doc/contributing.texi:732 msgid "Guile Studio comes with Geiser preinstalled and prepared for action." msgstr "В Guile Studio предустановлен готовый к работе Geiser." #. type: Plain text #: guix-git/doc/contributing.texi:739 msgid "Vim (and NeoVim) are also packaged in Guix, just in case you decided to go for the evil path." msgstr "В Guix также есть пакеты с Vim (и NeoVim) на случай, если вы решили встать на тёмную сторону." #. type: example #: guix-git/doc/contributing.texi:742 #, no-wrap msgid "guix install vim\n" msgstr "guix install vim\n" #. type: Plain text #: guix-git/doc/contributing.texi:750 msgid "If you want to enjoy a similar development experience to that in the perfect setup, you should install several plugins to configure the editor. Vim (and NeoVim) have the equivalent to Paredit, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, that will help you with the structural editing of Scheme files (the support for very large files is not great, though)." msgstr "Если хоитите насладиться похожим опытом разработки, что есть у Emacs, вам нужно установить несколько плагинов и настроить редактор кода. У Vim (и NeoVim) есть аналог Paredit, @uref{https://www.vim.org/scripts/script.php?script_id=3998, @code{paredit.vim}}, он поможет вам со структурированным редактированием файлов Scheme (поддержка файлов большого размера, однако, не столь прекрасная)." #. type: example #: guix-git/doc/contributing.texi:753 #, no-wrap msgid "guix install vim-paredit\n" msgstr "guix install vim-paredit\n" #. type: Plain text #: guix-git/doc/contributing.texi:757 msgid "We also recommend that you run @code{:set autoindent} so that your code is automatically indented as you type." msgstr "Мы также рекомендуем вам прописать @code{:set autoindent}, чтобы у вас автоматически делались отступы." #. type: Plain text #: guix-git/doc/contributing.texi:761 msgid "For the interaction with Git, @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} is the most commonly used plugin:" msgstr "Для взаимодействия с Git, @uref{https://www.vim.org/scripts/script.php?script_id=2975, @code{fugitive.vim}} - самый распространённый плагин:" #. type: example #: guix-git/doc/contributing.texi:764 #, no-wrap msgid "guix install vim-fugitive\n" msgstr "guix install vim-fugitive\n" #. type: Plain text #: guix-git/doc/contributing.texi:769 msgid "And of course if you want to interact with Guix directly from inside of vim, using the built-in terminal emulator, we have our very own @code{guix.vim} package!" msgstr "И конечно же, если хотите взаимодействовать с Guix напрямую из Vim, используя встроенный эмулятор терминала, у нас есть собственный пакет @code{guix.vim}!" #. type: example #: guix-git/doc/contributing.texi:772 #, no-wrap msgid "guix install vim-guix-vim\n" msgstr "guix install vim-guix-vim\n" #. type: Plain text #: guix-git/doc/contributing.texi:777 msgid "In NeoVim you can even make a similar setup to Geiser using @url{https://conjure.fun/, Conjure} that lets you connect to a running Guile process and inject your code there live (sadly it's not packaged in Guix yet)." msgstr "В NeoVim вы можете сделать похожую схему, как у Geiser, используя @url{https://conjure.fun/, Conjure}, который позволяет подключаться к процессу Guile и вставлять ваш код в реальном времени (к сожалению, в Guix такого пакета ещё нет)." #. type: cindex #: guix-git/doc/contributing.texi:782 #, fuzzy, no-wrap #| msgid "integrity, of the store" msgid "structure, of the source tree" msgstr "целостность, склада" #. type: Plain text #: guix-git/doc/contributing.texi:786 msgid "If you're willing to contribute to Guix beyond packages, or if you'd like to learn how it all fits together, this section provides a guided tour in the code base that you may find useful." msgstr "Если хотите внести вклад в Guix помимо пакетов, или если вы хотите знать, как всё тут устроено, этот раздел будет экскурсией по кодовой базе, которая вам может быть полезна." #. type: Plain text #: guix-git/doc/contributing.texi:790 msgid "Overall, the Guix source tree contains almost exclusively Guile @dfn{modules}, each of which can be seen as an independent library (@pxref{Modules,,, guile, GNU Guile Reference Manual})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:795 msgid "The following table gives an overview of the main directories and what they contain. Remember that in Guile, each module name is derived from its file name---e.g., the module in file @file{guix/packages.scm} is called @code{(guix packages)}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:797 guix-git/doc/contributing.texi:3408 #: guix-git/doc/guix.texi:11315 #, no-wrap msgid "guix" msgstr "guix" #. type: table #: guix-git/doc/contributing.texi:801 msgid "This is the location of core Guix mechanisms. To illustrate what is meant by ``core'', here are a few examples, starting from low-level tools and going towards higher-level tools:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:803 #, no-wrap msgid "(guix store)" msgstr "(guix store)" #. type: table #: guix-git/doc/contributing.texi:805 msgid "Connecting to and interacting with the build daemon (@pxref{The Store})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:805 #, fuzzy, no-wrap #| msgid "derivation" msgid "(guix derivations)" msgstr "деривация" #. type: table #: guix-git/doc/contributing.texi:807 #, fuzzy #| msgid "Return the derivation(s) leading to the given store items (@pxref{Derivations})." msgid "Creating derivations (@pxref{Derivations})." msgstr "Вернуть деривацию(-ии), производящие данные элементы склада (@pxref{Derivations})." #. type: item #: guix-git/doc/contributing.texi:807 #, fuzzy, no-wrap #| msgid "guix pull" msgid "(guix gexps)" msgstr "guix pull" #. type: table #: guix-git/doc/contributing.texi:809 msgid "Writing G-expressions (@pxref{G-Expressions})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:809 #, fuzzy, no-wrap #| msgid "Invoking guix package" msgid "(guix packages)" msgstr "Вызов guix package" #. type: table #: guix-git/doc/contributing.texi:811 msgid "Defining packages and origins (@pxref{package Reference})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:811 #, no-wrap msgid "(guix download)" msgstr "(guix download)" #. type: itemx #: guix-git/doc/contributing.texi:812 #, no-wrap msgid "(guix git-download)" msgstr "(guix git-download)" #. type: table #: guix-git/doc/contributing.texi:815 msgid "The @code{url-fetch} and @code{git-fetch} origin download methods (@pxref{origin Reference})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:815 #, fuzzy, no-wrap #| msgid "guix shell\n" msgid "(guix swh)" msgstr "guix shell\n" #. type: table #: guix-git/doc/contributing.texi:818 msgid "Fetching source code from the @uref{https://archive.softwareheritage.org,Software Heritage archive}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:818 #, fuzzy, no-wrap #| msgid "--search-paths" msgid "(guix search-paths)" msgstr "--search-paths" #. type: table #: guix-git/doc/contributing.texi:820 msgid "Implementing search paths (@pxref{Search Paths})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:820 #, fuzzy, no-wrap #| msgid "build-system" msgid "(guix build-system)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:822 #, fuzzy #| msgid "The build system that should be used to build the package (@pxref{Build Systems})." msgid "The build system interface (@pxref{Build Systems})." msgstr "Система сборки, которую следует использовать для сборки пакета (@pxref{Build Systems})." #. type: item #: guix-git/doc/contributing.texi:822 #, fuzzy, no-wrap #| msgid "Invoking guix processes" msgid "(guix profiles)" msgstr "Запуск guix processes" #. type: table #: guix-git/doc/contributing.texi:824 #, fuzzy #| msgid "Implementing data structures." msgid "Implementing profiles." msgstr "Воплощение структур данных." #. type: cindex #: guix-git/doc/contributing.texi:826 #, no-wrap msgid "build system, directory structure" msgstr "" #. type: item #: guix-git/doc/contributing.texi:827 #, fuzzy, no-wrap #| msgid "build-system" msgid "guix/build-system" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:830 msgid "This directory contains specific build system implementations (@pxref{Build Systems}), such as:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:832 #, fuzzy, no-wrap #| msgid "build-system" msgid "(guix build-system gnu)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:834 #, fuzzy #| msgid "GNU Build System" msgid "the GNU build system;" msgstr "Система сборки GNU" #. type: item #: guix-git/doc/contributing.texi:834 #, fuzzy, no-wrap #| msgid "build-system" msgid "(guix build-system cmake)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:836 #, fuzzy #| msgid "emacs-build-system" msgid "the CMake build system;" msgstr "emacs-build-system" #. type: item #: guix-git/doc/contributing.texi:836 #, fuzzy, no-wrap #| msgid "build-system" msgid "(guix build-system pyproject)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:838 #, fuzzy #| msgid "emacs-build-system" msgid "The Python ``pyproject'' build system." msgstr "emacs-build-system" #. type: item #: guix-git/doc/contributing.texi:840 #, fuzzy, no-wrap #| msgid "guix build" msgid "guix/build" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:845 msgid "This contains code generally used on the ``build side'' (@pxref{G-Expressions, strata of code}). This includes code used to build packages or other operating system components, as well as utilities:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:847 #, fuzzy, no-wrap #| msgid "guix build" msgid "(guix build utils)" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:849 #, fuzzy #| msgid "Helpers for your package definitions and more." msgid "Utilities for package definitions and more (@pxref{Build Utilities})." msgstr "Импорт описаниий пакетов." #. type: item #: guix-git/doc/contributing.texi:849 #, fuzzy, no-wrap #| msgid "build-system" msgid "(guix build gnu-build-system)" msgstr "система сборки" #. type: itemx #: guix-git/doc/contributing.texi:850 #, fuzzy, no-wrap #| msgid "emacs-build-system" msgid "(guix build cmake-build-system)" msgstr "emacs-build-system" #. type: itemx #: guix-git/doc/contributing.texi:851 #, fuzzy, no-wrap #| msgid "emacs-build-system" msgid "(guix build pyproject-build-system)" msgstr "emacs-build-system" #. type: table #: guix-git/doc/contributing.texi:854 msgid "Implementation of build systems, and in particular definition of their build phases (@pxref{Build Phases})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:854 #, fuzzy, no-wrap #| msgid "guix build bash\n" msgid "(guix build syscalls)" msgstr "guix build bash\n" #. type: table #: guix-git/doc/contributing.texi:856 msgid "Interface to the C library and to Linux system calls." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:858 #, no-wrap msgid "command-line tools, as Guile modules" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:859 #, fuzzy, no-wrap #| msgid "Package Modules" msgid "command modules" msgstr "Пакетные модули" #. type: item #: guix-git/doc/contributing.texi:860 #, fuzzy, no-wrap #| msgid "guix describe" msgid "guix/scripts" msgstr "guix describe" #. type: table #: guix-git/doc/contributing.texi:865 msgid "This contains modules corresponding to @command{guix} sub-commands. For example, the @code{(guix scripts shell)} module exports the @code{guix-shell} procedure, which directly corresponds to the @command{guix shell} command (@pxref{Invoking guix shell})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:866 #, fuzzy, no-wrap #| msgid "with-imported-modules" msgid "importer modules" msgstr "with-imported-modules" #. type: item #: guix-git/doc/contributing.texi:867 #, fuzzy, no-wrap #| msgid "--import" msgid "guix/import" msgstr "--import" #. type: table #: guix-git/doc/contributing.texi:872 msgid "This contains supporting code for the importers and updaters (@pxref{Invoking guix import}, and @pxref{Invoking guix refresh}). For example, @code{(guix import pypi)} defines the interface to PyPI, which is used by the @command{guix import pypi} command." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:887 msgid "The directories we have seen so far all live under @file{guix/}. The other important place is the @file{gnu/} directory, which contains primarily package definitions as well as libraries and tools for Guix System (@pxref{System Configuration}) and Guix Home (@pxref{Home Configuration}), all of which build upon functionality provided by @code{(guix @dots{})} modules@footnote{For this reason, @code{(guix @dots{})} modules must generally not depend on @code{(gnu @dots{})} modules, with notable exceptions: @code{(guix build-system @dots{})} modules may look up packages at run time---e.g., @code{(guix build-system cmake)} needs to access the @code{cmake} variable at run time---, @code{(guix scripts @dots{})} often rely on @code{(gnu @dots{})} modules, and the same goes for some of the @code{(guix import @dots{})} modules.}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:889 #, no-wrap msgid "package modules" msgstr "Пакетные модули" #. type: item #: guix-git/doc/contributing.texi:890 #, fuzzy, no-wrap #| msgid "packages" msgid "gnu/packages" msgstr "пакеты" #. type: table #: guix-git/doc/contributing.texi:894 msgid "This is by far the most crowded directory of the source tree: it contains @dfn{package modules} that export package definitions (@pxref{Package Modules}). A few examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:896 #, fuzzy, no-wrap #| msgid "" #| "(use-modules (gnu packages base) (guix packages))\n" #| "\n" msgid "(gnu packages base)" msgstr "" "(use-modules (gnu packages base) (guix packages))\n" "\n" #. type: table #: guix-git/doc/contributing.texi:899 msgid "Module providing ``base'' packages: @code{glibc}, @code{coreutils}, @code{grep}, etc." msgstr "" #. type: item #: guix-git/doc/contributing.texi:899 #, fuzzy, no-wrap #| msgid "Invoking guix package" msgid "(gnu packages guile)" msgstr "Вызов guix package" #. type: table #: guix-git/doc/contributing.texi:901 #, fuzzy #| msgid "Building packages." msgid "Guile and core Guile packages." msgstr "Сборка пакетов." #. type: item #: guix-git/doc/contributing.texi:901 #, fuzzy, no-wrap #| msgid "Invoking guix package" msgid "(gnu packages linux)" msgstr "Вызов guix package" #. type: table #: guix-git/doc/contributing.texi:903 msgid "The Linux-libre kernel and related packages." msgstr "" #. type: item #: guix-git/doc/contributing.texi:903 #, fuzzy, no-wrap #| msgid "guix package @var{options}\n" msgid "(gnu packages python)" msgstr "guix package @var{options}\n" #. type: table #: guix-git/doc/contributing.texi:905 #, fuzzy #| msgid "inputs, for Python packages" msgid "Python and core Python packages." msgstr "входные данные, для пакетов Python" #. type: item #: guix-git/doc/contributing.texi:905 #, no-wrap msgid "(gnu packages python-xyz)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:907 msgid "Miscellaneous Python packages (we were not very creative)." msgstr "" #. type: table #: guix-git/doc/contributing.texi:912 #, fuzzy #| msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})." msgid "In any case, you can jump to a package definition using @command{guix edit} (@pxref{Invoking guix edit}) and view its location with @command{guix show} (@pxref{Invoking guix package})." msgstr "Вы можете получить эту информацию, используя @code{guix download} (@pxref{Invoking guix download}) или @code{guix hash} (@pxref{Invoking guix hash})." #. type: findex #: guix-git/doc/contributing.texi:913 #, fuzzy, no-wrap #| msgid "--search-paths" msgid "search-patches" msgstr "--search-paths" #. type: item #: guix-git/doc/contributing.texi:914 #, no-wrap msgid "gnu/packages/patches" msgstr "" #. type: table #: guix-git/doc/contributing.texi:917 msgid "This directory contains patches applied against packages and obtained using the @code{search-patches} procedure." msgstr "" #. type: item #: guix-git/doc/contributing.texi:918 #, fuzzy, no-wrap #| msgid "Services" msgid "gnu/services" msgstr "Сервисы" #. type: table #: guix-git/doc/contributing.texi:922 msgid "This contains service definitions, primarily for Guix System (@pxref{Services}) but some of them are adapted and reused for Guix Home as we will see below. Examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:924 #, fuzzy, no-wrap #| msgid "Linux Services" msgid "(gnu services)" msgstr "Службы Linux" #. type: table #: guix-git/doc/contributing.texi:927 msgid "The service framework itself, which defines the service and service type data types (@pxref{Service Composition})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:927 #, fuzzy, no-wrap #| msgid "Linux Services" msgid "(gnu services base)" msgstr "Службы Linux" #. type: table #: guix-git/doc/contributing.texi:929 msgid "``Base'' services (@pxref{Base Services})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:929 #, fuzzy, no-wrap #| msgid "Monitoring services." msgid "(gnu services desktop)" msgstr "Сервисы мониторинга." #. type: table #: guix-git/doc/contributing.texi:931 #, fuzzy #| msgid "Desktop Services" msgid "``Desktop'' services (@pxref{Desktop Services})." msgstr "Сервисы рабочего стола" #. type: item #: guix-git/doc/contributing.texi:931 #, no-wrap msgid "(gnu services shepherd)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:933 msgid "Support for Shepherd services (@pxref{Shepherd Services})." msgstr "" #. type: table #: guix-git/doc/contributing.texi:938 #, fuzzy #| msgid "You can obtain this information using @code{guix download} (@pxref{Invoking guix download}) or @code{guix hash} (@pxref{Invoking guix hash})." msgid "You can jump to a service definition using @command{guix system edit} and view its location with @command{guix system search} (@pxref{Invoking guix system})." msgstr "Вы можете получить эту информацию, используя @code{guix download} (@pxref{Invoking guix download}) или @code{guix hash} (@pxref{Invoking guix hash})." #. type: item #: guix-git/doc/contributing.texi:939 #, fuzzy, no-wrap #| msgid "Guix System" msgid "gnu/system" msgstr "Система Guix" #. type: table #: guix-git/doc/contributing.texi:941 msgid "These are core Guix System modules, such as:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:943 #, fuzzy, no-wrap #| msgid "Guix System" msgid "(gnu system)" msgstr "Система Guix" #. type: table #: guix-git/doc/contributing.texi:945 msgid "Defines @code{operating-system} (@pxref{operating-system Reference})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:945 #, fuzzy, no-wrap #| msgid "build-system" msgid "(gnu system file-systems)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:947 msgid "Defines @code{file-system} (@pxref{File Systems})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:947 #, fuzzy, no-wrap #| msgid "Specifying system services." msgid "(gnu system mapped-devices)" msgstr "Настройка системных служб." #. type: table #: guix-git/doc/contributing.texi:949 msgid "Defines @code{mapped-device} (@pxref{Mapped Devices})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:951 #, fuzzy, no-wrap #| msgid "guix build" msgid "gnu/build" msgstr "guix build" #. type: table #: guix-git/doc/contributing.texi:955 msgid "These are modules that are either used on the ``build side'' when building operating systems or packages, or at run time by operating systems." msgstr "" #. type: item #: guix-git/doc/contributing.texi:957 #, fuzzy, no-wrap #| msgid "guix build bash\n" msgid "(gnu build accounts)" msgstr "guix build bash\n" #. type: table #: guix-git/doc/contributing.texi:960 msgid "Creating @file{/etc/passwd}, @file{/etc/shadow}, etc. (@pxref{User Accounts})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:960 #, fuzzy, no-wrap #| msgid "Do not build the derivations." msgid "(gnu build activation)" msgstr "Не собирайте производные." #. type: table #: guix-git/doc/contributing.texi:962 #, fuzzy #| msgid "Manage the operating system configuration." msgid "Activating an operating system at boot time or reconfiguration time." msgstr "Управление конфигурацией ОС." #. type: item #: guix-git/doc/contributing.texi:962 #, fuzzy, no-wrap #| msgid "build-system" msgid "(gnu build file-systems)" msgstr "система сборки" #. type: table #: guix-git/doc/contributing.texi:964 msgid "Searching, checking, and mounting file systems." msgstr "" #. type: item #: guix-git/doc/contributing.texi:964 #, no-wrap msgid "(gnu build linux-boot)" msgstr "" #. type: itemx #: guix-git/doc/contributing.texi:965 #, no-wrap msgid "(gnu build hurd-boot)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:967 #, fuzzy #| msgid "Configuring the operating system." msgid "Booting GNU/Linux and GNU/Hurd operating systems." msgstr "К