aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/pumpio.scm
blob: b8741520f02f33149451739af1c9d476a50250f1 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages pumpio)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages aspell)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages web))

(define-public pumpa
  (package
    (name "pumpa")
    (version "0.9.3")
    (source (origin
              (method git-fetch) ; no source tarballs
              (uri (git-reference
                    (url "git://pumpa.branchable.com/")
                    (commit (string-append "v" version))))
              (sha256
               (base32
                "14072vis539zjgryjr5a77j2cprxii5znyg3p01qbb11lijk9nj7"))
              (file-name (string-append name "-" version "-checkout"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Fix dependency tests.
             (substitute* "pumpa.pro"
               (("/usr/include/tidy\\.h")
                (string-append (assoc-ref inputs "tidy")
                               "/include/tidy.h"))
               (("/usr/include/aspell.h")
                (string-append (assoc-ref inputs "aspell")
                               "/include/aspell.h")))
             ;; Run qmake with proper installation prefix.
             (let ((prefix (string-append "PREFIX="
                                          (assoc-ref outputs "out"))))
               (invoke "qmake" prefix))
             #t)))))
    (inputs
     `(("aspell" ,aspell)
       ("qtbase" ,qtbase)
       ("tidy" ,tidy)))
    (synopsis "Qt-based pump.io client")
    (description "Pumpa is a simple pump.io client written in C++ and Qt.")
    (home-page "https://pumpa.branchable.com/")
    (license gpl3+)))
и величайший." #. 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 "Конфигурирование операционной системы." #. type: item #: guix-git/doc/contributing.texi:967 #, no-wrap msgid "(gnu build linux-initrd)" msgstr "" #. type: table #: guix-git/doc/contributing.texi:969 msgid "Creating a Linux initial RAM disk (@pxref{Initial RAM Disk})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:971 #, fuzzy, no-wrap #| msgid "guix shell\n" msgid "gnu/home" msgstr "guix shell\n" #. type: table #: guix-git/doc/contributing.texi:974 msgid "This contains all things Guix Home (@pxref{Home Configuration}); examples:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:976 #, fuzzy, no-wrap #| msgid "Other services." msgid "(gnu home services)" msgstr "Другие службы." #. type: table #: guix-git/doc/contributing.texi:978 #, fuzzy #| msgid "This is the data type representing the configuration for the hurd-getty-service." msgid "Core services such as @code{home-files-service-type}." msgstr "Управление конфигурацией операционной системы." #. type: item #: guix-git/doc/contributing.texi:978 #, fuzzy, no-wrap #| msgid "Other services." msgid "(gnu home services ssh)" msgstr "Другие службы." #. type: table #: guix-git/doc/contributing.texi:980 msgid "SSH-related services (@pxref{Secure Shell})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:982 #, fuzzy, no-wrap #| msgid "install" msgid "gnu/installer" msgstr "установка" #. type: table #: guix-git/doc/contributing.texi:985 msgid "This contains the text-mode graphical system installer (@pxref{Guided Graphical Installation})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:986 #, fuzzy, no-wrap #| msgid "machine" msgid "gnu/machine" msgstr "компьютер" #. type: table #: guix-git/doc/contributing.texi:989 #, fuzzy #| msgid "Once installed, Guix can be updated by running @command{guix pull} (@pxref{Invoking guix pull})." msgid "These are the @dfn{machine abstractions} used by @command{guix deploy} (@pxref{Invoking guix deploy})." msgstr "Установленный Guix можно обновлять командой @command{guix pull} (@pxref{Invoking guix pull})." #. type: item #: guix-git/doc/contributing.texi:990 #, no-wrap msgid "gnu/tests" msgstr "" #. type: table #: guix-git/doc/contributing.texi:993 msgid "This contains system tests---tests that spawn virtual machines to check that system services work as expected (@pxref{Running the Test Suite})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:997 msgid "Last, there's also a few directories that contain files that are @emph{not} Guile modules:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:999 #, fuzzy, no-wrap #| msgid "unix" msgid "nix" msgstr "unix" #. type: table #: guix-git/doc/contributing.texi:1002 #, fuzzy #| msgid "The @option{--listen} option of @command{guix-daemon} can be used to instruct it to listen for TCP connections (@pxref{Invoking guix-daemon, @option{--listen}})." msgid "This is the C++ implementation of @command{guix-daemon}, inherited from Nix (@pxref{Invoking guix-daemon})." msgstr "Параметр @option{--listen} команды @command{guix-daemon} можно использовать для указания ему прослушивать TCP-соединения (@pxref{Invoking guix-daemon, @option{--listen}})." #. type: item #: guix-git/doc/contributing.texi:1003 #, fuzzy, no-wrap #| msgid "#:tests?" msgid "tests" msgstr "#:tests?" #. type: table #: guix-git/doc/contributing.texi:1007 msgid "These are unit tests, each file corresponding more or less to one module, in particular @code{(guix @dots{})} modules (@pxref{Running the Test Suite})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1008 #, fuzzy, no-wrap #| msgid "docker" msgid "doc" msgstr "docker" #. type: table #: guix-git/doc/contributing.texi:1012 msgid "This is the documentation in the form of Texinfo files: this manual and the Cookbook. @xref{Writing a Texinfo File,,, texinfo, GNU Texinfo}, for information on Texinfo markup language." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1013 #, no-wrap msgid "po" msgstr "" #. type: table #: guix-git/doc/contributing.texi:1018 msgid "This is the location of translations of Guix itself, of package synopses and descriptions, of the manual, and of the cookbook. Note that @file{.po} files that live here are pulled directly from Weblate (@pxref{Translating Guix})." msgstr "" #. type: item #: guix-git/doc/contributing.texi:1019 #, no-wrap msgid "etc" msgstr "" #. type: table #: guix-git/doc/contributing.texi:1022 msgid "Miscellaneous files: shell completions, support for systemd and other init systems, Git hooks, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1029 msgid "With all this, a fair chunk of your operating system is at your fingertips! Beyond @command{grep} and @command{git grep}, @pxref{The Perfect Setup} on how to navigate code from your editor, and @pxref{Using Guix Interactively} for information on how to use Scheme modules interactively. Enjoy!" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1033 #, no-wrap msgid "packages, creating" msgstr "создание, пакетов" #. type: Plain text #: guix-git/doc/contributing.texi:1037 msgid "The GNU distribution is nascent and may well lack some of your favorite packages. This section describes how you can help make the distribution grow." msgstr "Дистрибутив GNU - только зарождается и может не содержать ваши любимые пакеты. Этот раздел описывает как можно помочь с развитием дистрибутива." #. type: Plain text #: guix-git/doc/contributing.texi:1045 msgid "Free software packages are usually distributed in the form of @dfn{source code tarballs}---typically @file{tar.gz} files that contain all the source files. Adding a package to the distribution means essentially two things: adding a @dfn{recipe} that describes how to build the package, including a list of other packages required to build it, and adding @dfn{package metadata} along with that recipe, such as a description and licensing information." msgstr "Пакеты свободного программного обеспечения обычно распространяются в виде @dfn{архивов исходного кода}‐‐‐скорее всего @file{tar.gz}, которые содержат все исходные файлы. Добавить пакет в дистрибутив означает, по существу, две вещи: добавление @dfn{рецепта}, в котором обозначено, как собирать пакет, включая список других пакетов, необходимых для сборки данного, а также добавление @dfn{метаданных пакета} вместе с тем рецептом, таких как описание пакета и информации о лицензировании." #. type: Plain text #: guix-git/doc/contributing.texi:1054 msgid "In Guix all this information is embodied in @dfn{package definitions}. Package definitions provide a high-level view of the package. They are written using the syntax of the Scheme programming language; in fact, for each package we define a variable bound to the package definition, and export that variable from a module (@pxref{Package Modules}). However, in-depth Scheme knowledge is @emph{not} a prerequisite for creating packages. For more information on package definitions, @pxref{Defining Packages}." msgstr "В Guix вся эта информация включена в @dfn{определения пакетов}. Определения пакетов представляют собой высокоуровневый обзор пакета. Они написаны с использованием синтаксиса языка программирования Scheme. Для каждого пакета задаётся набор переменных, которые составляют определение пакета, и затем это определение пакета экспортируется из модуля (@pxref{Package Modules}). Однако основательные знания Scheme @emph{not} не обязательны для создания пакетов. Для информации об определении пакетов см. @pxref{Defining Packages}." #. type: Plain text #: guix-git/doc/contributing.texi:1060 msgid "Once a package definition is in place, stored in a file in the Guix source tree, it can be tested using the @command{guix build} command (@pxref{Invoking guix build}). For example, assuming the new package is called @code{gnew}, you may run this command from the Guix build tree (@pxref{Running Guix Before It Is Installed}):" msgstr "Когда определение пакета создано, сохранено в файле в дереве исходников Guix, оно может быть протестировано командой @command{guix build} (@pxref{Invoking guix build}). Например, допустим, новый пакет называется @code{gnew}, тогда можно запустить эту команду из дерева сборки Guix (@pxref{Running Guix Before It Is Installed}):" #. type: example #: guix-git/doc/contributing.texi:1063 #, no-wrap msgid "./pre-inst-env guix build gnew --keep-failed\n" msgstr "./pre-inst-env guix build gnew --keep-failed\n" #. type: Plain text #: guix-git/doc/contributing.texi:1069 msgid "Using @code{--keep-failed} makes it easier to debug build failures since it provides access to the failed build tree. Another useful command-line option when debugging is @code{--log-file}, to access the build log." msgstr "Использование @code{--keep-failed} помогает при отладке ошибок сборки, так как эта опция предоставляет доступ к дереву неудачных сборок. Другая полезная опция командной строки при отладке - @code{--log-file}, которая даёт доступ к логу сборки." #. type: Plain text #: guix-git/doc/contributing.texi:1074 msgid "If the package is unknown to the @command{guix} command, it may be that the source file contains a syntax error, or lacks a @code{define-public} clause to export the package variable. To figure it out, you may load the module from Guile to get more information about the actual error:" msgstr "Если пакет не известен команде @command{guix}, это может означать, что файл исходника содержит синтаксическую ошибку или не имеет предложения @code{define-public}, которое экспортирует переменную пакета. Чтобы разобраться, можно загрузить модуль из Guile и получить больше информации о текущей ошибке:" #. type: example #: guix-git/doc/contributing.texi:1077 #, no-wrap msgid "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" msgstr "./pre-inst-env guile -c '(use-modules (gnu packages gnew))'\n" #. type: Plain text #: guix-git/doc/contributing.texi:1084 msgid "Once your package builds correctly, please send us a patch (@pxref{Submitting Patches}). Well, if you need help, we will be happy to help you too. Once the patch is committed in the Guix repository, the new package automatically gets built on the supported platforms by @url{https://@value{SUBSTITUTE-SERVER-1}, our continuous integration system}." msgstr "Если ваш пакет собирается без ошибок, пришлите нам свой патч (@pxref{Submitting Patches}). Если вам нужна помощь, мы будем рады помочь вам со своей стороны. После фиксации патча в репозитории Guix новый пакет будет автоматически собран для всех поддерживаемых платформ нашей @url{https://@value{SUBSTITUTE-SERVER-1} CI-системой}." #. type: cindex #: guix-git/doc/contributing.texi:1085 #, no-wrap msgid "substituter" msgstr "заменяющий" #. type: Plain text #: guix-git/doc/contributing.texi:1092 msgid "Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When @code{@value{SUBSTITUTE-SERVER-1}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). The only place where human intervention is needed is to review and apply the patch." msgstr "Пользователи могут получать новые доступные определения пакетов простым запуском @command{guix pull} (@pxref{Invoking guix pull}). Если @code{@value{SUBSTITUTE-SERVER-1}} выполнил сборку пакета, установка пакета выполнит автоматическое скачивание бинарных файлов оттуда (@pxref{Substitutes}). Единственное место, где нужна активность человека, - обзор и применение патча." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1110 #: guix-git/doc/contributing.texi:1111 #, no-wrap msgid "Software Freedom" msgstr "Свобода программного обеспечения" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What may go into the distribution." msgstr "Что может быть принято в дистрибутив." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1138 #: guix-git/doc/contributing.texi:1139 #, no-wrap msgid "Package Naming" msgstr "Как называть пакеты" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "What's in a name?" msgstr "Что может быть в имени?" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1171 #: guix-git/doc/contributing.texi:1172 #, no-wrap msgid "Version Numbers" msgstr "Номера версий" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "When the name is not enough." msgstr "Когда имени не достаточно." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1278 #: guix-git/doc/contributing.texi:1279 #, no-wrap msgid "Synopses and Descriptions" msgstr "Краткие обзоры и описания" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Helping users find the right package." msgstr "Помощь пользователю в поиске нужного пакета." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1357 #: guix-git/doc/contributing.texi:1358 #, no-wrap msgid "Snippets versus Phases" msgstr "Сниппеты против Фаз" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Whether to use a snippet, or a build phase." msgstr "Где использовать сниппет, а где фазу сборки." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1372 #: guix-git/doc/contributing.texi:1373 #, fuzzy, no-wrap #| msgid "Declaring Channel Dependencies" msgid "Cyclic Module Dependencies" msgstr "Объявление зависимостей канала" #. type: menuentry #: guix-git/doc/contributing.texi:1108 #, fuzzy #| msgid "Going further" msgid "Going full circle." msgstr "Больше информации" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1427 #: guix-git/doc/contributing.texi:1428 guix-git/doc/guix.texi:1887 #, no-wrap msgid "Emacs Packages" msgstr "Пакеты Emacs" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Your Elisp fix." msgstr "Ваш Elisp фикс." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1467 #: guix-git/doc/contributing.texi:1468 #, no-wrap msgid "Python Modules" msgstr "Модули Python" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "A touch of British comedy." msgstr "Английский юмор." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1562 #: guix-git/doc/contributing.texi:1563 #, no-wrap msgid "Perl Modules" msgstr "Модули Perl" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Little pearls." msgstr "Жемчужинки." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1578 #: guix-git/doc/contributing.texi:1579 #, no-wrap msgid "Java Packages" msgstr "Пакеты Java" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Coffee break." msgstr "Кофе-брейк." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1598 #: guix-git/doc/contributing.texi:1599 #, no-wrap msgid "Rust Crates" msgstr "Rust Crates пакеты" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Beware of oxidation." msgstr "Остерегайтесь окисления." #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1632 #: guix-git/doc/contributing.texi:1633 #, no-wrap msgid "Elm Packages" msgstr "Пакеты Elm" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Trees of browser code" msgstr "Лесок браузерного кода" #. type: subsection #: guix-git/doc/contributing.texi:1108 guix-git/doc/contributing.texi:1713 #: guix-git/doc/contributing.texi:1714 #, no-wrap msgid "Fonts" msgstr "Шрифты" #. type: menuentry #: guix-git/doc/contributing.texi:1108 msgid "Fond of fonts." msgstr "Любителям шрифтов." #. type: cindex #: guix-git/doc/contributing.texi:1114 #, no-wrap msgid "free software" msgstr "свободное программное обеспечение" #. type: Plain text #: guix-git/doc/contributing.texi:1122 msgid "The GNU operating system has been developed so that users can have freedom in their computing. GNU is @dfn{free software}, meaning that users have the @url{https://www.gnu.org/philosophy/free-sw.html,four essential freedoms}: to run the program, to study and change the program in source code form, to redistribute exact copies, and to distribute modified versions. Packages found in the GNU distribution provide only software that conveys these four freedoms." msgstr "Операционная система GNU разработана, чтобы пользователи имели свободу при работе за компьютером. GNU --- это @dfn{свободное программное обеспечение}, то есть пользователи могут иметь @url{http://www.gnu.org/philosophy/free-sw.html,четыре важнейшие свободы}: запускать программу, изучать и изменять исходный код программы, распространять самостоятельно точные копии и распространять изменённые версии. Пакеты, включенные в дистрибутив GNU, поставляют только программное обеспечение, которое даёт эти четыре свободы." #. type: Plain text #: guix-git/doc/contributing.texi:1128 msgid "In addition, the GNU distribution follow the @url{https://www.gnu.org/distros/free-system-distribution-guidelines.html,free software distribution guidelines}. Among other things, these guidelines reject non-free firmware, recommendations of non-free software, and discuss ways to deal with trademarks and patents." msgstr "Также дистрибутив GNU следует @url{http://www.gnu.org/distros/free-system-distribution-guidelines.html,рекомендациям для свободных дистрибутивов}. Эти рекомендации, среди прочих указаний, также отклоняют несвободные встроенные программы, рекомендации несвободного программного обеспечения и содержат доводы о том, как взаимодействовать с торговыми марками и патентами." #. type: Plain text #: guix-git/doc/contributing.texi:1136 msgid "Some otherwise free upstream package sources contain a small and optional subset that violates the above guidelines, for instance because this subset is itself non-free code. When that happens, the offending items are removed with appropriate patches or code snippets in the @code{origin} form of the package (@pxref{Defining Packages}). This way, @code{guix build --source} returns the ``freed'' source rather than the unmodified upstream source." msgstr "Но тем не менее, некоторые источники пакетов в оригинале содержат небольшие необязательные компоненты, которые нарушают указанные рекомендации, например, это может быть несвободный код. Если это происходит, такие компоненты удаляются применением соответствующих патчей или сниппетов в @code{исходный} код пакета @pxref{Defining Packages}). Так @code{guix build --source} возвращает \"восстановленный свободный\" исходный код вместо изначального исходника." #. type: cindex #: guix-git/doc/contributing.texi:1141 #, no-wrap msgid "package name" msgstr "имя пакета" #. type: Plain text #: guix-git/doc/contributing.texi:1149 msgid "A package actually has two names associated with it. First, there is the name of the @emph{Scheme variable}, the one following @code{define-public}. By this name, the package can be made known in the Scheme code, for instance as input to another package. Second, there is the string in the @code{name} field of a package definition. This name is used by package management commands such as @command{guix package} and @command{guix build}." msgstr "Пакет, в действительности, имеет два имени, ассоциированных с ним: первое --- это имя @emph{переменной Scheme}, которая указана в @code{define-public}. Это имя делает пакет доступным в коде Scheme, например, может использоваться как входные данные другого пакета. Второе --- это строка в поле @code{name} в определении пакета. Это имя используется командами управления пакетами, например, @command{guix package} и @command{guix build}." #. type: Plain text #: guix-git/doc/contributing.texi:1154 msgid "Both are usually the same and correspond to the lowercase conversion of the project name chosen upstream, with underscores replaced with hyphens. For instance, GNUnet is available as @code{gnunet}, and SDL_net as @code{sdl-net}." msgstr "Оба обычно представляют собой строки в нижнем регистре, содержащие имя оригинального проекта с дефисами вместо символов нижнего подчёркивания. Например, GNUnet доступен как @code{gnunet}, а SDL_net --- как @code{sdl-net}." #. type: Plain text #: guix-git/doc/contributing.texi:1162 msgid "A noteworthy exception to this rule is when the project name is only a single character, or if an older maintained project with the same name already exists---regardless of whether it has already been packaged for Guix. Use common sense to make such names unambiguous and meaningful. For example, Guix's package for the shell called ``s'' upstream is @code{s-shell} and @emph{not} @code{s}. Feel free to ask your fellow hackers for inspiration." msgstr "Заслуживающим внимания исключением из этого правила является случай, когда имя проекта состоит только из одного символа, или если уже существует более старый поддерживаемый проект с таким же именем---независимо от того, был ли он уже упакован для Guix. Пользуйтесь здравым смыслом, чтобы сделать такие имена однозначными и значимыми. Например, пакет Guix для оболочки (shell) под названием ``s ''---это @code{s-shell} и @emph{нет} @code{s}. Не стесняйтесь обращаться к своим коллегам-хакерам за вдохновением." #. type: Plain text #: guix-git/doc/contributing.texi:1167 msgid "We do not add @code{lib} prefixes for library packages, unless these are already part of the official project name. But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages." msgstr "Мы не добавляем приставку @code{lib} для пакетов библиотек, несмотря на то, что это уже часть официального имени пакета. Но для @pxref{Python Modules} и @ref{Perl Modules} есть исключения, касающиеся модулей для языков Python и Perl." #. type: Plain text #: guix-git/doc/contributing.texi:1169 msgid "Font package names are handled differently, @pxref{Fonts}." msgstr "При именовании пакетов шрифтов имена меняются, @pxref{Fonts}." #. type: cindex #: guix-git/doc/contributing.texi:1174 #, no-wrap msgid "package version" msgstr "версия пакета" #. type: Plain text #: guix-git/doc/contributing.texi:1183 msgid "We usually package only the latest version of a given free software project. But sometimes, for instance for incompatible library versions, two (or more) versions of the same package are needed. These require different Scheme variable names. We use the name as defined in @ref{Package Naming} for the most recent version; previous versions use the same name, suffixed by @code{-} and the smallest prefix of the version number that may distinguish the two versions." msgstr "Обычно мы опакечиваем только последнюю версию данного программного обеспечения. Но иногда, например, при наличии несовместимых версий библиотек, нужны две (или более) версии одного пакета. Такая ситуация требует различных имён переменных в Scheme. Мы используем имя, определённое в @ref{Package Naming}, для самой последней версии; предыдущие же версии используют такое же имя с добавлением @code{-} и кратчайшим числом версии, что позволяет различать между двумя версиями." #. type: Plain text #: guix-git/doc/contributing.texi:1186 msgid "The name inside the package definition is the same for all versions of a package and does not contain any version number." msgstr "Имя внутри описания пакета постоянно для всех версий пакета и не содержит номера версии." #. type: Plain text #: guix-git/doc/contributing.texi:1188 msgid "For instance, the versions 2.24.20 and 3.9.12 of GTK+ may be packaged as follows:" msgstr "Например, версии GTK+ 2.24.20 и 3.9.12 могут опакечиваться так:" #. type: lisp #: guix-git/doc/contributing.texi:1200 #, no-wrap msgid "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " ...))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " ...))\n" msgstr "" "(define-public gtk+\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.9.12\")\n" " ...))\n" "(define-public gtk+-2\n" " (package\n" " (name \"gtk+\")\n" " (version \"2.24.20\")\n" " ...))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1202 msgid "If we also wanted GTK+ 3.8.2, this would be packaged as" msgstr "Если нам также нужен GTK+ 3.8.2, он будет размещён в пакете" #. type: lisp #: guix-git/doc/contributing.texi:1208 #, no-wrap msgid "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " ...))\n" msgstr "" "(define-public gtk+-3.8\n" " (package\n" " (name \"gtk+\")\n" " (version \"3.8.2\")\n" " ...))\n" #. type: cindex #: guix-git/doc/contributing.texi:1212 #, no-wrap msgid "version number, for VCS snapshots" msgstr "номер версии, для снимков СКВ" #. type: Plain text #: guix-git/doc/contributing.texi:1218 msgid "Occasionally, we package snapshots of upstream's version control system (VCS) instead of formal releases. This should remain exceptional, because it is up to upstream developers to clarify what the stable release is. Yet, it is sometimes necessary. So, what should we put in the @code{version} field?" msgstr "Порой мы опакечиваем снимки исходников из системы контроля версий (СКВ) вместо официальных релизов. Такое следует делать в лишь порядке исключения, потому что только самим разработчики оригинальных программ решать, что является стабильным релизом. Тем не менее, иногда приходится это делать. Что же мы должны тогда пишем в поле @code{версия}?" #. type: Plain text #: guix-git/doc/contributing.texi:1226 msgid "Clearly, we need to make the commit identifier of the VCS snapshot visible in the version string, but we also need to make sure that the version string is monotonically increasing so that @command{guix package --upgrade} can determine which version is newer. Since commit identifiers, notably with Git, are not monotonically increasing, we add a revision number that we increase each time we upgrade to a newer snapshot. The resulting version string looks like this:" msgstr "Ясно, что нужно сделать идентификатор коммита снимка СКВ явным внутри строки версии, но мы также должны убедиться, что строка версии монотонно увеличивается, чтобы команда @command{guix package --upgrade} могла разобраться, какая версия новее. Поскольку идентификаторы коммитов, и особенно в Git, не увеличиваются монотонно, мы дописываем номер ревизии, который мы увеличиваем каждый раз, когда мы обновляем до нового снимка. В результате строка версии выглядит так:" #. type: example #: guix-git/doc/contributing.texi:1235 #, no-wrap msgid "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- upstream commit ID\n" " | |\n" " | `--- Guix package revision\n" " |\n" "latest upstream version\n" msgstr "" "2.0.11-3.cabba9e\n" " ^ ^ ^\n" " | | `-- ID коммита оригинала\n" " | |\n" " | `--- версия пакета Guix \n" " |\n" "последняя версия оригинала\n" #. type: Plain text #: guix-git/doc/contributing.texi:1245 msgid "It is a good idea to strip commit identifiers in the @code{version} field to, say, 7 digits. It avoids an aesthetic annoyance (assuming aesthetics have a role to play here) as well as problems related to OS limits such as the maximum shebang length (127 bytes for the Linux kernel). There are helper functions for doing this for packages using @code{git-fetch} or @code{hg-fetch} (see below). It is best to use the full commit identifiers in @code{origin}s, though, to avoid ambiguities. A typical package definition may look like this:" msgstr "Хорошая идея обрезать идентификаторы коммитов в поле @code{version}, скажем, до 7 цифр. Это позволяет избежать эстетическую неприятность (там, где это имеет значение), а также и проблемы с ограничениями ОС, как например, максимальная длина шебанга в заголовке скрипта (127 байт для ядра Linux). Существуют вспомогательные функции, дабы делать это в пакетах, используя @code{git-fetch} или @code{hg-fetch} (см. ниже). В поле источника --- @code{origin} --- лучшее всего использовать полный идентификатор коммита, чтобы избежать двоякости. Типичное описание пакета может выглядеть так:" #. type: lisp #: guix-git/doc/contributing.texi:1262 #, no-wrap msgid "" "(define my-package\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Guix package revision\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/my-package.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn@dots{}\"))\n" " (file-name (git-file-name name version))))\n" " ;; @dots{}\n" " )))\n" msgstr "" "(define my-package\n" " (let ((commit \"c3f29bc928d5900971f65965feaae59e1272a3f7\")\n" " (revision \"1\")) ;Guix package revision\n" " (package\n" " (version (git-version \"0.9\" revision commit))\n" " (source (origin\n" " (method git-fetch)\n" " (uri (git-reference\n" " (url \"git://example.org/my-package.git\")\n" " (commit commit)))\n" " (sha256 (base32 \"1mbikn@dots{}\"))\n" " (file-name (git-file-name name version))))\n" " ;; @dots{}\n" " )))\n" #. type: deffn #: guix-git/doc/contributing.texi:1264 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" msgid "{Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" msgstr "{Процедура Scheme} git-version @var{VERSION} @var{REVISION} @var{COMMIT}" #. type: deffn #: guix-git/doc/contributing.texi:1266 msgid "Return the version string for packages using @code{git-fetch}." msgstr "Возвращает строку версии для пакетов используя @code{git-fetch}." #. type: lisp #: guix-git/doc/contributing.texi:1270 #, no-wrap msgid "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" msgstr "" "(git-version \"0.2.3\" \"0\" \"93818c936ee7e2f1ba1b315578bde363a7d43d05\")\n" "@result{} \"0.2.3-0.93818c9\"\n" #. type: deffn #: guix-git/doc/contributing.texi:1273 #, fuzzy, no-wrap #| msgid "{Scheme Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" msgid "{Procedure} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" msgstr "{Процедура Scheme} hg-version @var{VERSION} @var{REVISION} @var{CHANGESET}" #. type: deffn #: guix-git/doc/contributing.texi:1276 msgid "Return the version string for packages using @code{hg-fetch}. It works in the same way as @code{git-version}." msgstr "Возвращает строку версии для пакетов используя @code{hg-fetch}.\tРаботает так же, как и @code{git-version}." #. type: cindex #: guix-git/doc/contributing.texi:1281 #, no-wrap msgid "package description" msgstr "описание пакета" #. type: cindex #: guix-git/doc/contributing.texi:1282 #, no-wrap msgid "package synopsis" msgstr "краткий обзор пакета" #. type: Plain text #: guix-git/doc/contributing.texi:1289 msgid "As we have seen before, each package in GNU@tie{}Guix includes a synopsis and a description (@pxref{Defining Packages}). Synopses and descriptions are important: They are what @command{guix package --search} searches, and a crucial piece of information to help users determine whether a given package suits their needs. Consequently, packagers should pay attention to what goes into them." msgstr "Как мы видели ранее, каждый пакет в GNU@tie{}Guix включает краткое описание и полное описание (@pxref{Defining Packages}). Краткие описания и полные описания важны: по ним производится поиск @command{guix package --search}, и это важная информация, которая помогает пользователям определить, насколько пакет соответствует их потребностям. Следовательно, сборщики пакетов должны следить за тем, что туда прописывается." #. type: Plain text #: guix-git/doc/contributing.texi:1297 msgid "Synopses must start with a capital letter and must not end with a period. They must not start with ``a'' or ``the'', which usually does not bring anything; for instance, prefer ``File-frobbing tool'' over ``A tool that frobs files''. The synopsis should say what the package is---e.g., ``Core GNU utilities (file, text, shell)''---or what it is used for---e.g., the synopsis for GNU@tie{}grep is ``Print lines matching a pattern''." msgstr "Краткие описания должны начинаться с заглавной буквы и не должны заканчиваться точкой. Они не должны начинаться с артикля (англ. \"a\" или \"the\"), что обычно ничего не значит; например, лучше начать \"File-frobbing tool\" вместо \"A tool that frobs files\". Краткое описание должно сообщать о том, что представляет собой пакет, то есть: \"Основные утилиты GNU (файлы, текст, оболочка)\", - или для чего он используется. Например, краткое описание для GNU@tie{}grep таково: \"Печать строк, содержащих паттерн\"." #. type: Plain text #: guix-git/doc/contributing.texi:1307 msgid "Keep in mind that the synopsis must be meaningful for a very wide audience. For example, ``Manipulate alignments in the SAM format'' might make sense for a seasoned bioinformatics researcher, but might be fairly unhelpful or even misleading to a non-specialized audience. It is a good idea to come up with a synopsis that gives an idea of the application domain of the package. In this example, this might give something like ``Manipulate nucleotide sequence alignments'', which hopefully gives the user a better idea of whether this is what they are looking for." msgstr "Помните, что краткое описание должно быть понятным для очень широкой аудитории. Например, \"Манипулирование выравниванием в формате SAM\" может быть понятно продвинутым исследователям в области биоинформатики, но совершенно бесполезно или может ввести в заблужение не специалистов. Хорошая идея --- включать в краткое описание идею группы приложений, к которой относится пакет. В данном примере можно предложить такой вариант: \"Манипулирование выравниванием нуклеотидных последовательностей\", что, в целом, даёт пользователю лучшее представление о том, на что они смотрят." #. type: Plain text #: guix-git/doc/contributing.texi:1315 msgid "Descriptions should take between five and ten lines. Use full sentences, and avoid using acronyms without first introducing them. Please avoid marketing phrases such as ``world-leading'', ``industrial-strength'', and ``next-generation'', and avoid superlatives like ``the most advanced''---they are not helpful to users looking for a package and may even sound suspicious. Instead, try to be factual, mentioning use cases and features." msgstr "Описания должны занимать от 5 до 10 строк. Используйте полные предложения и остерегайтесь использовать аббревиатуры, которые до того не были расшифрованы. Пожалуйста, не пишите маркетинговые фразы типа ``мировой лидер'', ``промышленно устойчивый'', ``следующего поколения'', и избегайте превосходную степень типа \"самый продвинутый\" --- это не помогает пользователям найти желанный пакет, и может даже звучать сомнительно. Вместо этого рассказывайте о фактах, упоминая особенности и применение." #. type: cindex #: guix-git/doc/contributing.texi:1316 #, no-wrap msgid "Texinfo markup, in package descriptions" msgstr "Разметка Texinfo, в описаниях пакетов" #. type: Plain text #: guix-git/doc/contributing.texi:1325 msgid "Descriptions can include Texinfo markup, which is useful to introduce ornaments such as @code{@@code} or @code{@@dfn}, bullet lists, or hyperlinks (@pxref{Overview,,, texinfo, GNU Texinfo}). However you should be careful when using some characters for example @samp{@@} and curly braces which are the basic special characters in Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). User interfaces such as @command{guix show} take care of rendering it appropriately." msgstr "Описания могут содержать разметку Texinfo, что полезно для использования подсветки, такой, как @code{@@code} или @code{@@dfn}, списков или гиперссылок (@pxref{Overview,,, texinfo, GNU Texinfo}). Будьте, однако, внимательны при пользовании некоторых символов, например @samp{@@} и фигурных скобок, которые являются основными спецсимволами в Texinfo (@pxref{Special Characters,,, texinfo, GNU Texinfo}). Пользовательские интерфейсы, вроде @command{guix show}, правильно учитывают разметку при построении вывода." #. type: Plain text #: guix-git/doc/contributing.texi:1331 msgid "Synopses and descriptions are translated by volunteers @uref{https://translate.fedoraproject.org/projects/guix/packages, at Weblate} so that as many users as possible can read them in their native language. User interfaces search them and display them in the language specified by the current locale." msgstr "Краткие и полные описания переводятся добровольцами @uref{https://translate.fedoraproject.org/projects/guix/packages, в Weblate}, чтобы как можно больше пользователей могли читать их на своем родном языке. Пользовательские интерфейсы производят поиск по ним и отображают их на языке, заданном текущей локалью." #. type: Plain text #: guix-git/doc/contributing.texi:1336 msgid "To allow @command{xgettext} to extract them as translatable strings, synopses and descriptions @emph{must be literal strings}. This means that you cannot use @code{string-append} or @code{format} to construct these strings:" msgstr "Чтобы позволить команде @command{xgettext} извлекать их как текст для перевода, краткие и полные описания @emph{должны быть буквенными строками}. Это означает, что нельзя пользоваться @code{string-append} или @code{format} при составлении этих строк:" #. type: lisp #: guix-git/doc/contributing.texi:1342 #, no-wrap msgid "" "(package\n" " ;; @dots{}\n" " (synopsis \"This is translatable\")\n" " (description (string-append \"This is \" \"*not*\" \" translatable.\")))\n" msgstr "" "(package\n" " ;; @dots{}\n" " (synopsis \"Эту строку можно переводить\")\n" " (description (string-append \"Эта строка \" \"*не поддерживает*\" \" перевод.\")))\n" #. type: Plain text #: guix-git/doc/contributing.texi:1350 msgid "Translation is a lot of work so, as a packager, please pay even more attention to your synopses and descriptions as every change may entail additional work for translators. In order to help them, it is possible to make recommendations or instructions visible to them by inserting special comments like this (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" msgstr "Перевод --- трудоёмкая работа. Как автор пакета, пожалуйста, уделите особое внимание кратким и полным описаниям, поскольку каждое изменение може повлечь за собой дополнительную работу для переводчиков. Чтобы помочь им, можно оставлять видимые им рекомендации или инструкции, вставив особенные комментарии вот так (@pxref{xgettext Invocation,,, gettext, GNU Gettext}):" #. type: lisp #: guix-git/doc/contributing.texi:1355 #, no-wrap msgid "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" msgstr "" ";; TRANSLATORS: \"X11 resize-and-rotate\" should not be translated.\n" "(description \"ARandR is designed to provide a simple visual front end\n" "for the X11 resize-and-rotate (RandR) extension. @dots{}\")\n" #. type: cindex #: guix-git/doc/contributing.texi:1360 #, no-wrap msgid "snippets, when to use" msgstr "сниппеты, где использовать" #. type: Plain text #: guix-git/doc/contributing.texi:1371 msgid "The boundary between using an origin snippet versus a build phase to modify the sources of a package can be elusive. Origin snippets are typically used to remove unwanted files such as bundled libraries, nonfree sources, or to apply simple substitutions. The source derived from an origin should produce a source that can be used to build the package on any system that the upstream package supports (i.e., act as the corresponding source). In particular, origin snippets must not embed store items in the sources; such patching should rather be done using build phases. Refer to the @code{origin} record documentation for more information (@pxref{origin Reference})." msgstr "Граница разделения между использованием фрагмента кода в поле origin и фазы сборки для модификации исходных кодов пакета может быть неочевидной. Обыкновенно фрагменты кода используются для удаления нежелательных файлов, таких, как поставляемые с пакетом библиотеки, несвободные исходники, или для простых подстановок. Обработанный из оригинала исходник должен быть таким, чтобы его можно использовать для сборки пакета в любой системе, поддерживаемой апстримом пакета (т.е. действовать как эквивалентный исходный код). В частности, объявления с помощью фрагмента кода не должны встраивать содержимое хранилища в производный продукт. Такие виды исправлений лучше делать с помощью фаз сборки. Обратитесь к @code{origin} документации за дополнительной информацией (@pxref{origin Reference})." #. type: Plain text #: guix-git/doc/contributing.texi:1379 msgid "While there cannot be circular dependencies between packages, Guile's lax module loading mechanism allows circular dependencies between Guile modules, which doesn't cause problems as long as the following conditions are followed for two modules part of a dependency cycle:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1380 #, no-wrap msgid "rules to cope with circular module dependencies" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1384 msgid "Macros are not shared between the co-dependent modules" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1388 msgid "Top-level variables are only referenced in delayed (@i{thunked}) package fields: @code{arguments}, @code{native-inputs}, @code{inputs}, @code{propagated-inputs} or @code{replacement}" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:1391 msgid "Procedures referencing top-level variables from another module are not called at the top level of a module themselves." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1397 msgid "Straying away from the above rules may work while there are no dependency cycles between modules, but given such cycles are confusing and difficult to troubleshoot, it is best to follow the rules to avoid introducing problems down the line." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1400 msgid "Here is a common trap to avoid:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:1406 #, no-wrap msgid "" "(define-public avr-binutils\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1415 msgid "In the above example, the @code{avr-binutils} package was defined in the module @code{(gnu packages avr)}, and the @code{cross-binutils} procedure in @code{(gnu packages cross-base)}. Because the @code{inherit} field is not delayed (thunked), it is evaluated at the top level at load time, which is problematic in the presence of module dependency cycles. This could be resolved by turning the package into a procedure instead, like:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:1421 #, no-wrap msgid "" "(define (make-avr-binutils)\n" " (package\n" " (inherit (cross-binutils \"avr\"))\n" " (name \"avr-binutils\")))\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1426 msgid "Care would need to be taken to ensure the above procedure is only ever used in a package delayed fields or within another procedure also not called at the top level." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1430 #, no-wrap msgid "emacs, packaging" msgstr "Emacs, пакетирование" #. type: cindex #: guix-git/doc/contributing.texi:1431 #, no-wrap msgid "elisp, packaging" msgstr "elisp, пакетирование" #. type: Plain text #: guix-git/doc/contributing.texi:1443 msgid "Emacs packages should preferably use the Emacs build system (@pxref{emacs-build-system}), for uniformity and the benefits provided by its build phases, such as the auto-generation of the autoloads file and the byte compilation of the sources. Because there is no standardized way to run a test suite for Emacs packages, tests are disabled by default. When a test suite is available, it should be enabled by setting the @code{#:tests?} argument to @code{#true}. By default, the command to run the test is @command{make check}, but any command can be specified via the @code{#:test-command} argument. The @code{#:test-command} argument expects a list containing a command and its arguments, to be invoked during the @code{check} phase." msgstr "Для пакетов emacs желательно использовать систему сборки emacs (@pxref{emacs-build-system}), ради однородности и полезностей от её фаз сборки, таких, как автоматическое создание файла автозагрузки и байтовая компиляция исходного кода. Поскольку не существует стандартизированного способа запуска набора тестов для пакетов Emacs, тесты по умолчанию отключены. Если у пакета есть набор тестов, его следует включить, дав аргументу @code{#:tests?} значение @code{#true}. По умолчанию команда для запуска теста---@command{make check}, но может быть использована любая команда , указанная в аргументе @code{#:test-command}. Аргумент @code{#:test-command} ожидает получить список, содержащий команду и ее аргументы, для ее вызова во время фазы @code{check}." #. type: Plain text #: guix-git/doc/contributing.texi:1448 msgid "The Elisp dependencies of Emacs packages are typically provided as @code{propagated-inputs} when required at run time. As for other packages, build or test dependencies should be specified as @code{native-inputs}." msgstr "Elisp-зависимости пакетов emacs обычно указываются как @code{propagated-inputs}, если они необходимы во время работы программы. Что касается других пакетов, зависимости сборки или тестирования должны быть указаны как @code{native-inputs}." #. type: Plain text #: guix-git/doc/contributing.texi:1457 msgid "Emacs packages sometimes depend on resources directories that should be installed along the Elisp files. The @code{#:include} argument can be used for that purpose, by specifying a list of regexps to match. The best practice when using the @code{#:include} argument is to extend rather than override its default value (accessible via the @code{%default-include} variable). As an example, a yasnippet extension package typically include a @file{snippets} directory, which could be copied to the installation directory using:" msgstr "Пакеты emacs иногда зависят от директорий с ресурсами, которые должны быть установлены вместе с файлами Elisp. Для этого можно использовать аргумент @code{#:include}, указывая список регулярных выражений, которые должны совпадать. Хорошей практикой при использовании аргумента @code{#:include} является расширение, а не изменение его значения по умолчанию, которое доступно через переменную @code{%default-include}. Например, дополнительные пакеты для yasnippet обычно содержат директорию @file{snippets}, которую можно скопировать в директорию установки, используя:" #. type: lisp #: guix-git/doc/contributing.texi:1460 #, no-wrap msgid "#:include (cons \"^snippets/\" %default-include)\n" msgstr "#:include (cons \"^snippets/\" %default-include)\n" #. type: Plain text #: guix-git/doc/contributing.texi:1466 msgid "When encountering problems, it is wise to check for the presence of the @code{Package-Requires} extension header in the package main source file, and whether any dependencies and their versions listed therein are satisfied." msgstr "При возникновении проблем целесообразно проверить наличие заголовка расширения @code{Package-Requires} в основном исходном файле пакета, а также удостоверится, что все перечисленные там зависимости и их версии удовлетворены." #. type: cindex #: guix-git/doc/contributing.texi:1470 #, no-wrap msgid "python" msgstr "python" #. type: Plain text #: guix-git/doc/contributing.texi:1476 msgid "We currently package Python 2 and Python 3, under the Scheme variable names @code{python-2} and @code{python} as explained in @ref{Version Numbers}. To avoid confusion and naming clashes with other programming languages, it seems desirable that the name of a package for a Python module contains the word @code{python}." msgstr "В настоящее время мы поставляем пакеты Python 2 и Python 3 через переменную Scheme под именами @code{python-2} и @code{python} в соответствии с @ref{Version Numbers}. Чтобы предотвратить путаницу и конфликты имён с другими языками программирования, желательно, чтобы имена пакетов с модулями Python содержали слово @code{python}." #. type: Plain text #: guix-git/doc/contributing.texi:1482 msgid "Some modules are compatible with only one version of Python, others with both. If the package Foo is compiled with Python 3, we name it @code{python-foo}. If it is compiled with Python 2, we name it @code{python2-foo}. Python 2 packages are being removed from the distribution; please do no not submit any new Python 2 packages." msgstr "Некоторые модули совместимы только с одной версией Python, другие - с обеими. Если пакет Foo скомпилирован с Python 3, мы называем его @code{python-foo}. Если он скомпилирован с Python 2, мы называем его @code{python2-foo}. Пакеты Python 2 удаляются из дистрибутива; пожалуйста, не присылайте новые пакеты Python 2." #. type: Plain text #: guix-git/doc/contributing.texi:1488 msgid "If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names @code{python-dateutil} and @code{python2-dateutil}. If the project name starts with @code{py} (e.g.@: @code{pytz}), we keep it and prefix it as described above." msgstr "Если проект уже содержит слово @code{python}, оно отбрасывается; например, модуль python-dateutil упаковывается под именем @code{python-dateutil} и @code{python2-dateutil}. Если имя проекта начинается с @code{py} (т.е.@: @code{pytz}), мы оставляем такое имя и добавляем префикс, как это описано выше." #. type: quotation #: guix-git/doc/contributing.texi:1502 msgid "Currently there are two different build systems for Python packages in Guix: @var{python-build-system} and @var{pyproject-build-system}. For the longest time, Python packages were built from an informally specified @file{setup.py} file. That worked amazingly well, considering Python's success, but was difficult to build tooling around. As a result, a host of alternative build systems emerged and the community eventually settled on a @url{https://peps.python.org/pep-0517/, formal standard} for specifying build requirements. @var{pyproject-build-system} is Guix's implementation of this standard. It is considered ``experimental'' in that it does not yet support all the various PEP-517 @emph{build backends}, but you are encouraged to try it for new Python packages and report any problems. It will eventually be deprecated and merged into @var{python-build-system}." msgstr "В настоящий момент в Guix существует две системы сборки для пакетов Python: @var{python-build-system} and @var{pyproject-build-system}. В течение долгого времени, пакеты Python собирались из файла @file{setup.py} file, для которого нет официальной спецификации. Это работало удивительно прекрасно, учитывая успех языка Python, но при такого подходе было тяжело построить инструментаж. В конечном итоге, появилось несколько альтернативных систем сборки, и сообщество в конце концов сошлось на @url{https://peps.python.org/pep-0517/, формальном стандарте} для описания требований сборки. Система @var{pyproject-build-system} является Guixовским воплощением этого стандарта. Она считается ``экспериментальной'' в том смысле, что ещё не поддерживает все из различных @emph{бэкендов сборки} PEP-517, но мы поощряем её использование для новых пакетов Python, и просим сообщать об обнаруженных проблемах. Рано или поздно она будет упразднена и объединена в @var{python-build-system}." #. type: subsubsection #: guix-git/doc/contributing.texi:1504 #, no-wrap msgid "Specifying Dependencies" msgstr "Перечисление зависимостей" #. type: cindex #: guix-git/doc/contributing.texi:1505 #, no-wrap msgid "inputs, for Python packages" msgstr "входные данные, для пакетов Python" #. type: Plain text #: guix-git/doc/contributing.texi:1512 msgid "Dependency information for Python packages is usually available in the package source tree, with varying degrees of accuracy: in the @file{pyproject.toml} file, the @file{setup.py} file, in @file{requirements.txt}, or in @file{tox.ini} (the latter mostly for test dependencies)." msgstr "Информация о зависимостях для пакетов Python обычно находится в исходном коде пакета, с различной степенью точности: в файлах @file{pyproject.toml}, @file{setup.py}, @file{requirements.txt}, и в файле @file{tox.ini} (в последнем указываются в основном зависимости для выполнения тестов)." #. type: Plain text #: guix-git/doc/contributing.texi:1518 msgid "Your mission, when writing a recipe for a Python package, is to map these dependencies to the appropriate type of ``input'' (@pxref{package Reference, inputs}). Although the @code{pypi} importer normally does a good job (@pxref{Invoking guix import}), you may want to check the following check list to determine which dependency goes where." msgstr "При написании рецепта сборки пакета Python ваша задача --- сопоставить эти зависимости к должному типу ``input'' (@pxref{package Reference, inputs}). Хотя импортёр @code{pypi} обычно отрабатывает хорошо (@pxref{Invoking guix import}), желательно пройтись по приведённому чек-листу, чтобы узнать, какая зависимости куда уходит." #. type: itemize #: guix-git/doc/contributing.texi:1525 msgid "We currently package Python with @code{setuptools} and @code{pip} installed per default. This is about to change, and users are encouraged to use @code{python-toolchain} if they want a build environment for Python." msgstr "В настоящее время мы поставляем Python с @code{setuptools} и @code{pip}, установленными по умолчанию. Это скоро изменится, и пользователям рекомендуется использовать @code{python-toolchain}, если нужно окружение сборки для Python." #. type: itemize #: guix-git/doc/contributing.texi:1528 msgid "@command{guix lint} will warn if @code{setuptools} or @code{pip} are added as native-inputs because they are generally not necessary." msgstr "@command{guix lint} выдаст предупреждение, если @code{setuptools} или @code{pip} добавлены как native-inputs, поскольку они почти всегда не нужны." #. type: itemize #: guix-git/doc/contributing.texi:1534 msgid "Python dependencies required at run time go into @code{propagated-inputs}. They are typically defined with the @code{install_requires} keyword in @file{setup.py}, or in the @file{requirements.txt} file." msgstr "Зависимости Python, необходимые во время работы, идут в @code{propagated-inputs}. Они обычно определяются ключевым словом @code{install_requires} в @file{setup.py} или в файле @file{requirements.txt}." #. type: itemize #: guix-git/doc/contributing.texi:1543 msgid "Python packages required only at build time---e.g., those listed under @code{build-system.requires} in @file{pyproject.toml} or with the @code{setup_requires} keyword in @file{setup.py}---or dependencies only for testing---e.g., those in @code{tests_require} or @file{tox.ini}---go into @code{native-inputs}. The rationale is that (1) they do not need to be propagated because they are not needed at run time, and (2) in a cross-compilation context, it's the ``native'' input that we'd want." msgstr "Пакеты Python, необходимые только во время сборки, например, перечисленные в @code{build-system.requires} файла @file{pyproject.toml}, или с ключевым словом @code{setup_requires} в @file{setup.py}, или же зависимости, необходимые только для тестирования, как, например, в @code{setup_requires} или @file{tox.ini}, указываются, как @code{native-inputs}. Резон этого в том, что, во-первых, их не нужно передавать в конечный пакет, потому что они не нужны для его нормальной работы, а во-вторых, в контексте кросс-компиляции они и есть \"родные\" входные данные, которые там нужны." #. type: itemize #: guix-git/doc/contributing.texi:1547 msgid "Examples are the @code{pytest}, @code{mock}, and @code{nose} test frameworks. Of course if any of these packages is also required at run-time, it needs to go to @code{propagated-inputs}." msgstr "Примерами являются фреймворки тестирования @code{pytest}, @code{mock} и @code{nose}. Конечно, если какой-либо из этих пакетов также необходим во время запуска и работы, его следует указывать в @code{propagated-inputs}." #. type: itemize #: guix-git/doc/contributing.texi:1552 msgid "Anything that does not fall in the previous categories goes to @code{inputs}, for example programs or C libraries required for building Python packages containing C extensions." msgstr "Всё, что не попало в предыдущие категории, указывается в @code{inputs}, например, программы или библиотеки C, необходимые для сборки пакетов, которые содержат расширения Python на C." #. type: itemize #: guix-git/doc/contributing.texi:1558 msgid "If a Python package has optional dependencies (@code{extras_require}), it is up to you to decide whether to add them or not, based on their usefulness/overhead ratio (@pxref{Submitting Patches, @command{guix size}})." msgstr "Если у пакета Python есть необязательные зависимости (@code{extras_require}), решайте самостоятельно, нужно ли их добавлять, судя по отношению их пользы к накладным расходам (@pxref{Submitting Patches, @command{guix size}})." #. type: cindex #: guix-git/doc/contributing.texi:1565 #, no-wrap msgid "perl" msgstr "perl" #. type: Plain text #: guix-git/doc/contributing.texi:1576 msgid "Perl programs standing for themselves are named as any other package, using the lowercase upstream name. For Perl packages containing a single class, we use the lowercase class name, replace all occurrences of @code{::} by dashes and prepend the prefix @code{perl-}. So the class @code{XML::Parser} becomes @code{perl-xml-parser}. Modules containing several classes keep their lowercase upstream name and are also prepended by @code{perl-}. Such modules tend to have the word @code{perl} somewhere in their name, which gets dropped in favor of the prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}." msgstr "Самостоятельные программы Perl именуются как и любой другой пакет, используя исходное имя в нижнем регистре. Для пакетов Perl, содержащих единственный класс, мы используем имя класса в нижнем регистре, заменяя все появления @code{::} на дефисы и добавляем приставку @code{perl-}. Так, класс @code{XML::Parser} становится @code{perl-xml-parser}. Модули, содержащие несколько классов, сохраняют свои изначальные имена в нижнем регистре и также имеют префикс @code{perl-}. Подобные модули имеют тенденцию писать слово @code{perl} где-либо в их имени, так что это слово удаляется в пользу префикса. Например, @code{libwww-perl} становится @code{perl-libwww}." #. type: cindex #: guix-git/doc/contributing.texi:1581 #, no-wrap msgid "java" msgstr "java" #. type: Plain text #: guix-git/doc/contributing.texi:1584 msgid "Java programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Самостоятельные программы на Java именуются как и любой другой пакет, используя исходное им в нижнем регистре." #. type: Plain text #: guix-git/doc/contributing.texi:1590 msgid "To avoid confusion and naming clashes with other programming languages, it is desirable that the name of a package for a Java package is prefixed with @code{java-}. If a project already contains the word @code{java}, we drop this; for instance, the package @code{ngsjava} is packaged under the name @code{java-ngs}." msgstr "Чтобы избежать путаницы и конфликтов наименований с другими языками программирования, желательно именовать пакет, поставляющий программу Java, с префиксом @code{java-}. Если проект уже содержит слово @code{java}, мы обрезаем его. Например, пакет @code{ngsjava} опакечивается под именем @code{java-ngs}." #. type: Plain text #: guix-git/doc/contributing.texi:1596 msgid "For Java packages containing a single class or a small class hierarchy, we use the lowercase class name, replace all occurrences of @code{.} by dashes and prepend the prefix @code{java-}. So the class @code{apache.commons.cli} becomes package @code{java-apache-commons-cli}." msgstr "Для пакетов Java, содержащих отдельный класс или небольшую иерархию классов, мы используем имя в нижнем регистре, заменяя все появления @code{.} на дефисы, и указываем префикс @code{java-}. Так класс @code{apache.commons.cli} становится пакетом @code{java-apache-commons-cli}." #. type: cindex #: guix-git/doc/contributing.texi:1601 #, no-wrap msgid "rust" msgstr "rust" #. type: Plain text #: guix-git/doc/contributing.texi:1604 msgid "Rust programs standing for themselves are named as any other package, using the lowercase upstream name." msgstr "Самостоятельные программы на Rust именуются как и любой другой пакет, используя исходное имя в нижнем регистре." #. type: Plain text #: guix-git/doc/contributing.texi:1608 msgid "To prevent namespace collisions we prefix all other Rust packages with the @code{rust-} prefix. The name should be changed to lowercase as appropriate and dashes should remain in place." msgstr "Чтобы предотвратить конфликты пространства имен, мы используем префикс @code{rust-} для всех остальных пакетов Rust. Имя должно быть изменено на строчные буквы, если необходимо, и дефисы должны остаться на месте." #. type: Plain text #: guix-git/doc/contributing.texi:1614 msgid "In the rust ecosystem it is common for multiple incompatible versions of a package to be used at any given time, so all package definitions should have a versioned suffix. The versioned suffix is the left-most non-zero digit (and any leading zeros, of course). This follows the ``caret'' version scheme intended by Cargo. Examples@: @code{rust-clap-2}, @code{rust-rand-0.6}." msgstr "В экосистеме rust использование нескольких несовместимых версий пакета одновременно является нормой, поэтому у всех пакетов должен быть версионный суффикс. Версионный суффикс --- самая левая ненулевая цифра, включая все предыдущие нули. Это следует системе назначения версий ``caret'', используемой в Cargo. Примеры: @code{rust-clap-2}, @code{rust-rand-0.6}." #. type: Plain text #: guix-git/doc/contributing.texi:1624 msgid "Because of the difficulty in reusing rust packages as pre-compiled inputs for other packages the Cargo build system (@pxref{Build Systems, @code{cargo-build-system}}) presents the @code{#:cargo-inputs} and @code{cargo-development-inputs} keywords as build system arguments. It would be helpful to think of these as similar to @code{propagated-inputs} and @code{native-inputs}. Rust @code{dependencies} and @code{build-dependencies} should go in @code{#:cargo-inputs}, and @code{dev-dependencies} should go in @code{#:cargo-development-inputs}. If a Rust package links to other libraries then the standard placement in @code{inputs} and the like should be used." msgstr "Из-за трудности повторного использования пакетов rust в качестве заранее скомпилированных входных данных для других пакетов, система сборки Cargo (@pxref{Build Systems, @code{cargo-build-system}}) предоставляет ключевые слова @code{#:cargo-input} и @code{cargo-development-input} в качестве аргументов для системы сборки. Их полезно представлять подобно @code{propagated-inputs} и @code{native-inputs}. @code{dependencies} и @code{build-dependencies} из Rust должны идти в @code{#:cargo-input}, а @code{dev-dependencies} должен идти в @code{#:cargo-development-input}. Если пакет Rust линкуется с другими библиотеками, то следует использовать стандартное размещение в @code{input} и т.п." #. type: Plain text #: guix-git/doc/contributing.texi:1630 msgid "Care should be taken to ensure the correct version of dependencies are used; to this end we try to refrain from skipping the tests or using @code{#:skip-build?} when possible. Of course this is not always possible, as the package may be developed for a different Operating System, depend on features from the Nightly Rust compiler, or the test suite may have atrophied since it was released." msgstr "Следует позаботиться о том, чтобы была использована корректная версия зависимостей; с этой целью мы стараемся обойтись без пропускания тесты или использования @code{#:skip-build?}, когда это возможно. Конечно, это получается не всегда, так как пакет может разрабатыватьтся для другой операционной системы, зависеть от функций ежедневной версии компилятора Rust для разработчиков (Nightly), или же тесты могут быть устаревшими с момента выпуска." #. type: cindex #: guix-git/doc/contributing.texi:1635 #, no-wrap msgid "Elm" msgstr "Elm" #. type: Plain text #: guix-git/doc/contributing.texi:1638 msgid "Elm applications can be named like other software: their names need not mention Elm." msgstr "Приложения Elm могут называться так же, как и другие программы: в их именах не обязательно упоминать Elm." #. type: Plain text #: guix-git/doc/contributing.texi:1644 msgid "Packages in the Elm sense (see @code{elm-build-system} under @ref{Build Systems}) are required use names of the format @var{author}@code{/}@var{project}, where both the @var{author} and the @var{project} may contain hyphens internally, and the @var{author} sometimes contains uppercase letters." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1648 msgid "To form the Guix package name from the upstream name, we follow a convention similar to Python packages (@pxref{Python Modules}), adding an @code{elm-} prefix unless the name would already begin with @code{elm-}." msgstr "Для формирования имени пакета Guix из исходного, мы придерживаемся конвенции, похожей на конвенцию для пакетов Python (@pxref{Python Modules}), добавляя префикс @code{elm-}, если имя уже на него не начинается." #. type: Plain text #: guix-git/doc/contributing.texi:1655 msgid "In many cases we can reconstruct an Elm package's upstream name heuristically, but, since conversion to a Guix-style name involves a loss of information, this is not always possible. Care should be taken to add the @code{'upstream-name} property when necessary so that @samp{guix import elm} will work correctly (@pxref{Invoking guix import}). The most notable scenarios when explicitly specifying the upstream name is necessary are:" msgstr "Во многих случаях мы можем эвристически восстановить имя пакета Elm, но, поскольку преобразование в имя в стиле Guix связано с потерей информации, это не всегда возможно. Следует позаботиться о добавлении свойства @code{'upstream-name}, когда это необходимо, чтобы @samp{guix import elm} работал правильно (@pxref{Invoking guix import}). Наиболее заметными сценариями, когда необходимо явно указывать имя upstream, являются:" #. type: enumerate #: guix-git/doc/contributing.texi:1660 msgid "When the @var{author} is @code{elm} and the @var{project} contains one or more hyphens, as with @code{elm/virtual-dom}; and" msgstr "Когда @var{author} является @code{elm}, а @var{project} содержит один или несколько дефисов, как в случае @code{elm/virtual-dom}; и" #. type: enumerate #: guix-git/doc/contributing.texi:1667 msgid "When the @var{author} contains hyphens or uppercase letters, as with @code{Elm-Canvas/raster-shapes}---unless the @var{author} is @code{elm-explorations}, which is handled as a special case, so packages like @code{elm-explorations/markdown} do @emph{not} need to use the @code{'upstream-name} property." msgstr "Когда @var{author} содержит дефисы или заглавные буквы, как в @code{Elm-Canvas/raster-shapes}---если @var{author} не является @code{elm-explorations}, который обрабатывается как особый случай, поэтому такие пакеты как @code{elm-explorations/markdown} не @emph{not} должны использовать свойство @code{'upstream-name}." #. type: Plain text #: guix-git/doc/contributing.texi:1671 msgid "The module @code{(guix build-system elm)} provides the following utilities for working with names and related conventions:" msgstr "Модуль @code{(guix build-system elm)} предоставляет следующие утилиты для работы с именами и связанными с ними соглашениями:" #. type: deffn #: guix-git/doc/contributing.texi:1672 #, fuzzy, no-wrap #| msgid "{Scheme procedure} elm-package-origin @var{elm-name} @var{version} @" msgid "{Procedure} elm-package-origin @var{elm-name} @var{version} @" msgstr "{Процедура Scheme} elm-package-origin @var{elm-name} @var{version} @" #. type: deffn #: guix-git/doc/contributing.texi:1677 msgid "@var{hash} Returns a Git origin using the repository naming and tagging regime required for a published Elm package with the upstream name @var{elm-name} at version @var{version} with sha256 checksum @var{hash}." msgstr "@var{hash} Возвращает Git origin используя формат именования репозитория и метки, необходимые для опубликованного пакет Elm с оригинальным именем @var{elm-name} в версии @var{version} с контрольной суммой sha256 @var{hash}." #. type: deffn #: guix-git/doc/contributing.texi:1679 guix-git/doc/guix.texi:37393 #: guix-git/doc/guix.texi:41598 msgid "For example:" msgstr "Например:" #. type: lisp #: guix-git/doc/contributing.texi:1689 #, no-wrap msgid "" "(package\n" " (name \"elm-html\")\n" " (version \"1.0.0\")\n" " (source\n" " (elm-package-origin\n" " \"elm/html\"\n" " version\n" " (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n" " ...)\n" msgstr "" "(package\n" " (name \"elm-html\")\n" " (version \"1.0.0\")\n" " (source\n" " (elm-package-origin\n" " \"elm/html\"\n" " version\n" " (base32 \"15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a\")))\n" " ...)\n" #. type: deffn #: guix-git/doc/contributing.texi:1692 #, fuzzy, no-wrap #| msgid "{Scheme procedure} elm->package-name @var{elm-name}" msgid "{Procedure} elm->package-name @var{elm-name}" msgstr "{Процедура Scheme} elm->package-name @var{elm-name}" #. type: deffn #: guix-git/doc/contributing.texi:1695 msgid "Returns the Guix-style package name for an Elm package with upstream name @var{elm-name}." msgstr "Возвращает название пакета в стиле Guix для Elm пакета с оригинальным названием @var{elm-name}." #. type: deffn #: guix-git/doc/contributing.texi:1698 msgid "Note that there is more than one possible @var{elm-name} for which @code{elm->package-name} will produce a given result." msgstr "Обратите внимание, что существует более одного возможного @var{elm-name}, для которого @code{elm->package-name} выдаст заданный результат." #. type: deffn #: guix-git/doc/contributing.texi:1700 #, fuzzy, no-wrap #| msgid "{Scheme procedure} guix-package->elm-name @var{package}" msgid "{Procedure} guix-package->elm-name @var{package}" msgstr "{Процедура Scheme} guix-package->elm-name @var{package}" #. type: deffn #: guix-git/doc/contributing.texi:1704 msgid "Given an Elm @var{package}, returns the possibly-inferred upstream name, or @code{#f} the upstream name is not specified via the @code{'upstream-name} property and can not be inferred by @code{infer-elm-package-name}." msgstr "Получив имя пакета Elm @var{package}, возвращает (возможно выведенное) оригинальное имя, или @code{#f}, если оригинальное имя не указано через свойство @code{'upstream-name} и не может быть выведено с помощью @code{infer-elm-package-name}." #. type: deffn #: guix-git/doc/contributing.texi:1706 #, fuzzy, no-wrap #| msgid "{Scheme procedure} infer-elm-package-name @var{guix-name}" msgid "{Procedure} infer-elm-package-name @var{guix-name}" msgstr "{Процедура Scheme} infer-elm-package-name @var{guix-name}" #. type: deffn #: guix-git/doc/contributing.texi:1711 msgid "Given the @var{guix-name} of an Elm package, returns the inferred upstream name, or @code{#f} if the upstream name can't be inferred. If the result is not @code{#f}, supplying it to @code{elm->package-name} would produce @var{guix-name}." msgstr "Получив через @var{guix-name} имя пакета Elm, возвращает выведенное оригинальное имя, или @code{#f}, если его вывести нельзя. Если результат не @code{#f}, то передача его в @code{elm->package-name} вернёт обратно @var{guix-name}." #. type: cindex #: guix-git/doc/contributing.texi:1716 guix-git/doc/guix.texi:1822 #, no-wrap msgid "fonts" msgstr "шрифты" #. type: Plain text #: guix-git/doc/contributing.texi:1722 msgid "For fonts that are in general not installed by a user for typesetting purposes, or that are distributed as part of a larger software package, we rely on the general packaging rules for software; for instance, this applies to the fonts delivered as part of the X.Org system or fonts that are part of TeX Live." msgstr "Для шрифтов, которые обычно не устанавливаются пользователем для печати, или распространяемые как часть большего пакета программного обеспечения, мы применяем обычные правила опакечивания программного обеспечения. Например, это относится к шрифтам, поставляемым как часть системы X.Org, или шрифтов TeX Live." #. type: Plain text #: guix-git/doc/contributing.texi:1726 msgid "To make it easier for a user to search for fonts, names for other packages containing only fonts are constructed as follows, independently of the upstream package name." msgstr "Чтобы облегчить пользовательский поиск шрифтов, имена пакетов, содержащих только шрифты, создаются следующим образом, независимо от изначального имени пакета." #. type: Plain text #: guix-git/doc/contributing.texi:1734 msgid "The name of a package containing only one font family starts with @code{font-}; it is followed by the foundry name and a dash @code{-} if the foundry is known, and the font family name, in which spaces are replaced by dashes (and as usual, all upper case letters are transformed to lower case). For example, the Gentium font family by SIL is packaged under the name @code{font-sil-gentium}." msgstr "Имя пакета, содержащего только одно семейство шрифтов, начинается с @code{font-}; далее идёт имя кузницы и дефис @code{-}, если имя кузницы известно, а затем - имя семейства шрифтов, в котором пробелы заменяются дефисами (и обычно все буквы в верхнем регистре заменяются на нижний регистр). Например, семейство шрифтов Gentium от SIL опакечивается под именем @code{font-sil-gentium}." #. type: Plain text #: guix-git/doc/contributing.texi:1743 msgid "For a package containing several font families, the name of the collection is used in the place of the font family name. For instance, the Liberation fonts consist of three families, Liberation Sans, Liberation Serif and Liberation Mono. These could be packaged separately under the names @code{font-liberation-sans} and so on; but as they are distributed together under a common name, we prefer to package them together as @code{font-liberation}." msgstr "Пакет с несколькими семействами шрифтов имеет в названии имя коллекции вместо имени семейства. Например, шрифты Liberation состоят из трёх семейств: Liberation Sans, Liberation Serfif и Liberation Mono. Они могли бы опакечиваться отдельно под именами @code{font-liberation-sans} и так далее, но поскольку они распространяются вместе под общим именем, мы предпочитаем опакечивать их вместе как @code{font-liberation}." #. type: Plain text #: guix-git/doc/contributing.texi:1749 msgid "In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, prepended by a dash, is added to the package name. We use @code{-ttf} for TrueType fonts, @code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts." msgstr "В случае, когда несколько форматов из одного семейства шрифтов или коллекции шрифтов опакечены отдельно, в имени присутствует небольшая отметка с предваряющим дефисом. Мы используем @code{-ttf} для шрифтов TrueType, @code{-otf} - для шрифтов OpenType - и @code{-type1} - для шрифтов PostScript Type 1." #. type: Plain text #: guix-git/doc/contributing.texi:1757 msgid "In general our code follows the GNU Coding Standards (@pxref{Top,,, standards, GNU Coding Standards}). However, they do not say much about Scheme, so here are some additional rules." msgstr "В основном наш код следует стандартам кодирования GNU (@pxref{Top,,, standards, GNU Coding Standards}). Они не сообщают много конкретного о Scheme, поэтому вот несколько дополнительных правил." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1765 #: guix-git/doc/contributing.texi:1766 #, no-wrap msgid "Programming Paradigm" msgstr "Парадигма программирования" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "How to compose your elements." msgstr "Как компоновать элементы." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1772 #: guix-git/doc/contributing.texi:1773 #, no-wrap msgid "Modules" msgstr "Модули" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Where to store your code?" msgstr "Где размещать ваш код?" #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1788 #: guix-git/doc/contributing.texi:1789 #, no-wrap msgid "Data Types and Pattern Matching" msgstr "Типы данных и поиск по образцам" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Implementing data structures." msgstr "Воплощение структур данных." #. type: subsection #: guix-git/doc/contributing.texi:1763 guix-git/doc/contributing.texi:1819 #: guix-git/doc/contributing.texi:1820 #, no-wrap msgid "Formatting Code" msgstr "Форматирование кода" #. type: menuentry #: guix-git/doc/contributing.texi:1763 msgid "Writing conventions." msgstr "Конвенции написания." #. type: Plain text #: guix-git/doc/contributing.texi:1771 msgid "Scheme code in Guix is written in a purely functional style. One exception is code that involves input/output, and procedures that implement low-level concepts, such as the @code{memoize} procedure." msgstr "Код Scheme в Guix написан в чисто функциональном стиле. Одно исключение - это код, который вызывает ввод/вывод и процедуры, которые реализуют низкоуровневые концепции, как, для примера, процедура @code{memoize}." #. type: cindex #: guix-git/doc/contributing.texi:1774 #, fuzzy, no-wrap #| msgid "build users" msgid "build-side modules" msgstr "пользователи сборки" #. type: cindex #: guix-git/doc/contributing.texi:1775 #, no-wrap msgid "host-side modules" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:1784 #, fuzzy #| msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space. They must not refer to other Guix or GNU modules. However, it is OK for a ``host-side'' module to use a build-side module." msgid "Guile modules that are meant to be used on the builder side must live in the @code{(guix build @dots{})} name space. They must not refer to other Guix or GNU modules. However, it is OK for a ``host-side'' module to use a build-side module. As an example, the @code{(guix search-paths)} module should not be imported and used by a package since it isn't meant to be used as a ``build-side'' module. It would also couple the module with the package's dependency graph, which is undesirable." msgstr "Модули Guile, предназначенные для использования на стороне сборщика, должны жить в пространстве имён @code{(guix build @dots{})}. Они не должны ссылаться на другие модули Guix или GNU. Тем не менее считается нормальным, если модуль стороны собирающей машины использует модуль стороны сборщика." #. type: Plain text #: guix-git/doc/contributing.texi:1787 msgid "Modules that deal with the broader GNU system should be in the @code{(gnu @dots{})} name space rather than @code{(guix @dots{})}." msgstr "Модули, которые обращаются к системе GNU в более широком понимании, должны быть в пространстве имён @code{(gnu @dots{})}, а не @code{(guix @dots{})}." #. type: Plain text #: guix-git/doc/contributing.texi:1796 msgid "The tendency in classical Lisp is to use lists to represent everything, and then to browse them ``by hand'' using @code{car}, @code{cdr}, @code{cadr}, and co. There are several problems with that style, notably the fact that it is hard to read, error-prone, and a hindrance to proper type error reports." msgstr "В классическом Lispе есть склонность к использованию списков для представления чего угодно, а затем гуляния по ним \"вручную\", используя @code{car}, @code{cdr}, @code{cadr} и тому подобное. Такой стиль вызывает несколько осложнений, а особенно то, что он тяжело читается, подвержен ошибкам, и мешает компилятору правильно указывать на ошибки типов." #. type: findex #: guix-git/doc/contributing.texi:1797 #, no-wrap msgid "define-record-type*" msgstr "define-record-type*" #. type: findex #: guix-git/doc/contributing.texi:1798 #, no-wrap msgid "match-record" msgstr "match-record" #. type: cindex #: guix-git/doc/contributing.texi:1799 #, no-wrap msgid "pattern matching" msgstr "Поиск по образцам" #. type: Plain text #: guix-git/doc/contributing.texi:1807 msgid "Guix code should define appropriate data types (for instance, using @code{define-record-type*}) rather than abuse lists. In addition, it should use pattern matching, via Guile’s @code{(ice-9 match)} module, especially when matching lists (@pxref{Pattern Matching,,, guile, GNU Guile Reference Manual}); pattern matching for records is better done using @code{match-record} from @code{(guix records)}, which, unlike @code{match}, verifies field names at macro-expansion time." msgstr "Код Guix должен определять подходящие типы данных (пользуясь, например, @code{define-record-type*}) вместо злоупотребления списками. Кроме того, он должен использовать поиск по образцам с помощью модуля Guile @code{(ice-9 match)}, особенно для поиска по образцам в списках (@pxref{Pattern Matching,,, guile, GNU Guile Reference Manual}); для поиска по образцам в записях лучше использовать @code{match-record} из @code{(guix records)}, который, в отличие от @code{match}, проверяет названия полей во время расширения макросов." #. type: Plain text #: guix-git/doc/contributing.texi:1818 msgid "When defining a new record type, keep the @dfn{record type descriptor} (RTD) private (@pxref{Records,,, guile, GNU Guile Reference Manual}, for more on records and RTDs). As an example, the @code{(guix packages)} module defines @code{<package>} as the RTD for package records but it does not export it; instead, it exports a type predicate, a constructor, and field accessors. Exporting RTDs would make it harder to change the application binary interface (because code in other modules might be matching fields by position) and would make it trivial for users to forge records of that type, bypassing any checks we may have in the official constructor (such as ``field sanitizers'')." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:1822 #, no-wrap msgid "formatting code" msgstr "форматирование кода" #. type: cindex #: guix-git/doc/contributing.texi:1823 #, no-wrap msgid "coding style" msgstr "стиль кодирования" #. type: Plain text #: guix-git/doc/contributing.texi:1830 msgid "When writing Scheme code, we follow common wisdom among Scheme programmers. In general, we follow the @url{https://mumble.net/~campbell/scheme/style.txt, Riastradh's Lisp Style Rules}. This document happens to describe the conventions mostly used in Guile’s code too. It is very thoughtful and well written, so please do read it." msgstr "При написании кода на Scheme мы полагаемся на премудрость, общепринятую среди программистов Scheme. В основном мы следуем @url{http://mumble.net/~campbell/scheme/style.txt, Правила лисповского стиля Riastradh}. Этот документ содержит большинство соглашений, которые часто встречаются и в исходном коде Guile тоже. Это очень продуманная и хорошо написанная работа, так что не поленитесь её прочесть." #. type: Plain text #: guix-git/doc/contributing.texi:1837 msgid "Some special forms introduced in Guix, such as the @code{substitute*} macro, have special indentation rules. These are defined in the @file{.dir-locals.el} file, which Emacs automatically uses. Also note that Emacs-Guix provides @code{guix-devel-mode} mode that indents and highlights Guix code properly (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." msgstr "Некоторые специальные формы, представленные в Guix, как например, макрос @code{substitute*}, имеют специальные правила отступов. Они определены в файле @file{.dir-locals.el}, которые Emacs использует автоматически. Также заметьте, что Emacs-Guix предоставляет режим @code{guix-devel-mode}, который вставляет отступы и подсвечивает код Guix должным образом (@pxref{Development,,, emacs-guix, The Emacs-Guix Reference Manual})." #. type: cindex #: guix-git/doc/contributing.texi:1838 #, no-wrap msgid "indentation, of code" msgstr "отступы, в коде" #. type: cindex #: guix-git/doc/contributing.texi:1839 #, no-wrap msgid "formatting, of code" msgstr "Форматирование, кода" #. type: Plain text #: guix-git/doc/contributing.texi:1842 msgid "If you do not use Emacs, please make sure to let your editor knows these rules. To automatically indent a package definition, you can also run:" msgstr "Если вы не пользуетесь Emacs, пожалуйста убедитесь, что ваш редактор знает эти правила. Для автоматической расстановки отступов в определении пакета можно запустить:" #. type: example #: guix-git/doc/contributing.texi:1845 #, no-wrap msgid "./pre-inst-env guix style @var{package}\n" msgstr "./pre-inst-env guix style @var{package}\n" #. type: Plain text #: guix-git/doc/contributing.texi:1849 msgid "@xref{Invoking guix style}, for more information." msgstr "@xref{Invoking guix style} для дополнительной информации." #. type: Plain text #: guix-git/doc/contributing.texi:1853 msgid "We require all top-level procedures to carry a docstring. This requirement can be relaxed for simple private procedures in the @code{(guix build @dots{})} name space, though." msgstr "Мы требуем, чтобы все процедуры верхнего уровня содержали строку документации, хотя это требование может не учитываться для простых приватных процедур в пространстве имён @code{(guix build @dots{})}." #. type: Plain text #: guix-git/doc/contributing.texi:1856 msgid "Procedures should not have more than four positional parameters. Use keyword parameters for procedures that take more than four parameters." msgstr "Процедуры должны иметь не более четырёх позиционных параметров. Передавайте параметры по ключевым словам в процедурах, которые принимают более четырёх аргументов." #. type: Plain text #: guix-git/doc/contributing.texi:1870 msgid "Development is done using the Git distributed version control system. Thus, access to the repository is not strictly necessary. We welcome contributions in the form of patches as produced by @code{git format-patch} sent to the @email{guix-patches@@gnu.org} mailing list (@pxref{Submitting patches to a project,,, git, Git User Manual}). Contributors are encouraged to take a moment to set some Git repository options (@pxref{Configuring Git}) first, which can improve the readability of patches. Seasoned Guix developers may also want to look at the section on commit access (@pxref{Commit Access})." msgstr "Разработка проводится в системе управления версиями Git. Таким образом, доступ к репозиторию не обязателен. Мы приветствуем вклады в разработку в виде патчей, которые производит @code{git format-patch}, отправленные в рассылку @email{guix-patches@@gnu.org} (@pxref{Submitting patches to a project,,, git, Git User Manual}). Участникам рекомендуется потратить пару минут, чтобы установить некоторые настройки репозитория Git (@pxref{Configuring Git}), что может улучшить читаемость патчей. Опытные разработчики Guix, возможно, также захотят взглянуть на раздел о доступе к коммитам (@pxref{Commit Access})." #. type: Plain text #: guix-git/doc/contributing.texi:1877 #, fuzzy #| msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Patches}). Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is the tracking number (@pxref{Sending a Patch Series})." msgid "This mailing list is backed by a Debbugs instance, which allows us to keep track of submissions (@pxref{Tracking Bugs and Changes}). Each message sent to that mailing list gets a new tracking number assigned; people can then follow up on the submission by sending email to @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, where @var{ISSUE_NUMBER} is the tracking number (@pxref{Sending a Patch Series})." msgstr "Эта рассылка работает на платформе Debbugs, что позволяет нам отслеживать присылаемые патчи (@pxref{Tracking Bugs and Patches}). Каждому сообщению, отправленному в эту рассылку, присваивается новый номер трекинга. Это позволяет пользователям общаться о конкретном патче, отправляя электронные письма на адрес @code{@var{ISSUE_NUMBER}@@debbugs.gnu.org}, где @var{ISSUE_NUMBER} — это номер трекинга (@pxref{Sending a Patch Series})." #. type: Plain text #: guix-git/doc/contributing.texi:1881 msgid "Please write commit logs in the ChangeLog format (@pxref{Change Logs,,, standards, GNU Coding Standards}); you can check the commit history for examples." msgstr "Пожалуйста, пишите логи коммита в формате ChangeLog (@pxref{Change Logs,,, standards, GNU Coding Standards}); для примеров загляните в историю коммитов." #. type: Plain text #: guix-git/doc/contributing.texi:1891 msgid "You can help make the review process more efficient, and increase the chance that your patch will be reviewed quickly, by describing the context of your patch and the impact you expect it to have. For example, if your patch is fixing something that is broken, describe the problem and how your patch fixes it. Tell us how you have tested your patch. Will users of the code changed by your patch have to adjust their workflow at all? If so, tell us how. In general, try to imagine what questions a reviewer will ask, and answer those questions in advance." msgstr "Вы можете помочь сделать процесс рассмотрения более эффективным и увеличить вероятность того, что ваш патч будет быстро рассмотрен, описав контекст вашего патча и влияние, которое вы ожидаете от него. Например, если ваш патч исправляет что-то сломанное, опишите проблему и то, как ваш патч ее устраняет. Расскажите, как вы протестировали свой патч. Придется ли пользователям кода, измененного вашим патчем, вносить какие-либо изменения в свой рабочий процесс? Если да, расскажите, как. В целом, постарайтесь представить, какие вопросы задаст рецензент, и ответьте на них заранее." #. type: Plain text #: guix-git/doc/contributing.texi:1894 msgid "Before submitting a patch that adds or modifies a package definition, please run through this check list:" msgstr "Перед отправкой патча, который добавляет или изменяет описание пакета, пожалуйста, выполните следующие проверки:" #. type: enumerate #: guix-git/doc/contributing.texi:1901 msgid "If the authors of the packaged software provide a cryptographic signature for the release tarball, make an effort to verify the authenticity of the archive. For a detached GPG signature file this would be done with the @code{gpg --verify} command." msgstr "Если авторы пакета программного обеспечения предоставляют криптографическую подпись для архива релиза, не поленитесь проверить подлинность архива. Для файла отделённой GPG-подписи это можно сделать командой @code{gpg --verify}." #. type: enumerate #: guix-git/doc/contributing.texi:1905 msgid "Take some time to provide an adequate synopsis and description for the package. @xref{Synopses and Descriptions}, for some guidelines." msgstr "Потратьте немного времени, чтобы предоставить адекватное краткое описание и полное описание пакета. Смотрите @xref{Synopses and Descriptions} для подробностей." #. type: enumerate #: guix-git/doc/contributing.texi:1910 msgid "Run @command{guix lint @var{package}}, where @var{package} is the name of the new or modified package, and fix any errors it reports (@pxref{Invoking guix lint})." msgstr "Запустите @command{guix lint @var{package}}, где @var{package} - это имя нового или изменённого пакета, и устраните любые ошибки из отчёта (@pxref{Invoking guix lint})." #. type: enumerate #: guix-git/doc/contributing.texi:1914 msgid "Run @command{guix style @var{package}} to format the new package definition according to the project's conventions (@pxref{Invoking guix style})." msgstr "Запустите @command{guix style @var{package}} для проверки нового определения пакетов в соответствии с соглашениями проекта (@pxref{Invoking guix style})." #. type: enumerate #: guix-git/doc/contributing.texi:1918 msgid "Make sure the package builds on your platform, using @command{guix build @var{package}}." msgstr "Убедитесь, что пакет собирается на вашей платформе, используя @command{guix build @var{package}}." #. type: enumerate #: guix-git/doc/contributing.texi:1926 msgid "We recommend you also try building the package on other supported platforms. As you may not have access to actual hardware platforms, we recommend using the @code{qemu-binfmt-service-type} to emulate them. In order to enable it, add the @code{virtualization} service module and the following service to the list of services in your @code{operating-system} configuration:" msgstr "Мы рекомендуем вам также попробовать собрать пакет на других поддерживаемых платформах. Поскольку у вас может не быть доступа к реальным аппаратным платформам, мы рекомендуем использовать @code{qemu-binfmt-service-type}, чтобы эмулировать их. Для того, чтобы включить эмуляцию, добавьте модуль сервиса @code{virtualization} и следующий сервис в список сервисов @code{operating-system} в вашей конфигурации:" #. type: lisp #: guix-git/doc/contributing.texi:1931 #, no-wrap msgid "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" msgstr "" "(service qemu-binfmt-service-type\n" " (qemu-binfmt-configuration\n" " (platforms (lookup-qemu-platforms \"arm\" \"aarch64\"))))\n" #. type: enumerate #: guix-git/doc/contributing.texi:1934 msgid "Then reconfigure your system." msgstr "После этого запустите переконфигурирование системы." #. type: enumerate #: guix-git/doc/contributing.texi:1939 msgid "You can then build packages for different platforms by specifying the @code{--system} option. For example, to build the \"hello\" package for the armhf or aarch64 architectures, you would run the following commands, respectively:" msgstr "Теперь вы можете собирать пакеты под различные платформы, обозначив опцию @code{--system}. Например, чтобы собрать пакет \"hello\" для архитектур armhf, aarch64, или mips64 вы должны выполнить следующие команды, соответственно:" #. type: example #: guix-git/doc/contributing.texi:1942 #, no-wrap msgid "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" msgstr "" "guix build --system=armhf-linux --rounds=2 hello\n" "guix build --system=aarch64-linux --rounds=2 hello\n" #. type: cindex #: guix-git/doc/contributing.texi:1945 #, fuzzy, no-wrap msgid "bundling" msgstr "сборка" #. type: enumerate #: guix-git/doc/contributing.texi:1948 msgid "Make sure the package does not use bundled copies of software already available as separate packages." msgstr "Убедитесь, что пакет не использует встроенные копии программ, которые уже доступны в отдельных пакетах." #. type: enumerate #: guix-git/doc/contributing.texi:1957 msgid "Sometimes, packages include copies of the source code of their dependencies as a convenience for users. However, as a distribution, we want to make sure that such packages end up using the copy we already have in the distribution, if there is one. This improves resource usage (the dependency is built and stored only once), and allows the distribution to make transverse changes such as applying security updates for a given software package in a single place and have them affect the whole system---something that bundled copies prevent." msgstr "Иногда пакеты включают копии исходных кодов своих зависимостей, исходя из удобства для пользователей. Однако как дистрибутив, мы должны убедиться, что подобные пакеты в конечном итоге используют копию, которую мы уже имеем в дистрибутиве, если таковая имеется. Это улучшает использование ресурсов (зависимость собирается и сохраняется лишь один раз) и позволяет дистрибутиву производить поперечные изменения, как например, применение обновлений безопасности для поставляемого пакета программного обеспечения в единственном месте, и эти изменения будут иметь силу во всей системе --- встроенные в пакет копии этому мешают." #. type: enumerate #: guix-git/doc/contributing.texi:1966 #, fuzzy #| msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references to other packages unwillingly retained. It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used. In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use the @code{texlive-tiny} package or @code{texlive-union} procedure instead." msgid "Take a look at the profile reported by @command{guix size} (@pxref{Invoking guix size}). This will allow you to notice references to other packages unwillingly retained. It may also help determine whether to split the package (@pxref{Packages with Multiple Outputs}), and which optional dependencies should be used. In particular, avoid adding @code{texlive} as a dependency: because of its extreme size, use @code{texlive-updmap.cfg} procedure instead." msgstr "Просмотрите отчеты @command{guix size} (@pxref{Invoking guix size}). Это позволит найти связь с другими пакетами, сохранившуюся без необходимости. Это также позволяет решить, как разделить пакет (@pxref{Packages with Multiple Outputs}) и какие должны использоваться опциональные зависимости. В частности, это способ избежать использование большого @code{texlive} как зависимости и использовать @code{texlive-tiny} или @code{texlive-union} вместо него." #. type: enumerate #: guix-git/doc/contributing.texi:1971 #, fuzzy #| msgid "For important changes, check that dependent packages (if applicable) are not affected by the change; @code{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})." msgid "Check that dependent packages (if applicable) are not affected by the change; @command{guix refresh --list-dependent @var{package}} will help you do that (@pxref{Invoking guix refresh})." msgstr "Для важных изменений проверьте, что зависимости пакетов (если они есть) не затронуты изменениями. @code{guix refresh --list-dependent @var{package}} поможет вам сделать это (@pxref{Invoking guix refresh})." #. type: cindex #: guix-git/doc/contributing.texi:1973 #, no-wrap msgid "determinism, of build processes" msgstr "детерминизм, процесса сборки" #. type: cindex #: guix-git/doc/contributing.texi:1974 #, no-wrap msgid "reproducible builds, checking" msgstr "воспроизводимые сорки, проверка" #. type: enumerate #: guix-git/doc/contributing.texi:1978 msgid "Check whether the package's build process is deterministic. This typically means checking whether an independent build of the package yields the exact same result that you obtained, bit for bit." msgstr "Проверьте, является ли процесс сборки пакета детеминистическим. Это обычно означает необходимость проверки того, что независимая сборка пакета производит точно такой же результат, которым вы располагаете, бит к биту." #. type: enumerate #: guix-git/doc/contributing.texi:1981 msgid "A simple way to do that is by building the same package several times in a row on your machine (@pxref{Invoking guix build}):" msgstr "Простой способ выполнить это - собрать такой же пакет несколько раз подряд на вашей машине (@pxref{Invoking guix build}):" #. type: example #: guix-git/doc/contributing.texi:1984 #, no-wrap msgid "guix build --rounds=2 my-package\n" msgstr "guix build --rounds=2 my-package\n" #. type: enumerate #: guix-git/doc/contributing.texi:1988 msgid "This is enough to catch a class of common non-determinism issues, such as timestamps or randomly-generated output in the build result." msgstr "Этого достаточно, чтобы отловить привычный набор проблем, нарушающих детерминизм, как например, отпечаток времени или случайно генерируемый выход на результате сборке." #. type: enumerate #: guix-git/doc/contributing.texi:1998 msgid "Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}). You may run it once the package has been committed and built by @code{@value{SUBSTITUTE-SERVER-1}} to check whether it obtains the same result as you did. Better yet: Find another machine that can build it and run @command{guix publish}. Since the remote build machine is likely different from yours, this can catch non-determinism issues related to the hardware---e.g., use of different instruction set extensions---or to the operating system kernel---e.g., reliance on @code{uname} or @file{/proc} files." msgstr "Другой способ --- использовать @command{guix challenge} (@pxref{Invoking guix challenge}). Можно запустить это один раз, когда коммит пакета был отправлен, и собрать с помощью @code{@value{SUBSTITUTE-SERVER-1}}, чтобы проверить, что это даёт результат такой же, как у вас. Ещё лучше найти другую машину, на которой можно собрать это и выполнить @command{guix publish}. Так как другая удалённая машина дл сборки отличается от вашей, это может выявить проблемы, нарушающие детерминизм, связанные с аппаратным обеспечением, то есть вызванные использованием различных расширений ассемблера или другого ядра операционной системы, то есть касательно файлов @code{uname} или @file{/proc}." #. type: enumerate #: guix-git/doc/contributing.texi:2004 msgid "When writing documentation, please use gender-neutral wording when referring to people, such as @uref{https://en.wikipedia.org/wiki/Singular_they, singular ``they''@comma{} ``their''@comma{} ``them''}, and so forth." msgstr "При написании документации, пожалуйста, используйте нейтральную по гендеру лексику, когда речь идёт о людях, как например, тут @uref{https://en.wikipedia.org/wiki/Singular_they, singular \"they\"@comma{} \"their\"@comma{} \"them\"} и т.д." #. type: enumerate #: guix-git/doc/contributing.texi:2008 msgid "Verify that your patch contains only one set of related changes. Bundling unrelated changes together makes reviewing harder and slower." msgstr "Проверьте, что ваш патч содержит изменения, связанные только с одной темой. Связывая вместе изменения, касающиеся различных тем, делает обзор сложным и медленным." #. type: enumerate #: guix-git/doc/contributing.texi:2011 msgid "Examples of unrelated changes include the addition of several packages, or a package update along with fixes to that package." msgstr "Примеры несвязанных изменений включают, в том числе, добавление некоторых пакетов или обновление пакета вместе с исправлениями в этом пакете." #. type: enumerate #: guix-git/doc/contributing.texi:2016 msgid "Please follow our code formatting rules, possibly running @command{guix style} script to do that automatically for you (@pxref{Formatting Code})." msgstr "Пожалуйста, следуйте нашим правилам форматирования кода, по возможности запуская скрипт @command{guix style}, который сделает это автоматически (@pxref{Formatting Code})." #. type: enumerate #: guix-git/doc/contributing.texi:2024 msgid "When possible, use mirrors in the source URL (@pxref{Invoking guix download}). Use reliable URLs, not generated ones. For instance, GitHub archives are not necessarily identical from one generation to the next, so in this case it's often better to clone the repository. Don't use the @code{name} field in the URL: it is not very useful and if the name changes, the URL will probably be wrong." msgstr "Если это возможно, используйте зеркала при указании URL исходников (@pxref{Invoking guix download}). Используйте надёжные URL'ы, а не сгенерированные. Например, архивы GitHub не являются идентичными между поколениями, так что в этом случае часто лучше клонировать репозиторий. Не используйте поле @code{name} в URL, это не очень удобно: если имя изменится, тогда URL будет неправильным." #. type: enumerate #: guix-git/doc/contributing.texi:2028 msgid "Check if Guix builds (@pxref{Building from Git}) and address the warnings, especially those about use of undefined symbols." msgstr "Проверьте, собирается ли Guix (@pxref{Building from Git}), и устраните предупреждения, особенно те, которые касаются использования неопределенных символов." #. type: enumerate #: guix-git/doc/contributing.texi:2032 msgid "Make sure your changes do not break Guix and simulate a @command{guix pull} with:" msgstr "Убедитесь, что ваши изменения не ломают Guix и имитируйте @command{guix pull} через:" #. type: example #: guix-git/doc/contributing.texi:2034 #, no-wrap msgid "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n" msgstr "guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master\n" #. type: Plain text #: guix-git/doc/contributing.texi:2042 msgid "When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as a subject, if your patch is to be applied on a branch other than @code{master}, say @code{core-updates}, specify it in the subject like @samp{[PATCH core-updates] @dots{}}." msgstr "При публикации патча в рассылке, используйте @samp{[PATCH] @dots{}} в теме письма. Если ваш патч должен быть применён на ветке отличной от @code{master}, допустим @code{core-updates}, укажите её в теме как @samp{[PATCH core-updates] @dots{}}." #. type: Plain text #: guix-git/doc/contributing.texi:2049 #, fuzzy #| msgid "You may use your email client or the @command{git send-email} command (@pxref{Sending a Patch Series}). We prefer to get patches in plain text messages, either inline or as MIME attachments. You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches." msgid "You may use your email client, the @command{git send-email} command (@pxref{Sending a Patch Series}) or the @command{mumi send-email} command (@pxref{Debbugs User Interfaces}). We prefer to get patches in plain text messages, either inline or as MIME attachments. You are advised to pay attention if your email client changes anything like line breaks or indentation which could potentially break the patches." msgstr "Можно пользоваться почтовым клиентом или командой @command{git send-email} (@pxref{Sending a Patch Series}). Мы предпочитаем получать патчи в виде простых текстовых сообщений внутри текста или отдельным вложением MIME. Рекомендуется уделять внимание вопросу, не изменяет ли почтовый клиент что-либо как символы новой строки или отступы, так как это потенциально может нарушить код патча." #. type: Plain text #: guix-git/doc/contributing.texi:2054 msgid "Expect some delay when you submit your very first patch to @email{guix-patches@@gnu.org}. You have to wait until you get an acknowledgement with the assigned tracking number. Future acknowledgements should not be delayed." msgstr "Когда отправите свой самый первый патч на @email{guix-patches@@gnu.org}, ожидайте некоторой задержки. Вам нужно подождать, пока вы не получите подтверждение с присвоенным номером отслеживания. Дальнейшие подтверждения не следует откладывать." #. type: Plain text #: guix-git/doc/contributing.texi:2057 msgid "When a bug is resolved, please close the thread by sending an email to @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}." msgstr "Когда баг исправлен, пожалуйста, закройте тему, отправив сообщение на @email{@var{ISSUE_NUMBER}-done@@debbugs.gnu.org}." #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2063 #: guix-git/doc/contributing.texi:2064 #, no-wrap msgid "Configuring Git" msgstr "Конфигурирование Git" #. type: subsection #: guix-git/doc/contributing.texi:2061 guix-git/doc/contributing.texi:2087 #: guix-git/doc/contributing.texi:2088 #, no-wrap msgid "Sending a Patch Series" msgstr "Отправка пакета исправлений" #. type: cindex #: guix-git/doc/contributing.texi:2065 #, no-wrap msgid "git configuration" msgstr "Конфигурирование Git" #. type: code{#1} #: guix-git/doc/contributing.texi:2066 guix-git/doc/contributing.texi:2091 #, no-wrap msgid "git format-patch" msgstr "git format-patch" #. type: code{#1} #: guix-git/doc/contributing.texi:2067 guix-git/doc/contributing.texi:2090 #, no-wrap msgid "git send-email" msgstr "git send-email" #. type: Plain text #: guix-git/doc/contributing.texi:2075 msgid "If you have not done so already, you may wish to set a name and email that will be associated with your commits (@pxref{telling git your name, , Telling Git your name, git, Git User Manual}). If you wish to use a different name or email just for commits in this repository, you can use @command{git config --local}, or edit @file{.git/config} in the repository instead of @file{~/.gitconfig}." msgstr "Если вы ещё этого не сделали, вы можете установить имя и адрес электронной почты, которые будут ассоциированы с вашими коммитами (@pxref{telling git your name, , Telling Git your name, git, Git User Manual}).\tЕсли вы хотите использовать другое имя или почту только для коммитов в этом репозитории, вы можете использовать @command{git config --local} или отредактировать @file{.git/config} в репозитории вместо @file{~/.gitconfig}." #. type: cindex #: guix-git/doc/contributing.texi:2076 #, no-wrap msgid "commit-msg hook" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2086 msgid "Other important Git configuration will automatically be configured when building the project (@pxref{Building from Git}). A @file{.git/hooks/commit-msg} hook will be installed that embeds @samp{Change-Id} Git @emph{trailers} in your commit messages for traceability purposes. It is important to preserve these when editing your commit messages, particularly if a first version of your proposed changes was already submitted for review. If you have a @file{commit-msg} hook of your own you would like to use with Guix, you can place it under the @file{.git/hooks/commit-msg.d/} directory." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2089 #, no-wrap msgid "patch series" msgstr "группы патчей" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2093 guix-git/doc/contributing.texi:2100 #, no-wrap msgid "Single Patches" msgstr "Одиночные патчи" #. type: Plain text #: guix-git/doc/contributing.texi:2100 msgid "The @command{git send-email} command is the best way to send both single patches and patch series (@pxref{Multiple Patches}) to the Guix mailing list. Sending patches as email attachments may make them difficult to review in some mail clients, and @command{git diff} does not store commit metadata." msgstr "Команда @command{git send-email} - лучший способ отправки как отдельных патчей, так и серий патчей (@pxref{Multiple Patches}) в список рассылки Guix. Отправка патчей в виде вложений по электронной почте может затруднить их просмотр в некоторых почтовых клиентах, а команда @command{git diff} не хранит метаданные коммитов." #. type: quotation #: guix-git/doc/contributing.texi:2104 msgid "The @command{git send-email} command is provided by the @code{send-email} output of the @code{git} package, i.e. @code{git:send-email}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2111 msgid "The following command will create a patch email from the latest commit, open it in your @var{EDITOR} or @var{VISUAL} for editing, and send it to the Guix mailing list to be reviewed and merged. Assuming you have already configured Git according to @xref{Configuring Git}, you can simply use:" msgstr "Следующая команда создаст письмо с патчем из последнего коммита, откроет его в вашем @var{EDITOR} или @var{VISUAL} для редактирования и отправит его в список рассылки Guix для рассмотрения и объединения. Если вы уже настроили Git согласно @xref{Конфигурирование Git}, вы можете просто использовать:" #. type: example #: guix-git/doc/contributing.texi:2114 #, no-wrap msgid "$ git send-email --annotate -1\n" msgstr "$ git send-email --annotate -1\n" #. type: quotation #: guix-git/doc/contributing.texi:2116 guix-git/doc/guix.texi:10571 #: guix-git/doc/guix.texi:20578 guix-git/doc/guix.texi:20586 #: guix-git/doc/guix.texi:34841 #, fuzzy, no-wrap #| msgid "Top" msgid "Tip" msgstr "Top" #. type: quotation #: guix-git/doc/contributing.texi:2122 msgid "To add a prefix to the subject of your patch, you may use the @option{--subject-prefix} option. The Guix project uses this to specify that the patch is intended for a branch or repository other than the @code{master} branch of @url{https://git.savannah.gnu.org/cgit/guix.git}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2125 #, no-wrap msgid "git send-email --annotate --subject-prefix='PATCH core-updates' -1\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2132 msgid "The patch email contains a three-dash separator line after the commit message. You may ``annotate'' the patch with explanatory text by adding it under this line. If you do not wish to annotate the email, you may drop the @option{--annotate} option." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2139 msgid "If you need to send a revised patch, don't resend it like this or send a ``fix'' patch to be applied on top of the last one; instead, use @command{git commit --amend} or @url{https://git-rebase.io, @command{git rebase}} to modify the commit, and use the @email{@var{ISSUE_NUMBER}@@debbugs.gnu.org} address and the @option{-v} flag with @command{git send-email}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2144 #, no-wrap msgid "" "$ git commit --amend\n" "$ git send-email --annotate -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -1\n" msgstr "" #. type: quotation #: guix-git/doc/contributing.texi:2150 msgid "Due to an apparent bug in @command{git send-email}, @option{-v @var{REVISION}} (with the space) will not work; you @emph{must} use @option{-v@var{REVISION}}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2156 msgid "You can find out @var{ISSUE_NUMBER} either by searching on the mumi interface at @url{https://issues.guix.gnu.org} for the name of your patch or reading the acknowledgement email sent automatically by Debbugs in reply to incoming bugs and patches, which contains the bug number." msgstr "" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2157 guix-git/doc/contributing.texi:2159 #, no-wrap msgid "Notifying Teams" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2159 guix-git/doc/contributing.texi:2635 #, no-wrap msgid "teams" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2168 msgid "If your git checkout has been correctly configured (@pxref{Configuring Git}), the @command{git send-email} command will automatically notify the appropriate team members, based on the scope of your changes. This relies on the @file{etc/teams.scm} script, which can also be invoked manually if you do not use the preferred @command{git send-email} command to submit patches. To list the available actions of the script, you can invoke it via the @command{etc/teams.scm help} command. For more information regarding teams, @pxref{Teams}." msgstr "" #. type: quotation #: guix-git/doc/contributing.texi:2172 msgid "On foreign distros, you might have to use @command{./pre-inst-env git send-email} for @file{etc/teams.scm} to work." msgstr "" #. type: anchor{#1} #: guix-git/doc/contributing.texi:2174 guix-git/doc/contributing.texi:2176 #, fuzzy, no-wrap #| msgid "Submitting Patches" msgid "Multiple Patches" msgstr "Отправка исправлений" #. type: cindex #: guix-git/doc/contributing.texi:2176 #, no-wrap msgid "cover letter" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2182 msgid "While @command{git send-email} alone will suffice for a single patch, an unfortunate flaw in Debbugs means you need to be more careful when sending multiple patches: if you send them all to the @email{guix-patches@@gnu.org} address, a new issue will be created for each patch!" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2188 msgid "When sending a series of patches, it's best to send a Git ``cover letter'' first, to give reviewers an overview of the patch series. We can create a directory called @file{outgoing} containing both our patch series and a cover letter called @file{0000-cover-letter.patch} with @command{git format-patch}." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2192 #, no-wrap msgid "" "$ git format-patch -@var{NUMBER_COMMITS} -o outgoing \\\n" " --cover-letter --base=auto\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2197 msgid "We can now send @emph{just} the cover letter to the @email{guix-patches@@gnu.org} address, which will create an issue that we can send the rest of the patches to." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2201 #, no-wrap msgid "" "$ git send-email outgoing/0000-cover-letter.patch --annotate\n" "$ rm outgoing/0000-cover-letter.patch # we don't want to resend it!\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2206 msgid "Ensure you edit the email to add an appropriate subject line and blurb before sending it. Note the automatically generated shortlog and diffstat below the blurb." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2209 msgid "Once the Debbugs mailer has replied to your cover letter email, you can send the actual patches to the newly-created issue address." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2213 #, no-wrap msgid "" "$ git send-email outgoing/*.patch --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" "$ rm -rf outgoing # we don't need these anymore\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2218 msgid "Thankfully, this @command{git format-patch} dance is not necessary to send an amended patch series, since an issue already exists for the patchset." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2222 #, no-wrap msgid "" "$ git send-email -@var{NUMBER_COMMITS} -v@var{REVISION} \\\n" " --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2227 msgid "If need be, you may use @option{--cover-letter --annotate} to send another cover letter, e.g. for explaining what's changed since the last revision, and these changes are necessary." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2233 msgid "This section describes how the Guix project tracks its bug reports, patch submissions and topic branches." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2242 #: guix-git/doc/contributing.texi:2243 #, no-wrap msgid "The Issue Tracker" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "The official bug and patch tracker." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2256 #: guix-git/doc/contributing.texi:2257 #, no-wrap msgid "Managing Patches and Branches" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "How changes to Guix are managed." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2350 #: guix-git/doc/contributing.texi:2351 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Debbugs User Interfaces" msgstr "пользовательские интерфейсы" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Ways to interact with Debbugs." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2539 #: guix-git/doc/contributing.texi:2540 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs Usertags" msgstr "Debbugs, система отслеживания ошибок" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Tag reports with custom labels." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2240 guix-git/doc/contributing.texi:2596 #: guix-git/doc/contributing.texi:2597 #, no-wrap msgid "Cuirass Build Notifications" msgstr "" #. type: menuentry #: guix-git/doc/contributing.texi:2240 msgid "Be alerted of any breakage via RSS feeds." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2245 #, no-wrap msgid "bug reports, tracking" msgstr "сообщения об ошибке, отслеживание" #. type: cindex #: guix-git/doc/contributing.texi:2246 #, no-wrap msgid "patch submissions, tracking" msgstr "отправка патча, отслеживание" #. type: cindex #: guix-git/doc/contributing.texi:2247 #, no-wrap msgid "issue tracking" msgstr "отслеживание заявок об ошибках" #. type: cindex #: guix-git/doc/contributing.texi:2248 #, no-wrap msgid "Debbugs, issue tracking system" msgstr "Debbugs, система отслеживания ошибок" #. type: Plain text #: guix-git/doc/contributing.texi:2255 msgid "Bug reports and patch submissions are currently tracked using the Debbugs instance at @uref{https://bugs.gnu.org}. Bug reports are filed against the @code{guix} ``package'' (in Debbugs parlance), by sending email to @email{bug-guix@@gnu.org}, while patch submissions are filed against the @code{guix-patches} package by sending email to @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})." msgstr "Отчёты об ошибках и предложенные исправления сейчас отслеживаются с помощью Debbugs на веб-сайте @uref{https://bugs.gnu.org}. Отчёты об ошибках, относящиеся к пакету @code{guix} (на языке Debbugs), отправляйте по адресу @email{bug-guix@@gnu.org}, а предлагаемые исправления для пакета @code{guix-patches} — по адресу @email{guix-patches@@gnu.org} (@pxref{Submitting Patches})." #. type: cindex #: guix-git/doc/contributing.texi:2258 #, no-wrap msgid "branching strategy" msgstr "стратегия ветвления" #. type: cindex #: guix-git/doc/contributing.texi:2259 #, no-wrap msgid "rebuild scheduling strategy" msgstr "стратегия планирования пересборки" #. type: Plain text #: guix-git/doc/contributing.texi:2268 msgid "Changes should be posted to @email{guix-patches@@gnu.org}. This mailing list fills the patch-tracking database (@pxref{The Issue Tracker}). It also allows patches to be picked up and tested by the quality assurance tooling; the result of that testing eventually shows up on the dashboard at @indicateurl{https://qa.guix.gnu.org/issue/@var{ISSUE_NUMBER}}, where @var{ISSUE_NUMBER} is the number assigned by the issue tracker. Leave time for a review, without committing anything." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2274 #, fuzzy #| msgid "That last part is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with." msgid "As an exception, some changes considered ``trivial'' or ``obvious'' may be pushed directly to the @code{master} branch. This includes changes to fix typos and reverting commits that caused immediate problems. This is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with." msgstr "Эта последняя часть подлежит корректировке, что позволяет отдельным лицам вносить непосредственные изменения в не противоречивые изменения в тех частях, с которыми они знакомы." #. type: Plain text #: guix-git/doc/contributing.texi:2282 msgid "Changes which affect more than 300 dependent packages (@pxref{Invoking guix refresh}) should first be pushed to a topic branch other than @code{master}; the set of changes should be consistent---e.g., ``GNOME update'', ``NumPy update'', etc. This allows for testing: the branch will automatically show up at @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}}, with an indication of its build status on various platforms." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2283 #, no-wrap msgid "feature branches, coordination" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2288 msgid "To help coordinate the merging of branches, you must create a new guix-patches issue each time you create a branch (@pxref{The Issue Tracker}). The title of the issue requesting to merge a branch should have the following format:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2289 #, no-wrap msgid "merge requests, template" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2292 #, no-wrap msgid "Request for merging \"@var{name}\" branch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2297 msgid "The @url{https://qa.guix.gnu.org/, QA infrastructure} recognizes such issues and lists the merge requests on its main page. The following points apply to managing these branches:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2303 msgid "The commits on the branch should be a combination of the patches relevant to the branch. Patches not related to the topic of the branch should go elsewhere." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2308 msgid "Any changes that can be made on the master branch, should be made on the master branch. If a commit can be split to apply part of the changes on master, this is good to do." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2312 msgid "It should be possible to re-create the branch by starting from master and applying the relevant patches." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2316 msgid "Avoid merging master in to the branch. Prefer rebasing or re-creating the branch on top of an updated master revision." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2321 msgid "Minimise the changes on master that are missing on the branch prior to merging the branch in to master. This means that the state of the branch better reflects the state of master should the branch be merged." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2326 msgid "If you don't have commit access, create the ``Request for merging'' issue and request that someone creates the branch. Include a list of issues/patches to include on the branch." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2340 msgid "Normally branches will be merged in a ``first come, first merged'' manner, tracked through the guix-patches issues. If you agree on a different order with those involved, you can track this by updating which issues block@footnote{You can mark an issue as blocked by another by emailing @email{control@@debbugs.gnu.org} with the following line in the body of the email: @code{block XXXXX by YYYYY}. Where @code{XXXXX} is the number for the blocked issue, and @code{YYYYY} is the number for the issue blocking it.} which other issues. Therefore, to know which branch is at the front of the queue, look for the oldest issue, or the issue that isn't @dfn{blocked} by any other branch merges. An ordered list of branches with the open issues is available at @url{https://qa.guix.gnu.org}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2346 msgid "Once a branch is at the front of the queue, wait until sufficient time has passed for the build farms to have processed the changes, and for the necessary testing to have happened. For example, you can check @indicateurl{https://qa.guix.gnu.org/branch/@var{branch}} to see information on some builds and substitute availability." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2349 msgid "Once the branch has been merged, the issue should be closed and the branch deleted." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:2353 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Web interface" msgstr "пользовательские интерфейсы" #. type: cindex #: guix-git/doc/contributing.texi:2355 #, fuzzy, no-wrap #| msgid "Mumi, Debbugs Web interface" msgid "mumi, web interface for issues" msgstr "пользовательские интерфейсы" #. type: Plain text #: guix-git/doc/contributing.texi:2358 msgid "A web interface (actually @emph{two} web interfaces!) are available to browse issues:" msgstr "Для просмотра вопросов доступен веб-интерфейс (на самом деле даже @emph{два} веб-интерфейса):" #. type: itemize #: guix-git/doc/contributing.texi:2367 #, fuzzy #| msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface@footnote{The web interface at @url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of software written in Guile, and you can help! See @url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} to browse bug reports and patches, and to participate in discussions;" msgid "@url{https://issues.guix.gnu.org} provides a pleasant interface powered by mumi@footnote{Mumi is a nice piece of software written in Guile, and you can help! See @url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse bug reports and patches, and to participate in discussions; mumi also has a command-line interface as we will see below;" msgstr "@url{https://issues.guix.gnu.org} предоставляет приятный интерфейс@footnote{Веб-интерфейс по адресу @url{https://issues.guix.gnu.org} работает на Mumi, прятном примере програмного обеспечения, написанного на Guile, и вы можете помочь! См.@url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} чтобы просматривать отчеты об ошибках и исправлениях, а также участвовать в обсуждениях;" #. type: itemize #: guix-git/doc/contributing.texi:2369 msgid "@url{https://bugs.gnu.org/guix} lists bug reports;" msgstr "@url{https://gnupg.org/, GNU libgcrypt} списки отчётов об ошибках;" #. type: itemize #: guix-git/doc/contributing.texi:2371 msgid "@url{https://bugs.gnu.org/guix-patches} lists patch submissions." msgstr "@url{https://bugs.gnu.org/guix-patches} списки патчей на рассмотрении." #. type: Plain text #: guix-git/doc/contributing.texi:2376 msgid "To view discussions related to issue number @var{n}, go to @indicateurl{https://issues.guix.gnu.org/@var{n}} or @indicateurl{https://bugs.gnu.org/@var{n}}." msgstr "Чтобы просмотреть обсуждения, связанные с номером проблемы @var{n}, перейдите на @indicateurl{https://issues.guix.gnu.org/@var{n}} или @indicateurl{https://bugs.gnu.org/@var{n}}." #. type: subsubsection #: guix-git/doc/contributing.texi:2377 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "Command-Line Interface" msgstr "Программный интерфейс" #. type: cindex #: guix-git/doc/contributing.texi:2379 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "mumi command-line interface" msgstr "Программный интерфейс" #. type: cindex #: guix-git/doc/contributing.texi:2380 #, no-wrap msgid "mumi am" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2381 #, no-wrap msgid "mumi compose" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2382 #, fuzzy, no-wrap #| msgid "git send-email" msgid "mumi send-email" msgstr "git send-email" #. type: cindex #: guix-git/doc/contributing.texi:2383 #, no-wrap msgid "mumi www" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2388 msgid "Mumi also comes with a command-line interface that can be used to search existing issues, open new issues, compose replies, apply and send patches. You do not need to use Emacs to use the mumi command-line client. You interact with it only on the command-line." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2392 msgid "To use the mumi command-line interface, navigate to a local clone of the Guix git repository, and drop into a shell with mumi, git and git:send-email installed." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2396 #, no-wrap msgid "" "$ cd guix\n" "~/guix$ guix shell mumi git git:send-email\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2399 msgid "To search for issues, say all open issues about \"zig\", run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2402 #, no-wrap msgid "" "~/guix [env]$ mumi search zig is:open\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2413 #, no-wrap msgid "" "#60889 Add zig-build-system\n" "opened on 17 Jan 17:37 Z by Ekaitz Zarraga\n" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" "#39136 [PATCH] gnu: services: Add endlessh.\n" "opened on 14 Jan 2020 21:21 by Nicol? Balzarotti\n" "#60424 [PATCH] gnu: Add python-online-judge-tools\n" "opened on 30 Dec 2022 07:03 by gemmaro\n" "#45601 [PATCH 0/6] vlang 0.2 update\n" "opened on 1 Jan 2021 19:23 by Ryan Prior\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2416 msgid "Pick an issue and make it the \"current\" issue." msgstr "" #. type: example #: guix-git/doc/contributing.texi:2419 #, no-wrap msgid "" "~/guix [env]$ mumi current 61036\n" "\n" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2422 #, no-wrap msgid "" "#61036 [PATCH 0/3] Update zig to 0.10.1\n" "opened on 24 Jan 09:42 Z by Efraim Flashner\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2427 msgid "Once an issue is the current issue, you can open the issue in a web browser, compose replies, apply patches, send patches, etc. with short succinct commands." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2429 msgid "Open the issue in your web browser using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2432 #, no-wrap msgid "~/guix [env]$ mumi www\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2435 msgid "Compose a reply using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2438 #, no-wrap msgid "~/guix [env]$ mumi compose\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2441 msgid "Compose a reply and close the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2444 #, no-wrap msgid "~/guix [env]$ mumi compose --close\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2449 msgid "@command{mumi compose} opens your mail client by passing @samp{mailto:} URIs to @command{xdg-open}. So, you need to have @command{xdg-open} set up to open your mail client correctly." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2451 msgid "Apply the latest patchset from the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2454 #, no-wrap msgid "~/guix [env]$ mumi am\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2457 msgid "You may also apply a patchset of a specific version (say, v3) using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2460 #, no-wrap msgid "~/guix [env]$ mumi am v3\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2465 msgid "Or, you may apply a patch from a specific e-mail message. For example, to apply the patch from the 4th message (message index starts from 0), run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2468 #, no-wrap msgid "~/guix [env]$ mumi am @@4\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2473 msgid "@command{mumi am} is a wrapper around @command{git am}. You can pass @command{git am} arguments to it after a @samp{--}. For example, to add a Signed-off-by trailer, run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2476 #, no-wrap msgid "~/guix [env]$ mumi am -- -s\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2479 msgid "Create and send patches to the issue using" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2483 #, no-wrap msgid "" "~/guix [env]$ git format-patch origin/master\n" "~/guix [env]$ mumi send-email foo.patch bar.patch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2488 msgid "Note that you do not have to pass in @samp{--to} or @samp{--cc} arguments to @command{git format-patch}. @command{mumi send-email} will put them in correctly when sending the patches." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2490 msgid "To open a new issue, run" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2493 #, no-wrap msgid "~/guix [env]$ mumi new\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2497 msgid "and send an email (using @command{mumi compose}) or patches (using @command{mumi send-email})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2503 msgid "@command{mumi send-email} is really a wrapper around @command{git send-email} that automates away all the nitty-gritty of sending patches. It uses the current issue state to automatically figure out the correct @samp{To} address to send to, other participants to @samp{Cc}, headers to add, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2511 msgid "Also note that, unlike @command{git send-email}, @command{mumi send-email} works perfectly well with single and multiple patches alike. It automates away the debbugs dance of sending the first patch, waiting for a response from debbugs and sending the remaining patches. It does so by sending the first patch, polling the server for a response, and then sending the remaining patches. This polling can unfortunately take a few minutes. So, please be patient." msgstr "" #. type: subsubsection #: guix-git/doc/contributing.texi:2512 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Emacs Interface" msgstr "пользовательские интерфейсы" #. type: Plain text #: guix-git/doc/contributing.texi:2516 msgid "If you use Emacs, you may find it more convenient to interact with issues using @file{debbugs.el}, which you can install with:" msgstr "Если вы используете Emacs, вам может быть удобнее взаимодействовать с проблемами при помощи @file{debbugs.el}, который вы можете установить с помощью:" #. type: example #: guix-git/doc/contributing.texi:2519 #, no-wrap msgid "guix install emacs-debbugs\n" msgstr "guix install emacs-debbugs\n" #. type: Plain text #: guix-git/doc/contributing.texi:2522 msgid "For example, to list all open issues on @code{guix-patches}, hit:" msgstr "Например, чтбы уввидеть все открытые заявки на @code{guix-patches}, введите:" #. type: example #: guix-git/doc/contributing.texi:2525 #, no-wrap msgid "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" msgstr "@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y\n" #. type: Plain text #: guix-git/doc/contributing.texi:2532 msgid "For a more convenient (shorter) way to access both the bugs and patches submissions, you may want to configure the @code{debbugs-gnu-default-packages} and @code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing Bugs within Emacs})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2535 msgid "To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be used." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2538 msgid "@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on this nifty tool!" msgstr "@xref{Top,,, debbugs-ug, Debbugs User Guide} для подробной информации об этом полезном инструменте!" #. type: cindex #: guix-git/doc/contributing.texi:2542 #, no-wrap msgid "usertags, for debbugs" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2543 #, fuzzy, no-wrap #| msgid "Debbugs, issue tracking system" msgid "Debbugs usertags" msgstr "Debbugs, система отслеживания ошибок" #. type: Plain text #: guix-git/doc/contributing.texi:2554 msgid "Debbugs provides a feature called @dfn{usertags} that allows any user to tag any bug with an arbitrary label. Bugs can be searched by usertag, so this is a handy way to organize bugs@footnote{The list of usertags is public information, and anyone can modify any user's list of usertags, so keep that in mind if you choose to use this feature.}. If you use Emacs Debbugs, the entry-point to consult existing usertags is the @samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press @samp{C} while consulting a bug within the *Guix-Patches* buffer opened with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag} and follow the instructions." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2560 msgid "For example, to view all the bug reports (or patches, in the case of @code{guix-patches}) tagged with the usertag @code{powerpc64le-linux} for the user @code{guix}, open a URL like the following in a web browser: @url{https://debbugs.gnu.org/cgi-bin/pkgreport.cgi?tag=powerpc64le-linux;users=guix}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2564 msgid "For more information on how to use usertags, please refer to the documentation for Debbugs or the documentation for whatever tool you use to interact with Debbugs." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2569 msgid "In Guix, we are experimenting with usertags to keep track of architecture-specific issues, as well as reviewed ones. To facilitate collaboration, all our usertags are associated with the single user @code{guix}. The following usertags currently exist for that user:" msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: defvar #: guix-git/doc/contributing.texi:2572 guix-git/doc/guix.texi:655 #: guix-git/doc/guix.texi:48442 #, no-wrap msgid "powerpc64le-linux" msgstr "aarch64-linux" #. type: table #: guix-git/doc/contributing.texi:2580 msgid "The purpose of this usertag is to make it easy to find the issues that matter most for the @code{powerpc64le-linux} system type. Please assign this usertag to bugs or patches that affect @code{powerpc64le-linux} but not other system types. In addition, you may use it to identify issues that for some reason are particularly important for the @code{powerpc64le-linux} system type, even if the issue affects other system types, too." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:2581 guix-git/doc/guix.texi:2966 #: guix-git/doc/guix.texi:4903 #, no-wrap msgid "reproducibility" msgstr "воспроизводимость" #. type: table #: guix-git/doc/contributing.texi:2585 msgid "For issues related to reproducibility. For example, it would be appropriate to assign this usertag to a bug report for a package that fails to build reproducibly." msgstr "" #. type: item #: guix-git/doc/contributing.texi:2586 #, no-wrap msgid "reviewed-looks-good" msgstr "" #. type: table #: guix-git/doc/contributing.texi:2588 msgid "You have reviewed the series and it looks good to you (LGTM)." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2595 msgid "If you're a committer and you want to add a usertag, just start using it with the @code{guix} user. If the usertag proves useful to you, consider updating this section of the manual so that others will know what your usertag means." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2599 #, no-wrap msgid "build event notifications, RSS feed" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2600 #, fuzzy, no-wrap #| msgid "container, build environment" msgid "notifications, build events" msgstr "контейнер, окружение сборки" #. type: Plain text #: guix-git/doc/contributing.texi:2609 msgid "Cuirass includes @acronym{RSS, Really Simple Syndication} feeds as one of its features (@pxref{Notifications,,,cuirass}). Since @url{https://ci.guix.gnu.org/, Berlin} runs an instance of Cuirass, this feature can be used to keep track of recently broken or fixed packages caused by changes pushed to the Guix git repository. Any RSS client can be used. A good one, included with Emacs, is @xref{Gnus,,,gnus}. To register the feed, copy its URL, then from the main Gnus buffer, @samp{*Group*}, do the following:" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2610 #, no-wrap msgid "Gnus, configuration to read CI RSS feeds" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2611 #, fuzzy, no-wrap #| msgid "configuration" msgid "RSS feeds, Gnus configuration" msgstr "Конфигурирование системы" #. type: example #: guix-git/doc/contributing.texi:2615 #, no-wrap msgid "" "@kbd{G R} https://ci.guix.gnu.org/events/rss/?specification=master RET\n" "Guix CI - master RET Build events for specification master. RET\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2622 msgid "Then, back at the @samp{*Group*} buffer, press @kbd{s} to save the newly added RSS group. As for any other Gnus group, you can update its content by pressing the @kbd{g} key. You should now receive notifications that read like:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2627 #, no-wrap msgid "" " . [ ?: Cuirass ] Build tree-sitter-meson.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.aarch64-linux on master is fixed.\n" " . [ ?: Cuirass ] Build rust-pbkdf2.x86_64-linux on master is fixed.\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2632 msgid "where each RSS entry contains a link to the Cuirass build details page of the associated build." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2646 msgid "To organize work on Guix, including but not just development efforts, the project has a set of @dfn{teams}. Each team has its own focus and interests and is the primary contact point for questions and contributions in those areas. A team's primary mission is to coordinate and review the work of individuals in its scope (@pxref{Reviewing the Work of Others}); it can make decisions within its scope, in agreement with other teams whenever there is overlap or a close connection, and in accordance with other project rules such as seeking consensus (@pxref{Making Decisions})." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2660 msgid "As an example, the Python team is responsible for core Python packaging matters; it can decide to upgrade core Python packages in a dedicated @code{python-team} branch, in collaboration with any team whose scope is directly dependent on Python---e.g., the Science team---and following branching rules (@pxref{Managing Patches and Branches}). The Documentation team helps review changes to the documentation and can initiate overarching documentation changes. The Translations team organizes translation of Guix and its manual and coordinates efforts in that area. The Core team is responsible for the development of core functionality and interfaces of Guix; because of its central nature, some of its work may require soliciting input from the community at large and seeking consensus before enacting decisions that would affect the entire community." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2664 msgid "Teams are defined in the @file{etc/teams.scm} file in the Guix repository. The scope of each team is defined, when applicable, as a set of files or as a regular expression matching file names." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2665 #, no-wrap msgid "team membership" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2672 msgid "Anyone with interest in a team's domain and willing to contribute to its work can apply to become a member by contacting current members by email; commit access is not a precondition. Membership is formalized by adding the person's name and email address to @file{etc/teams.scm}. Members who have not been participating in the team's work for one year or more may be removed; they are free to reapply for membership later." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2673 #, fuzzy, no-wrap #| msgid "derivation" msgid "team creation" msgstr "деривация" #. type: Plain text #: guix-git/doc/contributing.texi:2679 msgid "One or more people may propose the creation of a new team by reaching out to the community by email at @email{guix-devel@@gnu.org}, clarifying the intended scope and purpose. When consensus is reached on the creation of this team, someone with commit access formalizes its creation by adding it and its initial members to @file{etc/teams.scm}." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2681 msgid "To list existing teams, run the following command from a Guix checkout:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2690 #, no-wrap msgid "" "$ ./etc/teams.scm list-teams\n" "id: mentors\n" "name: Mentors\n" "description: A group of mentors who chaperone contributions by newcomers.\n" "members:\n" "+ Charlie Smith <charlie@@example.org>\n" "@dots{}\n" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2692 #, no-wrap msgid "mentoring" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2695 msgid "You can run the following command to have the Mentors team put in CC of a patch series:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2699 #, no-wrap msgid "" "$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org \\\n" " --header-cmd='etc/teams.scm cc-mentors-header-cmd' *.patch\n" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2704 msgid "The appropriate team or teams can also be inferred from the modified files. For instance, if you want to send the two latest commits of the current Git repository to review, you can run:" msgstr "" #. type: example #: guix-git/doc/contributing.texi:2708 #, no-wrap msgid "" "$ guix shell -D guix\n" "[env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2\n" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2713 #, no-wrap msgid "decision making" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2714 #, no-wrap msgid "consensus seeking" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2721 msgid "It is expected from all contributors, and even more so from committers, to help build consensus and make decisions based on consensus. By using consensus, we are committed to finding solutions that everyone can live with. It implies that no decision is made against significant concerns and these concerns are actively resolved with proposals that work for everyone." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2728 msgid "A contributor (who may or may not have commit access) wishing to block a proposal bears a special responsibility for finding alternatives, proposing ideas/code or explain the rationale for the status quo to resolve the deadlock. To learn what consensus decision making means and understand its finer details, you are encouraged to read @url{https://www.seedsforchange.org.uk/consensus}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2732 #, no-wrap msgid "commit access, for developers" msgstr "доступ для отправки коммитов, для разработчиков" #. type: Plain text #: guix-git/doc/contributing.texi:2743 msgid "Everyone can contribute to Guix without having commit access (@pxref{Submitting Patches}). However, for frequent contributors, having write access to the repository can be convenient. As a rule of thumb, a contributor should have accumulated fifty (50) reviewed commits to be considered as a committer and have sustained their activity in the project for at least 6 months. This ensures enough interactions with the contributor, which is essential for mentoring and assessing whether they are ready to become a committer. Commit access should not be thought of as a ``badge of honor'' but rather as a responsibility a contributor is willing to take to help the project." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2748 msgid "Committers are in a position where they enact technical decisions. Such decisions must be made by @emph{actively building consensus} among interested parties and stakeholders. @xref{Making Decisions}, for more on that." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2752 msgid "The following sections explain how to get commit access, how to be ready to push commits, and the policies and community expectations for commits pushed upstream." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2753 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Applying for Commit Access" msgstr "Доступ к коммитам" #. type: Plain text #: guix-git/doc/contributing.texi:2757 #, fuzzy #| msgid "For frequent contributors, having write access to the repository is convenient. When you deem it necessary, consider applying for commit access by following these steps:" msgid "When you deem it necessary, consider applying for commit access by following these steps:" msgstr "Для постоянных участников удобно иметь доступ для записи в хранилище. Когда вы сочтете это необходимым, рассмотрите возможность подачи заявки на коммит, выполнив следующие действия:" #. type: enumerate #: guix-git/doc/contributing.texi:2766 msgid "Find three committers who would vouch for you. You can view the list of committers at @url{https://savannah.gnu.org/project/memberlist.php?group=guix}. Each of them should email a statement to @email{guix-maintainers@@gnu.org} (a private alias for the collective of maintainers), signed with their OpenPGP key." msgstr "Найдите трех коммиттеров, которые поручаются за вас. Вы можете просмотреть список коммиттеров по адресу @url{https://savannah.gnu.org/project/memberlist.php?group=guix}. Каждый из них должен отправить заявление по электронной почте на адрес @email{guix-maintainers@@gnu.org} (личный псевдоним коллектива сопровождающих), подписанный ключом OpenPGP." #. type: enumerate #: guix-git/doc/contributing.texi:2772 msgid "Committers are expected to have had some interactions with you as a contributor and to be able to judge whether you are sufficiently familiar with the project's practices. It is @emph{not} a judgment on the value of your work, so a refusal should rather be interpreted as ``let's try again later''." msgstr "Ожидается, что коммиттеры взаимодействовали с вами как c участником и могли судить, достаточно ли вы знакомы с проектом. Это @emph{не} суждение о ценности вашей работы, поэтому отказ следует скорее интерпретировать как «давайте попробуем позже»." #. type: enumerate #: guix-git/doc/contributing.texi:2779 msgid "Send @email{guix-maintainers@@gnu.org} a message stating your intent, listing the three committers who support your application, signed with the OpenPGP key you will use to sign commits, and giving its fingerprint (see below). See @uref{https://emailselfdefense.fsf.org/en/}, for an introduction to public-key cryptography with GnuPG." msgstr "Отправьте @email{guix-keepers@@gnu.org} сообщение с указанием ваших намерений, перечисляя трех коммиттеров, поддерживающих вашу заявку, подписанных ключом OpenPGP, который вы будете использовать для подписания коммитов, и указав свой отпечаток (смотри ниже). Ознакомся с @uref{https://emailselfdefense.fsf.org/ru/}, чтобы познакомиться с криптографией с открытым ключом с помощью GnuPG." #. type: enumerate #: guix-git/doc/contributing.texi:2785 msgid "Set up GnuPG such that it never uses the SHA1 hash algorithm for digital signatures, which is known to be unsafe since 2019, for instance by adding the following line to @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" msgstr "Настройте GnuPG так, чтобы он никогда не использовал хэш-алгоритм SHA1 для цифровых подписей, который, как известно, небезопасен с 2019 года. Например, добавив следующую строку в @file{~/.gnupg/gpg.conf} (@pxref{GPG Esoteric Options,,, gnupg, The GNU Privacy Guard Manual}):" #. type: example #: guix-git/doc/contributing.texi:2788 #, no-wrap msgid "digest-algo sha512\n" msgstr "digest-algo sha512\n" #. type: enumerate #: guix-git/doc/contributing.texi:2793 msgid "Maintainers ultimately decide whether to grant you commit access, usually following your referrals' recommendation." msgstr "Маинтайнеры решают, предоставлять ли вам доступ к коммитам, обычно следуя рекомендациям ваших рефералов." #. type: cindex #: guix-git/doc/contributing.texi:2795 #, no-wrap msgid "OpenPGP, signed commits" msgstr "Коммиты, подписанные OpenPGP" #. type: enumerate #: guix-git/doc/contributing.texi:2800 msgid "If and once you've been given access, please send a message to @email{guix-devel@@gnu.org} to say so, again signed with the OpenPGP key you will use to sign commits (do that before pushing your first commit). That way, everyone can notice and ensure you control that OpenPGP key." msgstr "Получив доступ, пожалуйста, отправьте сообщение на адрес @email{guix-devel@@gnu.org}, чтобы снова подписать его ключом OpenPGP, который вы будете использовать для подписания коммитов (сделайте это перед отправкой первого коммита). Таким образом, каждый может заметить и убедиться, что это ваш ключ OpenPGP." #. type: quotation #: guix-git/doc/contributing.texi:2801 guix-git/doc/guix.texi:711 #: guix-git/doc/guix.texi:743 guix-git/doc/guix.texi:22038 #: guix-git/doc/guix.texi:35277 guix-git/doc/guix.texi:35922 #, no-wrap msgid "Important" msgstr "Важно" #. type: quotation #: guix-git/doc/contributing.texi:2803 msgid "Before you can push for the first time, maintainers must:" msgstr "Перед тем, как вы отправите изменения впервые, сопровождающие должны:" #. type: enumerate #: guix-git/doc/contributing.texi:2807 msgid "add your OpenPGP key to the @code{keyring} branch;" msgstr "добавить ваш OpenPGP ключ в @code{keyring} ветку;" #. type: enumerate #: guix-git/doc/contributing.texi:2810 msgid "add your OpenPGP fingerprint to the @file{.guix-authorizations} file of the branch(es) you will commit to." msgstr "добавьте отпечаток вашего OpenPGP ключа в @file{.guix-authorizations} файл ветки (-ок), которые вы подпишите (commit)." #. type: enumerate #: guix-git/doc/contributing.texi:2815 msgid "Make sure to read the rest of this section and... profit!" msgstr "Обязательно прочтите остальную часть этого раздела!" #. type: quotation #: guix-git/doc/contributing.texi:2821 msgid "Maintainers are happy to give commit access to people who have been contributing for some time and have a track record---don't be shy and don't underestimate your work!" msgstr "Маинтейнеры с радостью предоставят доступ к коммитам людям, которые внесли свой вклад в течение некоторого времени и имеют послужной список - не стесняйтесь и не недооценивайте свою работу!" #. type: quotation #: guix-git/doc/contributing.texi:2825 msgid "However, note that the project is working towards a more automated patch review and merging system, which, as a consequence, may lead us to have fewer people with commit access to the main repository. Stay tuned!" msgstr "Тем не менее, обратите внимание, что проект работает над созданием более автоматизированной системы проверки и объединения исправлений, что, как следствие, может привести к тому, что у нас будет меньше людей, имеющих доступ к главному репозиторию. Будьте на связи!" #. type: Plain text #: guix-git/doc/contributing.texi:2832 msgid "All commits that are pushed to the central repository on Savannah must be signed with an OpenPGP key, and the public key should be uploaded to your user account on Savannah and to public key servers, such as @code{keys.openpgp.org}. To configure Git to automatically sign commits, run:" msgstr "Все коммиты, которые передаются в центральный репозиторий в Саванне, должны быть подписаны ключом OpenPGP, а открытый ключ должен быть загружен в вашу учетную запись пользователя на Саванне и на серверы открытых ключей, такие как @code{keys.openpgp.org}. Чтобы настроить Git для автоматической подписи коммитов, запустите:" #. type: example #: guix-git/doc/contributing.texi:2835 #, no-wrap msgid "" "git config commit.gpgsign true\n" "\n" msgstr "" "git config commit.gpgsign true\n" "\n" #. type: example #: guix-git/doc/contributing.texi:2838 #, fuzzy, no-wrap #| msgid "" #| "git config commit.gpgsign true\n" #| "git config user.signingkey CABBA6EA1DC0FF33\n" msgid "" "# Substitute the fingerprint of your public PGP key.\n" "git config user.signingkey CABBA6EA1DC0FF33\n" msgstr "" "git config commit.gpgsign true\n" "git config user.signingkey CABBA6EA1DC0FF33\n" #. type: Plain text #: guix-git/doc/contributing.texi:2841 msgid "To check that commits are signed with correct key, use:" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2848 msgid "@xref{Building from Git} for running the first authentication of a Guix checkout." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2852 msgid "To avoid accidentally pushing unsigned or signed with the wrong key commits to Savannah, make sure to configure Git according to @xref{Configuring Git}." msgstr "Чтобы избежать случайной отправки неподписанных или подписанных неверным ключом коммитов в Savannah, обязательно настройте Git согласно @xref{Configuring Git}." #. type: subsection #: guix-git/doc/contributing.texi:2853 #, fuzzy, no-wrap #| msgid "Commit Access" msgid "Commit Policy" msgstr "Доступ к коммитам" #. type: Plain text #: guix-git/doc/contributing.texi:2858 msgid "If you get commit access, please make sure to follow the policy below (discussions of the policy can take place on @email{guix-devel@@gnu.org})." msgstr "Если вы получили доступ к коммиту, пожалуйста, следуйте приведенной ниже политике (обсуждение политики может проходить по адресу @email{guix-devel@@gnu.org})." #. type: Plain text #: guix-git/doc/contributing.texi:2862 msgid "Ensure you're aware of how the changes should be handled (@pxref{Managing Patches and Branches}) prior to being pushed to the repository, especially for the @code{master} branch." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2869 msgid "If you're committing and pushing your own changes, try and wait at least one week (two weeks for more significant changes, up to one month for changes such as removing a package---@pxref{package-removal-policy, Package Removal}) after you send them for review. After this, if no one else is available to review them and if you're confident about the changes, it's OK to commit." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2874 msgid "When pushing a commit on behalf of somebody else, please add a @code{Signed-off-by} line at the end of the commit log message---e.g., with @command{git am --signoff}. This improves tracking of who did what." msgstr "Когда вы отправляете коммит от имени кого-то другого, добавьте строку @code{Signed-off-by} в конце сообщения коммит лога---например, с @command{git am --signoff}. Это улучшает отслеживание того, кто что сделал." #. type: Plain text #: guix-git/doc/contributing.texi:2878 msgid "When adding channel news entries (@pxref{Channels, Writing Channel News}), make sure they are well-formed by running the following command right before pushing:" msgstr "При добавлении новостей канала (@pxref{Channels, Writing Channel News}), убедитесь, что они правильно сформированы, выполнив следующую команду прямо перед нажатием:" #. type: example #: guix-git/doc/contributing.texi:2881 #, no-wrap msgid "make check-channel-news\n" msgstr "make check-channel-news\n" #. type: subsection #: guix-git/doc/contributing.texi:2883 #, no-wrap msgid "Addressing Issues" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2894 msgid "Peer review (@pxref{Submitting Patches}) and tools such as @command{guix lint} (@pxref{Invoking guix lint}) and the test suite (@pxref{Running the Test Suite}) should catch issues before they are pushed. Yet, commits that ``break'' functionality might occasionally go through. When that happens, there are two priorities: mitigating the impact, and understanding what happened to reduce the chance of similar incidents in the future. The responsibility for both these things primarily lies with those involved, but like everything this is a group effort." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2899 msgid "Some issues can directly affect all users---for instance because they make @command{guix pull} fail or break core functionality, because they break major packages (at build time or run time), or because they introduce known security vulnerabilities." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2900 #, no-wrap msgid "reverting commits" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2906 msgid "The people involved in authoring, reviewing, and pushing such commit(s) should be at the forefront to mitigate their impact in a timely fashion: by pushing a followup commit to fix it (if possible), or by reverting it to leave time to come up with a proper fix, and by communicating with other developers about the problem." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2912 msgid "If these persons are unavailable to address the issue in time, other committers are entitled to revert the commit(s), explaining in the commit log and on the mailing list what the problem was, with the goal of leaving time to the original committer, reviewer(s), and author(s) to propose a way forward." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2921 msgid "Once the problem has been dealt with, it is the responsibility of those involved to make sure the situation is understood. If you are working to understand what happened, focus on gathering information and avoid assigning any blame. Do ask those involved to describe what happened, do not ask them to explain the situation---this would implicitly blame them, which is unhelpful. Accountability comes from a consensus about the problem, learning from it and improving processes so that it's less likely to reoccur." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2922 #, fuzzy, no-wrap #| msgid "Log Rotation" msgid "Commit Revocation" msgstr "Ротация логов" #. type: Plain text #: guix-git/doc/contributing.texi:2929 msgid "In order to reduce the possibility of mistakes, committers will have their Savannah account removed from the Guix Savannah project and their key removed from @file{.guix-authorizations} after 12 months of inactivity; they can ask to regain commit access by emailing the maintainers, without going through the vouching process." msgstr "Чтобы уменьшить вероятность ошибок, учетные записи контрибьюторов будут удалены из проекта Guix на Savannah, а их ключи - из @file{.guix-authorizations} после 12 месяцев бездействия; они могут попросить восстановить доступ к отправке коммитов, отправив электронное письмо мэйнтейнеров, не проходя через процесс подтверждения." #. type: Plain text #: guix-git/doc/contributing.texi:2939 msgid "Maintainers@footnote{See @uref{https://guix.gnu.org/en/about} for the current list of maintainers. You can email them privately at @email{guix-maintainers@@gnu.org}.} may also revoke an individual's commit rights, as a last resort, if cooperation with the rest of the community has caused too much friction---even within the bounds of the project's code of conduct (@pxref{Contributing}). They would only do so after public or private discussion with the individual and a clear notice. Examples of behavior that hinders cooperation and could lead to such a decision include:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2941 #, no-wrap msgid "repeated violation of the commit policy stated above;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2942 #, no-wrap msgid "repeated failure to take peer criticism into account;" msgstr "" #. type: item #: guix-git/doc/contributing.texi:2943 #, no-wrap msgid "breaching trust through a series of grave incidents." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2950 msgid "When maintainers resort to such a decision, they notify developers on @email{guix-devel@@gnu.org}; inquiries may be sent to @email{guix-maintainers@@gnu.org}. Depending on the situation, the individual may still be welcome to contribute." msgstr "" #. type: subsection #: guix-git/doc/contributing.texi:2951 #, no-wrap msgid "Helping Out" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:2958 msgid "One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes. As a committer, you're welcome to use your expertise and commit rights to help other contributors, too!" msgstr "И последнее: проект продолжает двигаться вперед, потому что коммиттеры не только вносят свои собственные потрясающие изменения, но также уделяют свое время на @emph{reviewing} и продвижение изменений других людей. Как коммиттер, вы можете использовать свой опыт и передавать права, чтобы помочь и другим участникам!" #. type: Plain text #: guix-git/doc/contributing.texi:2974 msgid "Perhaps the biggest action you can do to help GNU Guix grow as a project is to review the work contributed by others. You do not need to be a committer to do so; applying, reading the source, building, linting and running other people's series and sharing your comments about your experience will give some confidence to committers. You must ensure the check list found in the @ref{Submitting Patches} section has been correctly followed. A reviewed patch series should give the best chances for the proposed change to be merged faster, so if a change you would like to see merged hasn't yet been reviewed, this is the most appropriate thing to do! If you would like to review changes in a specific area and to receive notifications for incoming patches relevant to that domain, consider joining the relevant team(s) (@pxref{Teams})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:2975 #, fuzzy, no-wrap #| msgid "Packaging Guidelines" msgid "reviewing, guidelines" msgstr "Руководство по упаковке" #. type: Plain text #: guix-git/doc/contributing.texi:2980 msgid "Review comments should be unambiguous; be as clear and explicit as you can about what you think should be changed, ensuring the author can take action on it. Please try to keep the following guidelines in mind during review:" msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2986 msgid "@emph{Be clear and explicit about changes you are suggesting}, ensuring the author can take action on it. In particular, it is a good idea to explicitly ask for new revisions when you want it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:2994 msgid "@emph{Remain focused: do not change the scope of the work being reviewed.} For example, if the contribution touches code that follows a pattern deemed unwieldy, it would be unfair to ask the submitter to fix all occurrences of that pattern in the code; to put it simply, if a problem unrelated to the patch at hand was already there, do not ask the submitter to fix it." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3001 msgid "@emph{Ensure progress.} As they respond to review, submitters may submit new revisions of their changes; avoid requesting changes that you did not request in the previous round of comments. Overall, the submitter should get a clear sense of progress; the number of items open for discussion should clearly decrease over time." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3008 msgid "@emph{Aim for finalization.} Reviewing code is time-consuming. Your goal as a reviewer is to put the process on a clear path towards integration, possibly with agreed-upon changes, or rejection, with a clear and mutually-understood reasoning. Avoid leaving the review process in a lingering state with no clear way out." msgstr "" #. type: enumerate #: guix-git/doc/contributing.texi:3022 msgid "@emph{Review is a discussion.} The submitter's and reviewer's views on how to achieve a particular change may not always be aligned. To lead the discussion, remain focused, ensure progress and aim for finalization, spending time proportional to the stakes@footnote{The tendency to discuss minute details at length is often referred to as ``bikeshedding'', where much time is spent discussing each one's preference for the color of the shed at the expense of progress made on the project to keep bikes dry.}. As a reviewer, try hard to explain the rationale for suggestions you make, and to understand and take into account the submitter's motivation for doing things in a certain way. In other words, build consensus with everyone involved (@pxref{Making Decisions})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3024 #, no-wrap msgid "LGTM, Looks Good To Me" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3025 #, no-wrap msgid "review tags" msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3026 #, no-wrap msgid "Reviewed-by, git trailer" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3037 msgid "When you deem the proposed change adequate and ready for inclusion within Guix, the following well understood/codified @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} @footnote{The @samp{Reviewed-by} Git trailer is used by other projects such as Linux, and is understood by third-party tools such as the @samp{b4 am} sub-command, which is able to retrieve the complete submission email thread from a public-inbox instance and add the Git trailers found in replies to the commit patches.} line should be used to sign off as a reviewer, meaning you have reviewed the change and that it looks good to you:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3046 msgid "If the @emph{whole} series (containing multiple commits) looks good to you, reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to the cover page if it has one, or to the last patch of the series otherwise, adding another @samp{(for the whole series)} comment on the line below to explicit this fact." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3052 msgid "If you instead want to mark a @emph{single commit} as reviewed (but not the whole series), simply reply with @samp{Reviewed-by:@tie{}Your@tie{}Name@tie{}<your-email@@example.com>} to that commit message." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3057 msgid "If you are not a committer, you can help others find a @emph{series} you have reviewed more easily by adding a @code{reviewed-looks-good} usertag for the @code{guix} user (@pxref{Debbugs Usertags})." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3061 #, no-wrap msgid "update-guix-package, updating the guix package" msgstr "guix package: (guix)Запуск guix package" #. type: Plain text #: guix-git/doc/contributing.texi:3067 msgid "It is sometimes desirable to update the @code{guix} package itself (the package defined in @code{(gnu packages package-management)}), for example to make new daemon features available for use by the @code{guix-service-type} service type. In order to simplify this task, the following command can be used:" msgstr "Иногда желательно обновить сам пакет @code{guix} (пакет определен в @code{(gnu packages package-management)}), например, чтобы сделать новые функции демона доступными для использования сервисом @code{guix-service-type}. Чтобы упростить эту задачу, можно использовать следующую команду:" #. type: example #: guix-git/doc/contributing.texi:3070 #, no-wrap msgid "make update-guix-package\n" msgstr "make authenticate\n" #. type: Plain text #: guix-git/doc/contributing.texi:3077 msgid "The @code{update-guix-package} make target will use the last known @emph{commit} corresponding to @code{HEAD} in your Guix checkout, compute the hash of the Guix sources corresponding to that commit and update the @code{commit}, @code{revision} and hash of the @code{guix} package definition." msgstr "@code{update-guix-package} make target воспользуется последним известным коммитом, согласно @code{HEAD} вашего Guix checkout, вычислить хэш источников Guix, соответствующих этому коммиту и обновите @code{commit}, @code{revision} и хэш @code{guix}." #. type: Plain text #: guix-git/doc/contributing.texi:3081 msgid "To validate that the updated @code{guix} package hashes are correct and that it can be built successfully, the following command can be run from the directory of your Guix checkout:" msgstr "Чтобы убедиться, что обновленные хеш-суммы пакета @code{guix} верны и что он может быть успешно собран, следующая команда может быть запущена из каталога Guix (from the directory of your Guix checkout):" #. type: example #: guix-git/doc/contributing.texi:3084 #, no-wrap msgid "./pre-inst-env guix build guix\n" msgstr "./pre-inst-env guix build gnew --keep-failed\n" #. type: Plain text #: guix-git/doc/contributing.texi:3089 msgid "To guard against accidentally updating the @code{guix} package to a commit that others can't refer to, a check is made that the commit used has already been pushed to the Savannah-hosted Guix git repository." msgstr "Чтобы предотвратить случайное обновление пакета @code{guix} к коммиту, на которую другие не могут ссылаться, выполняется проверка того, что использованный коммит уже был отправлен в репозиторий Guix, размещенный в Savannah." #. type: Plain text #: guix-git/doc/contributing.texi:3094 msgid "This check can be disabled, @emph{at your own peril}, by setting the @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT} environment variable. When this variable is set, the updated package source is also added to the store. This is used as part of the release process of Guix." msgstr "Эту проверку можно отключить @emph{на свой страх и риск}, установив переменну окружения @code{GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT}. Когда эта переменная установлена, обновленный исходник пакета также добавляется в хранилище. Это часть процесса выпуска Guix." #. type: cindex #: guix-git/doc/contributing.texi:3098 #, no-wrap msgid "deprecation policy" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3108 msgid "As any lively project with a broad scope, Guix changes all the time and at all levels. Because it's user-extensible and programmable, incompatible changes can directly impact users and make their life harder. It is thus important to reduce user-visible incompatible changes to a minimum and, when such changes are deemed necessary, to clearly communicate them through a @dfn{deprecation period} so everyone can adapt with minimum hassle. This section defines the project's commitments for smooth deprecation and describes procedures and mechanisms to honor them." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3111 msgid "There are several ways to use Guix; how to handle deprecation will depend on each use case. Those can be roughly categorized like this:" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3115 msgid "package management exclusively through the command line;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3118 msgid "advanced package management using the manifest and package interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3122 msgid "Home and System management, using the @code{operating-system} and/or @code{home-environment} interfaces together with the service interfaces;" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3126 msgid "development or use of external tools that use programming interfaces such as the @code{(guix ...)} modules." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3132 msgid "These use cases form a spectrum with varying degrees of coupling---from ``distant'' to tightly coupled. Based on this insight, we define the following @dfn{deprecation policies} that we consider suitable for each of these levels." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3134 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "Command-line tools" msgstr "Программный интерфейс" #. type: table #: guix-git/doc/contributing.texi:3139 msgid "Guix sub-commands should be thought of as remaining available ``forever''. Once a Guix sub-command is to be removed, it should be deprecated first, and then remain available for @b{at least one year} after the first release that deprecated it." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3149 msgid "Deprecation should first be announced in the manual and as an entry in @file{etc/news.scm}; additional communication such as a blog post explaining the rationale is welcome. Months before the scheduled removal date, the command should print a warning explaining how to migrate. An example of this is the replacement of @command{guix environment} by @command{guix shell}, started in October 2021@footnote{For more details on the @command{guix shell} transition, see @uref{https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/}.}." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3152 msgid "Because of the broad impact of such a change, we recommend conducting a user survey before enacting a plan." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3153 #, fuzzy, no-wrap #| msgid "package description" msgid "package deprecation" msgstr "описание пакета" #. type: item #: guix-git/doc/contributing.texi:3154 #, fuzzy, no-wrap #| msgid "Package management commands." msgid "Package name changes" msgstr "Команды управления пакетами." #. type: table #: guix-git/doc/contributing.texi:3159 msgid "When a package name changes, it must remain available under its old name for @b{at least one year}. For example, @code{go-ipfs} was renamed to @code{kubo} following a decision made upstream; to communicate the name change to users, the package module provided this definition:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3160 #, fuzzy, no-wrap #| msgid "reverse-package" msgid "deprecated-package" msgstr "reverse-package" #. type: lisp #: guix-git/doc/contributing.texi:3164 #, no-wrap msgid "" "(define-public go-ipfs\n" " (deprecated-package \"go-ipfs\" kubo))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3168 msgid "That way, someone running @command{guix install go-ipfs} or similar sees a deprecation warning mentioning the new name." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3169 #, fuzzy, no-wrap #| msgid "package removal" msgid "package removal policy" msgstr "удаление пакета" #. type: anchor{#1} #: guix-git/doc/contributing.texi:3171 #, fuzzy #| msgid "package removal" msgid "package-removal-policy" msgstr "удаление пакета" #. type: item #: guix-git/doc/contributing.texi:3171 #, fuzzy, no-wrap #| msgid "package removal" msgid "Package removal" msgstr "удаление пакета" #. type: table #: guix-git/doc/contributing.texi:3175 msgid "Packages whose upstream developers have declared as having reached ``end of life'' or being unmaintained may be removed; likewise, packages that have been @b{failing to build for two months or more} may be removed." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3179 msgid "There is no formal deprecation mechanism for this case, unless a replacement exists, in which case the @code{deprecated-package} procedure mentioned above can be used." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3184 msgid "If the package being removed is a ``leaf'' (no other packages depend on it), it may be removed after a @b{one-month review period} of the patch removing it (this applies even when the removal has additional motivations such as security problems affecting the package)." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3192 msgid "If it has many dependent packages---as is the case for example with Python version@tie{}2---the relevant team must propose a deprecation removal agenda and seek consensus with other packagers for @b{at least one month}. It may also invite feedback from the broader user community, for example through a survey. Removal of all impacted packages may be gradual, spanning multiple months, to accommodate all use cases." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3196 msgid "When the package being removed is considered popular, whether or not it is a leaf, its deprecation must be announced as an entry in @code{etc/news.scm}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3197 #, fuzzy, no-wrap #| msgid "Package Modules" msgid "Package upgrade" msgstr "Пакетные модули" #. type: table #: guix-git/doc/contributing.texi:3200 msgid "In the case of packages with many dependents and/or many users, an upgrade may be treated like the @emph{removal} of the previous version." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3204 msgid "Examples include major version upgrades of programming language implementations, as we've seen above with Python, and major upgrades of ``big'' libraries such as Qt or GTK." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3205 #, fuzzy, no-wrap #| msgid "Service Composition" msgid "service deprecation" msgstr "Структура сервисов" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: node #: guix-git/doc/contributing.texi:3206 guix-git/doc/guix.texi:387 #: guix-git/doc/guix.texi:393 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:19043 guix-git/doc/guix.texi:19044 #: guix-git/doc/guix.texi:34814 #, no-wrap msgid "Services" msgstr "Сервисы" #. type: table #: guix-git/doc/contributing.texi:3211 msgid "Changes to services for Guix Home and Guix System have a direct impact on user configuration. For a user, adjusting to interface changes is rarely rewarding, which is why any such change must be clearly communicated in advance through deprecation warnings and documentation." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3217 msgid "Renaming of variables related to service, home, or system configuration must be communicated for at least six months before removal using the @code{(guix deprecation)} mechanisms. For example, renaming of @code{murmur-configuration} to @code{mumble-server-configuration} was communicated through a series of definitions like this one:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3218 #, no-wrap msgid "define-deprecated/public-alias" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3223 #, no-wrap msgid "" "(define-deprecated/public-alias\n" " murmur-configuration\n" " mumble-server-configuration)\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3226 msgid "Procedures slated for removal may be defined like this:" msgstr "" #. type: findex #: guix-git/doc/contributing.texi:3227 #, fuzzy, no-wrap #| msgid "define-record-type*" msgid "define-deprecated" msgstr "define-record-type*" #. type: lisp #: guix-git/doc/contributing.texi:3232 #, no-wrap msgid "" "(define-deprecated (elogind-service #:key (config (elogind-configuration)))\n" " elogind-service-type\n" " (service elogind-service-type config))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3239 msgid "Record fields, notably fields of service configuration records, must follow a similar deprecation period. This is usually achieved through @i{ad hoc} means though. For example, the @code{hosts-file} field of @code{operating-system} was deprecated by adding a @code{sanitized} property that would emit a warning:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3246 #, no-wrap msgid "" "(define-record-type* <operating-system>\n" " ;; @dots{}\n" " (hosts-file %operating-system-hosts-file ;deprecated\n" " (default #f)\n" " (sanitize warn-hosts-file-field-deprecation)))\n" "\n" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3250 #, no-wrap msgid "" "(define-deprecated (operating-system-hosts-file os)\n" " hosts-service-type\n" " (%operating-system-hosts-file os))\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3255 msgid "When deprecating interfaces in @code{operating-system}, @code{home-environment}, @code{(gnu services)}, or any popular service, the deprecation must come with an entry in @code{etc/news.scm}." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3256 #, fuzzy, no-wrap #| msgid "Programming Interface" msgid "deprecation of programming interfaces" msgstr "Программный интерфейс" #. type: item #: guix-git/doc/contributing.texi:3257 #, fuzzy, no-wrap #| msgid "user interfaces" msgid "Core interfaces" msgstr "пользовательские интерфейсы" #. type: table #: guix-git/doc/contributing.texi:3264 msgid "Core programming interfaces, in particular the @code{(guix ...)} modules, may be relied on by a variety of external tools and channels. Any incompatible change must be formally deprecated with @code{define-deprecated}, as shown above, for @b{at least one year} before removal. The manual must clearly document the new interface and, except in obvious cases, explain how to migrate from the old one." msgstr "" #. type: table #: guix-git/doc/contributing.texi:3268 msgid "As an example, the @code{build-expression->derivation} procedure was superseded by @code{gexp->derivation} and remained available as a deprecated symbol:" msgstr "" #. type: lisp #: guix-git/doc/contributing.texi:3274 #, no-wrap msgid "" "(define-deprecated (build-expression->derivation store name exp\n" " #:key @dots{})\n" " gexp->derivation\n" " @dots{})\n" msgstr "" #. type: table #: guix-git/doc/contributing.texi:3279 msgid "Sometimes bindings are moved from one module to another. In those cases, bindings must be reexported from the original module for at least one year." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3284 msgid "This section does not cover all possible situations but hopefully allows users to know what to expect and developers to stick to its spirit. Please email @email{guix-devel@@gnu.org} for any questions." msgstr "" #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: cindex #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: item #: guix-git/doc/contributing.texi:3285 guix-git/doc/guix.texi:3998 #: guix-git/doc/guix.texi:44609 guix-git/doc/guix.texi:44666 #, no-wrap msgid "documentation" msgstr "documentation" #. type: Plain text #: guix-git/doc/contributing.texi:3292 msgid "Guix is documented using the Texinfo system. If you are not yet familiar with it, we accept contributions for documentation in most formats. That includes plain text, Markdown, Org, etc." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3296 msgid "Documentation contributions can be sent to @email{guix-patches@@gnu.org}. Prepend @samp{[DOCUMENTATION]} to the subject." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3301 msgid "When you need to make more than a simple addition to the documentation, we prefer that you send a proper patch as opposed to sending an email as described above. @xref{Submitting Patches} for more information on how to send your patches." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3310 msgid "To modify the documentation, you need to edit @file{doc/guix.texi} and @file{doc/contributing.texi} (which contains this documentation section), or @file{doc/guix-cookbook.texi} for the cookbook. If you compiled the Guix repository before, you will have many more @file{.texi} files that are translations of these documents. Do not modify them, the translation is managed through @uref{https://translate.fedoraproject.org/projects/guix, Weblate}. @xref{Translating Guix} for more information." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3315 msgid "To render documentation, you must first make sure that you ran @command{./configure} in your source tree (@pxref{Running Guix Before It Is Installed}). After that you can run one of the following commands:" msgstr "" #. type: item #: guix-git/doc/contributing.texi:3317 #, no-wrap msgid "@samp{make doc/guix.info} to compile the Info manual." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3319 msgid "You can check it with @command{info doc/guix.info}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3319 #, no-wrap msgid "@samp{make doc/guix.html} to compile the HTML version." msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3322 msgid "You can point your browser to the relevant file in the @file{doc/guix.html} directory." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3322 #, no-wrap msgid "@samp{make doc/guix-cookbook.info} for the cookbook Info manual." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3323 #, no-wrap msgid "@samp{make doc/guix-cookbook.html} for the cookbook HTML version." msgstr "" #. type: cindex #: guix-git/doc/contributing.texi:3326 #, no-wrap msgid "translation" msgstr "транзакции" #. type: cindex #: guix-git/doc/contributing.texi:3327 #, no-wrap msgid "l10n" msgstr "l10n" #. type: cindex #: guix-git/doc/contributing.texi:3328 #, no-wrap msgid "i18n" msgstr "i18n" #. type: cindex #: guix-git/doc/contributing.texi:3329 #, no-wrap msgid "native language support" msgstr "Работа с языками, поддерживаемыми gcc." #. type: Plain text #: guix-git/doc/contributing.texi:3339 msgid "Writing code and packages is not the only way to provide a meaningful contribution to Guix. Translating to a language you speak is another example of a valuable contribution you can make. This section is designed to describe the translation process. It gives you advice on how you can get involved, what can be translated, what mistakes you should avoid and what we can do to help you!" msgstr "Написание кода и пакетов - не единственный способ внести значимый вклад в Guix. Перевод на язык, на котором вы говорите---еще один пример вашего ценного вклада. Этот раздел предназначен для описания процесса перевода. Здесь представлены советы о том, как вы можете принять участие, что можно перевести, каких ошибок следует избегать и что мы можем сделать, чтобы вам помочь!" #. type: Plain text #: guix-git/doc/contributing.texi:3345 msgid "Guix is a big project that has multiple components that can be translated. We coordinate the translation effort on a @uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance} hosted by our friends at Fedora. You will need an account to submit translations." msgstr "Guix - это большой проект, состоящий из нескольких компонентов, которые можно перевести. Мы координируем работу по переводу на @uref{https://translate.fedoraproject.org/projects/guix/,Weblate instance}, размещенном нашими друзьями в Fedora. Для отправки переводов вам потребуется учетная запись." #. type: Plain text #: guix-git/doc/contributing.texi:3352 msgid "Some of the software packaged in Guix also contain translations. We do not host a translation platform for them. If you want to translate a package provided by Guix, you should contact their developers or find the information on their website. As an example, you can find the homepage of the @code{hello} package by typing @command{guix show hello}. On the ``homepage'' line, you will see @url{https://www.gnu.org/software/hello/} as the homepage." msgstr "Некоторое программное обеспечение, упакованное в Guix, также содержит переводы. Мы не хостим для них платформу для перевода. Если вы хотите перевести пакет, предоставленный Guix, вам следует связаться с их разработчиками или найти информацию на их веб-сайтах. Например, вы можете найти домашнюю страницу пакета @code{hello}, набрав @command{guix show hello}. В строке ``домашняя страница'' вы увидите @url{https://www.gnu.org/software/hello/} в качестве домашней страницы." #. type: Plain text #: guix-git/doc/contributing.texi:3357 msgid "Many GNU and non-GNU packages can be translated on the @uref{https://translationproject.org,Translation Project}. Some projects with multiple components have their own platform. For instance, GNOME has its own platform, @uref{https://l10n.gnome.org/,Damned Lies}." msgstr "Многие пакеты GNU и не-GNU можно перевести на @uref{https: //translationproject.org,Translation Project}. Некоторые проекты с несколькими компонентами имеют собственную платформу. Например, GNOME имеет собственную платформу @uref{https://l10n.gnome.org/,Damned Lies}." #. type: Plain text #: guix-git/doc/contributing.texi:3359 msgid "Guix has five components hosted on Weblate." msgstr "Guix состоит из пяти компонентов, размещенных на Weblate." #. type: item #: guix-git/doc/contributing.texi:3361 #, no-wrap msgid "@code{guix} contains all the strings from the Guix software (the" msgstr "@code{guix} содержит все строки из программного обеспечения Guix (" #. type: itemize #: guix-git/doc/contributing.texi:3363 msgid "guided system installer, the package manager, etc), excluding packages." msgstr "установщик системы, менеджер пакетов и т.д.), за исключением пакетов." #. type: item #: guix-git/doc/contributing.texi:3363 #, no-wrap msgid "@code{packages} contains the synopsis (single-sentence description" msgstr "@code{packages} содержит синопсис (описание пакета из одного предложения" #. type: itemize #: guix-git/doc/contributing.texi:3365 msgid "of a package) and description (longer description) of packages in Guix." msgstr ") и (более подробное) описание пакетов в Guix." #. type: item #: guix-git/doc/contributing.texi:3365 #, no-wrap msgid "@code{website} contains the official Guix website, except for" msgstr "@code{website} содержит официальный сайт Guix, за исключением" #. type: itemize #: guix-git/doc/contributing.texi:3367 msgid "blog posts and multimedia content." msgstr "сообщения в блогах и мультимедийный контент." #. type: item #: guix-git/doc/contributing.texi:3367 #, no-wrap msgid "@code{documentation-manual} corresponds to this manual." msgstr "@code{documentation-manual} соответствует этому руководству." #. type: item #: guix-git/doc/contributing.texi:3368 #, no-wrap msgid "@code{documentation-cookbook} is the component for the cookbook." msgstr "@code{documentation-cookbook} - компонент для поваренной книги." #. type: subsubheading #: guix-git/doc/contributing.texi:3371 #, no-wrap msgid "General Directions" msgstr "поколения" #. type: Plain text #: guix-git/doc/contributing.texi:3379 msgid "Once you get an account, you should be able to select a component from @uref{https://translate.fedoraproject.org/projects/guix/,the guix project}, and select a language. If your language does not appear in the list, go to the bottom and click on the ``Start new translation'' button. Select the language you want to translate to from the list, to start your new translation." msgstr "После создания учетной записи вы сможете выбрать компонент из @uref{https://translate.fedoraproject.org/projects/guix/,the guix project} и выбрать язык. Если вашего языка нет в списке, пройдите вниз и нажмите кнопку ``Начать новый перевод''. Выберите из списка язык, на который вы хотите перевести, чтобы начать новый перевод." #. type: Plain text #: guix-git/doc/contributing.texi:3384 msgid "Like lots of other free software packages, Guix uses @uref{https://www.gnu.org/software/gettext,GNU Gettext} for its translations, with which translatable strings are extracted from the source code to so-called PO files." msgstr "Как и многие другие бесплатные программные пакеты, Guix использует @uref{https://www.gnu.org/software/gettext,GNU Gettext} для своих переводов, с помощью которых переводимые строки извлекаются из исходного кода в так называемые PO-файлы." #. type: Plain text #: guix-git/doc/contributing.texi:3395 msgid "Even though PO files are text files, changes should not be made with a text editor but with PO editing software. Weblate integrates PO editing functionality. Alternatively, translators can use any of various free-software tools for filling in translations, of which @uref{https://poedit.net/,Poedit} is one example, and (after logging in) @uref{https://docs.weblate.org/en/latest/user/files.html,upload} the changed file. There is also a special @uref{https://www.emacswiki.org/emacs/PoMode,PO editing mode} for users of GNU Emacs. Over time translators find out what software they are happy with and what features they need." msgstr "Несмотря на то, что файлы PO являются текстовыми файлами, изменения следует вносить не с помощью текстового редактора, а с помощью программного обеспечения для редактирования PO. Weblate интегрирует функции редактирования PO. В качестве альтернативы переводчики могут использовать любой из различных бесплатных программных инструментов для заполнения переводов, одним из примеров которых является @uref{https://poedit.net/,Poedit} и (после входа в систему) @uref{https://docs.weblate.org/en/latest/user/files.html, загрузить} измененный файл. Существует также специальный @uref {https://www.emacswiki.org/emacs/PoMode,PO режим редактирования} для пользователей GNU Emacs. Со временем переводчики узнают, какое программное обеспечение им нравится и какие функции им нужны." #. type: Plain text #: guix-git/doc/contributing.texi:3400 msgid "On Weblate, you will find various links to the editor, that will show various subsets (or all) of the strings. Have a look around and at the @uref{https://docs.weblate.org/en/latest/,documentation} to familiarize yourself with the platform." msgstr "На Weblate вы найдете различные ссылки на редактор, который покажет различные подмножества (или все) строк (-и). Посмотрите вокруг и на @uref{https://docs.weblate.org/en/latest/,documentation}, чтобы ознакомиться с платформой." #. type: subsubheading #: guix-git/doc/contributing.texi:3401 #, no-wrap msgid "Translation Components" msgstr "Компоненты перевода" #. type: Plain text #: guix-git/doc/contributing.texi:3406 msgid "In this section, we provide more detailed guidance on the translation process, as well as details on what you should or should not do. When in doubt, please contact us, we will be happy to help!" msgstr "В этом разделе мы даем более подробные инструкции по процессу перевода, а также подробности о том, что вам следует или не следует делать. В случае сомнений свяжитесь с нами, мы будем рады помочь!" #. type: table #: guix-git/doc/contributing.texi:3413 #, fuzzy #| msgid "Guix is written in the Guile programming language, and some strings contain special formating that is interpreted by Guile. These special formating should be highlighted by Weblate. They start with @code{~} followed by one or more characters." msgid "Guix is written in the Guile programming language, and some strings contain special formatting that is interpreted by Guile. These special formatting should be highlighted by Weblate. They start with @code{~} followed by one or more characters." msgstr "Guix написан на языке программирования Guile, и некоторые строки содержат специальный формат, который интерпретируется Guile. Weblate должен выделить эти особенности форматирования. Они начинаются с @code{~}, за которым следует один или несколько символов." #. type: table #: guix-git/doc/contributing.texi:3422 #, fuzzy #| msgid "When printing the string, Guile replaces the special formating symbols with actual values. For instance, the string @samp{ambiguous package specification `~a'} would be substituted to contain said package specification instead of @code{~a}. To properly translate this string, you must keep the formating code in your translation, although you can place it where it makes sense in your language. For instance, the French translation says @samp{spécification du paquet « ~a » ambiguë} because the adjective needs to be placed in the end of the sentence." msgid "When printing the string, Guile replaces the special formatting symbols with actual values. For instance, the string @samp{ambiguous package specification `~a'} would be substituted to contain said package specification instead of @code{~a}. To properly translate this string, you must keep the formatting code in your translation, although you can place it where it makes sense in your language. For instance, the French translation says @samp{spécification du paquet « ~a » ambiguë} because the adjective needs to be placed in the end of the sentence." msgstr "При печати строки Guile заменяет специальные символы форматирования фактическими значениями. Например, строка @samp{ambiguous package specification `~a'} будет заменена на указанную спецификацию пакета вместо @code{~a}. Чтобы правильно перевести эту строку, вы должны сохранить код форматирования в своем переводе, хотя вы можете разместить его там, где это имеет смысл на вашем языке. Например, во французском переводе написано @samp{spécification du paquet « ~a » ambiguë}, потому что прилагательное нужно поставить в конец предложения." #. type: table #: guix-git/doc/contributing.texi:3426 #, fuzzy #| msgid "If there are multiple formating symbols, make sure to respect the order. Guile does not know in which order you intended the string to be read, so it will substitute the symbols in the same order as the English sentence." msgid "If there are multiple formatting symbols, make sure to respect the order. Guile does not know in which order you intended the string to be read, so it will substitute the symbols in the same order as the English sentence." msgstr "Если имеется несколько символов форматирования, обязательно соблюдайте порядок. Guile не знает, в каком порядке вы хотели прочитать строку, поэтому заменит символы в том же порядке, что и английское предложение." #. type: table #: guix-git/doc/contributing.texi:3434 #, fuzzy #| msgid "As an example, you cannot translate @samp{package '~a' has been superseded by '~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would be reversed. If @var{foo} is superseded by @var{bar}, the translation would read @samp{'foo' superseeds package 'bar'}. To work around this problem, it is possible to use more advanced formating to select a given piece of data, instead of following the default English order. @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, for more information on formating in Guile." msgid "As an example, you cannot translate @samp{package '~a' has been superseded by '~a'} by @samp{'~a' superseeds package '~a'}, because the meaning would be reversed. If @var{foo} is superseded by @var{bar}, the translation would read @samp{'foo' superseeds package 'bar'}. To work around this problem, it is possible to use more advanced formatting to select a given piece of data, instead of following the default English order. @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, for more information on formatting in Guile." msgstr "Например, вы не можете перевести @samp{package '~a' has been superseded by '~a'} на @samp{'~a' superseeds package '~a'}, потому что значение будет обратным. Если @var{foo} заменяется на @var{bar}, перевод будет выглядеть как @samp{'foo' заменяется пакетом 'bar'}. Чтобы обойти эту проблему, можно использовать более сложное форматирование для выбора заданного фрагмента данных вместо того, чтобы следовать английскому порядку по умолчанию. См. @xref{Formatted Output,,, guile, GNU Guile Reference Manual}, для получения дополнительной информации о форматировании в Guile." #. #-#-#-#-# contributing.pot (guix manual checkout) #-#-#-#-# #. type: item #. #-#-#-#-# guix.pot (guix manual checkout) #-#-#-#-# #. type: cindex #: guix-git/doc/contributing.texi:3435 guix-git/doc/guix.texi:2883 #, no-wrap msgid "packages" msgstr "пакеты" #. type: table #: guix-git/doc/contributing.texi:3440 msgid "Package descriptions occasionally contain Texinfo markup (@pxref{Synopses and Descriptions}). Texinfo markup looks like @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}}, etc. When translating, please leave markup as is." msgstr "Описания пакетов иногда содержат разметку Texinfo (@pxref{Synopses and Descriptions}). Разметка Texinfo выглядит как @samp{@@code@{rm -rf@}}, @samp{@@emph@{important@}} и т.д. При переводе оставляйте разметку как есть." #. type: table #: guix-git/doc/contributing.texi:3449 #, fuzzy #| msgid "The characters after ``@@'' form the name of the markup, and the text between ``@{'' and ``@}'' is its content. In general, you should not translate the content of markup like @code{@@code}, as it contains literal code that do not change with language. You can translate the content of formating markup such as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. However, do not translate the name of the markup, or it will not be recognized. Do not translate the word after @code{@@end}, it is the name of the markup that is closed at this position (e.g.@: @code{@@itemize ... @@end itemize})." msgid "The characters after ``@@'' form the name of the markup, and the text between ``@{'' and ``@}'' is its content. In general, you should not translate the content of markup like @code{@@code}, as it contains literal code that do not change with language. You can translate the content of formatting markup such as @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. However, do not translate the name of the markup, or it will not be recognized. Do not translate the word after @code{@@end}, it is the name of the markup that is closed at this position (e.g.@: @code{@@itemize ... @@end itemize})." msgstr "Символы после ``@@'' образуют имя разметки, а текст между ``@{'' и ``@}''---это ее содержимое. В общем, вам не следует переводить содержимое, например, разметки @code{@@code}, поскольку оно содержит код, который не меняется в зависимости от языка. Вы можете переводить содержание форматирующей разметки, например @code{@@emph}, @code{@@i}, @code{@@itemize}, @code{@@item}. Однако не переводите название разметки, иначе оно не будет распознано. Не переводите слово после @code{@@end}, это имя разметки, которая закрывается в этой позиции (например, @: @code{@@itemize ... @@end itemize})." #. type: item #: guix-git/doc/contributing.texi:3450 #, no-wrap msgid "documentation-manual and documentation-cookbook" msgstr "documentation-manual and documentation-cookbook" #. type: table #: guix-git/doc/contributing.texi:3454 msgid "The first step to ensure a successful translation of the manual is to find and translate the following strings @emph{first}:" msgstr "Первый шаг к успешному переводу руководства---найти и перевести следующие строки @emph{первыми}:" #. type: item #: guix-git/doc/contributing.texi:3456 #, no-wrap msgid "@code{version.texi}: Translate this string as @code{version-xx.texi}," msgstr "@code{version.texi}: переведите эту строку как @code{version-xx.texi}," #. type: itemize #: guix-git/doc/contributing.texi:3459 msgid "where @code{xx} is your language code (the one shown in the URL on weblate)." msgstr "где @code{xx}---код вашего языка (тот, который показан в URL-адресе на weblate)." #. type: item #: guix-git/doc/contributing.texi:3459 #, no-wrap msgid "@code{contributing.texi}: Translate this string as" msgstr "@code{contributing.texi}: переведите эту строку как" #. type: itemize #: guix-git/doc/contributing.texi:3461 msgid "@code{contributing.xx.texi}, where @code{xx} is the same language code." msgstr "@code{contributing.xx.texi}, где @code {xx} - код того же языка." #. type: item #: guix-git/doc/contributing.texi:3461 #, no-wrap msgid "@code{Top}: Do not translate this string, it is important for Texinfo." msgstr "@code{Top}: Не переводите эту строку, это важно для Texinfo." #. type: itemize #: guix-git/doc/contributing.texi:3464 msgid "If you translate it, the document will be empty (missing a Top node). Please look for it, and register @code{Top} as its translation." msgstr "Если вы переведете его, документ будет пустым (missing a Top node). Найдите его и зарегистрируйте @code{Top} в качестве его перевода." #. type: table #: guix-git/doc/contributing.texi:3469 msgid "Translating these strings first ensure we can include your translation in the guix repository without breaking the make process or the @command{guix pull} machinery." msgstr "Перевод этих строк гарантирует, что мы сможем включить ваш перевод в репозиторий guix, не нарушая процесс make или механизм @command{guix pull}." #. type: table #: guix-git/doc/contributing.texi:3476 #, fuzzy #| msgid "The manual and the cookbook both use Texinfo. As for @code{packages}, please keep Texinfo markup as is. There are more possible markup types in the manual than in the package descriptions. In general, do not translate the content of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc. You should translate the content of formating markup such as @code{@@emph}, @code{@@i}, etc." msgid "The manual and the cookbook both use Texinfo. As for @code{packages}, please keep Texinfo markup as is. There are more possible markup types in the manual than in the package descriptions. In general, do not translate the content of @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value}, etc. You should translate the content of formatting markup such as @code{@@emph}, @code{@@i}, etc." msgstr "И в руководстве, и в cookbook используется Texinfo. Что касается @code{packages}, пожалуйста, оставьте разметку Texinfo как есть. В руководстве больше возможных типов разметки, чем в описаниях пакетов. Как правило, не переводите содержимое @code{@@code}, @code{@@file}, @code{@@var}, @code{@@value} и т.д. Вы должны переводить содержимое разметок форматирования, например @code{@@emph}, @code{@@i} и т.д." #. type: table #: guix-git/doc/contributing.texi:3484 #, fuzzy #| msgid "The manual contains sections that can be refered to by name by @code{@@ref}, @code{@@xref} and @code{@@pxref}. We have a mechanism in place so you do not have to translate their content. If you keep the English title, we will automatically replace it with your translation of that title. This ensures that Texinfo will always be able to find the node. If you decide to change the translation of the title, the references will automatically be updated and you will not have to update them all yourself." msgid "The manual contains sections that can be referred to by name by @code{@@ref}, @code{@@xref} and @code{@@pxref}. We have a mechanism in place so you do not have to translate their content. If you keep the English title, we will automatically replace it with your translation of that title. This ensures that Texinfo will always be able to find the node. If you decide to change the translation of the title, the references will automatically be updated and you will not have to update them all yourself." msgstr "В руководстве есть разделы, на которые можно ссылаться по имени с помощью @code{@@ref}, @code{@@xref} и @code{@@pxref}. У нас есть механизм, позволяющий не переводить их содержание. Если вы сохраните заголовок на английском языке, мы автоматически заменим его вашим переводом этого заголовка. Это гарантирует, что Texinfo всегда сможет найти узел. Если вы решите изменить перевод заголовка, ссылки будут обновлены автоматически, и вам не придется обновлять их все самостоятельно." #. type: table #: guix-git/doc/contributing.texi:3494 msgid "When translating references from the cookbook to the manual, you need to replace the name of the manual and the name of the section. For instance, to translate @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, you would replace @code{Defining Packages} with the title of that section in the translated manual @emph{only} if that title is translated. If the title is not translated in your language yet, do not translate it here, or the link will be broken. Replace @code{guix} with @code{guix.xx} where @code{xx} is your language code. @code{GNU Guix Reference Manual} is the text of the link. You can translate it however you wish." msgstr "При переводе ссылок из cookbook в мануал нужно заменить название мануала и название раздела. Например, чтобы перевести @code{@@pxref@{Defining Packages,,, guix, GNU Guix Reference Manual@}}, вы должны заменить@code{Defining Packages} заголовком этого раздела в переведенном руководстве @emph{только} если это название переведено. Если название еще не переведено на ваш язык, не переводите его здесь, иначе ссылка будет неработающей. Замените @code{guix} на @code{guix.xx}, где @code{xx} - код вашего языка. @code{GNU Guix Reference Manual}---это текст ссылки. Вы можете перевести его как хотите." #. type: item #: guix-git/doc/contributing.texi:3495 #, no-wrap msgid "website" msgstr "официальный веб-сайт" #. type: table #: guix-git/doc/contributing.texi:3502 msgid "The website pages are written using SXML, an s-expression version of HTML, the basic language of the web. We have a process to extract translatable strings from the source, and replace complex s-expressions with a more familiar XML markup, where each markup is numbered. Translators can arbitrarily change the ordering, as in the following example." msgstr "Страницы веб-сайта написаны с использованием SXML, версии HTML (основного языка Интернета) с s-выражениями. У нас есть процесс извлечения переводимых строк из источника и замены сложных s-выражений на более знакомую разметку XML, где каждая разметка пронумерована. Переводчики могут произвольно изменять порядок, как в следующем примере." #. type: example #: guix-git/doc/contributing.texi:3509 #, no-wrap msgid "" "#. TRANSLATORS: Defining Packages is a section name\n" "#. in the English (en) manual.\n" "#: apps/base/templates/about.scm:64\n" "msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n" msgstr "" "#. TRANSLATORS: Defining Packages is a section name\n" "#. in the English (en) manual.\n" "#: apps/base/templates/about.scm:64\n" "msgid \"Packages are <1>defined<1.1>en</1.1><1.2>Defining-Packages.html</1.2></1> as native <2>Guile</2> modules.\"\n" "msgstr \"Pakete werden als reine <2>Guile</2>-Module <1>definiert<1.1>de</1.1><1.2>Pakete-definieren.html</1.2></1>.\"\n" #. type: table #: guix-git/doc/contributing.texi:3512 msgid "Note that you need to include the same markups. You cannot skip any." msgstr "Обратите внимание, что вам нужно включить такие же разметки. Вы не можете ничего пропустить." #. type: Plain text #: guix-git/doc/contributing.texi:3520 msgid "In case you make a mistake, the component might fail to build properly with your language, or even make guix pull fail. To prevent that, we have a process in place to check the content of the files before pushing to our repository. We will not be able to update the translation for your language in Guix, so we will notify you (through weblate and/or by email) so you get a chance to fix the issue." msgstr "Если вы допустили ошибку, компонент может не работать должным образом с вашим языком или даже привести к сбою guix pull. Чтобы предотвратить это, у нас есть процесс проверки содержимого файлов перед отправкой в наш репозиторий. Если, мы не сможем обновить перевод для вашего языка в Guix, мы уведомим вас (через веб-сайт и/или по электронной почте), чтобы решить проблему." #. type: subsubheading #: guix-git/doc/contributing.texi:3521 #, no-wrap msgid "Outside of Weblate" msgstr "Вне Weblate" #. type: Plain text #: guix-git/doc/contributing.texi:3524 msgid "Currently, some parts of Guix cannot be translated on Weblate, help wanted!" msgstr "В настоящее время некоторые части Guix не могут быть переведены на Weblate---требуется помощь!" #. type: item #: guix-git/doc/contributing.texi:3526 #, no-wrap msgid "@command{guix pull} news can be translated in @file{news.scm}, but is not" msgstr "@command{guix pull} новости можно перевести в @file{news.scm}, но не" #. type: itemize #: guix-git/doc/contributing.texi:3532 msgid "available from Weblate. If you want to provide a translation, you can prepare a patch as described above, or simply send us your translation with the name of the news entry you translated and your language. @xref{Writing Channel News}, for more information about channel news." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3532 #, no-wrap msgid "Guix blog posts cannot currently be translated." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3533 #, no-wrap msgid "The installer script (for foreign distributions) is entirely in English." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3534 #, no-wrap msgid "Some of the libraries Guix uses cannot be translated or are translated" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3536 msgid "outside of the Guix project. Guile itself is not internationalized." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3536 #, no-wrap msgid "Other manuals linked from this manual or the cookbook might not be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3538 msgid "translated." msgstr "транзакции" #. type: subsubheading #: guix-git/doc/contributing.texi:3540 #, no-wrap msgid "Conditions for Inclusion" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3547 msgid "There are no conditions for adding new translations of the @code{guix} and @code{guix-packages} components, other than they need at least one translated string. New languages will be added to Guix as soon as possible. The files may be removed if they fall out of sync and have no more translated strings." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3553 msgid "Given that the web site is dedicated to new users, we want its translation to be as complete as possible before we include it in the language menu. For a new language to be included, it needs to reach at least 80% completion. When a language is included, it may be removed in the future if it stays out of sync and falls below 60% completion." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3561 msgid "The manual and cookbook are automatically added in the default compilation target. Every time we synchronize translations, developers need to recompile all the translated manuals and cookbooks. This is useless for what is essentially the English manual or cookbook. Therefore, we will only include a new language when it reaches 10% completion in the component. When a language is included, it may be removed in the future if it stays out of sync and falls below 5% completion." msgstr "" #. type: subsubheading #: guix-git/doc/contributing.texi:3562 #, no-wrap msgid "Translation Infrastructure" msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3573 msgid "Weblate is backed by a git repository from which it discovers new strings to translate and pushes new and updated translations. Normally, it would be enough to give it commit access to our repositories. However, we decided to use a separate repository for two reasons. First, we would have to give Weblate commit access and authorize its signing key, but we do not trust it in the same way we trust guix developers, especially since we do not manage the instance ourselves. Second, if translators mess something up, it can break the generation of the website and/or guix pull for all our users, independently of their language." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3577 msgid "For these reasons, we use a dedicated repository to host translations, and we synchronize it with our guix and artworks repositories after checking no issue was introduced in the translation." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3583 msgid "Developers can download the latest PO files from weblate in the Guix repository by running the @command{make download-po} command. It will automatically download the latest files from weblate, reformat them to a canonical form, and check they do not contain issues. The manual needs to be built again to check for additional issues that might crash Texinfo." msgstr "" #. type: Plain text #: guix-git/doc/contributing.texi:3587 msgid "Before pushing new translation files, developers should add them to the make machinery so the translations are actually available. The process differs for the various components." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3589 #, no-wrap msgid "New po files for the @code{guix} and @code{packages} components must" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3592 msgid "be registered by adding the new language to @file{po/guix/LINGUAS} or @file{po/packages/LINGUAS}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3592 #, no-wrap msgid "New po files for the @code{documentation-manual} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3598 msgid "registered by adding the file name to @code{DOC_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix.xx.texi} and @file{%D%/contributing.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3598 #, no-wrap msgid "New po files for the @code{documentation-cookbook} component must be" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3604 msgid "registered by adding the file name to @code{DOC_COOKBOOK_PO_FILES} in @file{po/doc/local.mk}, the generated @file{%D%/guix-cookbook.xx.texi} manual to @code{info_TEXINFOS} in @file{doc/local.mk} and the generated @file{%D%/guix-cookbook.xx.texi} to @code{TRANSLATED_INFO} also in @file{doc/local.mk}." msgstr "" #. type: item #: guix-git/doc/contributing.texi:3604 #, no-wrap msgid "New po files for the @code{website} component must be added to the" msgstr "" #. type: itemize #: guix-git/doc/contributing.texi:3609 msgid "@code{guix-artwork} repository, in @file{website/po/}. @file{website/po/LINGUAS} and @file{website/po/ietf-tags.scm} must be updated accordingly (see @file{website/i18n-howto.txt} for more information on the process)." msgstr "" #. type: Plain text #: guix-git/doc/guix.texi:7 msgid "@documentencoding UTF-8" msgstr "@documentencoding UTF-8" #. type: title #: guix-git/doc/guix.texi:7 guix-git/doc/guix.texi:165 #, no-wrap msgid "GNU Guix Reference Manual" msgstr "Руководство по GNU Guix" #. type: include #: guix-git/doc/guix.texi:10 #, no-wrap msgid "version.texi" msgstr "version-ru.texi" #. type: copying #: guix-git/doc/guix.texi:137 #, fuzzy msgid "Copyright @copyright{} 2012-2024 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016, 2024 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021, 2023 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024 Maxim Cournoyer@* Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020, 2023, 2024 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018, 2021, 2023 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020, 2022, 2023, 2024 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019, 2020, 2021, 2022 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Liliana Marie Prikler@* Copyright @copyright{} 2019, 2020, 2021, 2022, 2023 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021, 2022 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020, 2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* Copyright @copyright{} 2020 Edgar Vincent@* Copyright @copyright{} 2021, 2022 Maxime Devos@* Copyright @copyright{} 2021 B. Wilson@* Copyright @copyright{} 2021 Xinglu Chen@* Copyright @copyright{} 2021 Raghav Gururajan@* Copyright @copyright{} 2021 Domagoj Stolfa@* Copyright @copyright{} 2021 Hui Lu@* Copyright @copyright{} 2021 pukkamustard@* Copyright @copyright{} 2021 Alice Brenon@* Copyright @copyright{} 2021-2023 Josselin Poiret@* Copyright @copyright{} 2021, 2023 muradm@* Copyright @copyright{} 2021, 2022 Andrew Tropin@* Copyright @copyright{} 2021 Sarah Morgensen@* Copyright @copyright{} 2022 Remco van 't Veer@* Copyright @copyright{} 2022 Aleksandr Vityazev@* Copyright @copyright{} 2022 Philip M@sup{c}Grath@* Copyright @copyright{} 2022 Karl Hallsby@* Copyright @copyright{} 2022 Justin Veilleux@* Copyright @copyright{} 2022 Reily Siegel@* Copyright @copyright{} 2022 Simon Streit@* Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* Copyright @copyright{} 2023 Tanguy Le Carrour@* Copyright @copyright{} 2023, 2024 Zheng Junjie@* Copyright @copyright{} 2023 Brian Cully@* Copyright @copyright{} 2023 Felix Lechner@* Copyright @copyright{} 2023 Foundation Devices, Inc.@* Copyright @copyright{} 2023 Thomas Ieong@* Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023, 2024 Tomas Volf@* Copyright @copyright{} 2024 Herman Rimm@* Copyright @copyright{} 2024 Matthew Trzcinski@* Copyright @copyright{} 2024 Richard Sent@* Copyright @copyright{} 2024 Dariqq@* Copyright @copyright{} 2024 Denis 'GNUtoo' Carikli@* Copyright @copyright{} 2024 Fabio Natali@* Copyright @copyright{} 2024 Arnaud Daby-Seesaram@* Copyright @copyright{} 2024 Nigko Yerden@* Copyright @copyright{} 2024 Troy Figiel@* Copyright @copyright{} 2024 Sharlatan Hellseher@*" msgstr "Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Julien Lepiller@* Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2020 Mathieu Othacehe@* Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 Christopher Allan Webber@* Copyright @copyright{} 2017, 2018, 2019, 2020 Marius Bakke@* Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@* Copyright @copyright{} 2017, 2019, 2020 Maxim Cournoyer@* Copyright @copyright{} 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice@* Copyright @copyright{} 2017 George Clemmer@* Copyright @copyright{} 2017 Andy Wingo@* Copyright @copyright{} 2017, 2018, 2019, 2020 Arun Isaac@* Copyright @copyright{} 2017 nee@* Copyright @copyright{} 2018 Rutger Helling@* Copyright @copyright{} 2018 Oleg Pykhalov@* Copyright @copyright{} 2018 Mike Gerwitz@* Copyright @copyright{} 2018 Pierre-Antoine Rouby@* Copyright @copyright{} 2018, 2019 Gábor Boskovits@* Copyright @copyright{} 2018, 2019, 2020 Florian Pelz@* Copyright @copyright{} 2018 Laura Lazzati@* Copyright @copyright{} 2018 Alex Vong@* Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* Copyright @copyright{} 2019 Kyle Andrews@* Copyright @copyright{} 2019 Alex Griffin@* Copyright @copyright{} 2019 Guillaume Le Vaillant@* Copyright @copyright{} 2020 Leo Prikler@* Copyright @copyright{} 2019, 2020 Simon Tournier@* Copyright @copyright{} 2020 Wiktor Żelazny@* Copyright @copyright{} 2020 Damien Cassou@* Copyright @copyright{} 2020 Jakub Kądziołka@* Copyright @copyright{} 2020 Jack Hill@* Copyright @copyright{} 2020 Naga Malleswari@* Copyright @copyright{} 2020 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* Copyright @copyright{} 2020 André Batista@*" #. type: copying #: guix-git/doc/guix.texi:144 msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''." msgstr "Разрешено копирование, распространение и/или модификация этого документа на условиях лицензии свободной документации GNU (GNU FDL) версии 1.3 или любой более поздней версии, опубликованной Фондом свободного программного обеспечения (FSF), исключая неизменяемые секции, исключая тексты, размещенные на переплёте и задней стороне обложки. Копия лицензии включена в документ в разделе под названием \"GNU Free Documentation Licens\"." #. type: dircategory #: guix-git/doc/guix.texi:146 #, no-wrap msgid "System administration" msgstr "Администрирование системы" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Guix: (guix)" msgstr "Guix: (guix)" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage installed software and system configuration." msgstr "Управление установленным ПО и настройка системы." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix package: (guix)Invoking guix package" msgstr "guix package: (guix)Запуск guix package" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Installing, removing, and upgrading packages." msgstr "Установка, удаление и обновление пакетов." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix gc: (guix)Invoking guix gc" msgstr "guix gc: (guix)Запуск guix gc" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Reclaiming unused disk space." msgstr "Освобождение неиспользуемого места на диске." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix pull: (guix)Invoking guix pull" msgstr "guix pull: (guix)Запуск guix pull" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Update the list of available packages." msgstr "Обновление списка доступных пакетов." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix system: (guix)Invoking guix system" msgstr "guix system: (guix)Запуск guix system" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage the operating system configuration." msgstr "Управление конфигурацией ОС." #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "guix deploy: (guix)Invoking guix deploy" msgstr "guix deploy: (guix)Запуск guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:154 msgid "Manage operating system configurations for remote hosts." msgstr "Управление конфигурациями ОС на удалённых машинах." #. type: dircategory #: guix-git/doc/guix.texi:156 #, no-wrap msgid "Software development" msgstr "Разработка программного обеспечения" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix shell: (guix)Invoking guix shell" msgstr "guix shell: (guix)Запуск guix shell" #. type: menuentry #: guix-git/doc/guix.texi:162 #, fuzzy #| msgid "replication, of software environments" msgid "Creating software environments." msgstr "повторение, окружения программного обеспечения" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix environment: (guix)Invoking guix environment" msgstr "guix environment: (guix)Запуск guix environment" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building development environments with Guix." msgstr "Сборка среды разработки с помощью Guix." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix build: (guix)Invoking guix build" msgstr "guix build: (guix)Запуск guix build" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Building packages." msgstr "Сборка пакетов." #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "guix pack: (guix)Invoking guix pack" msgstr "guix pack: (guix)Запуск guix pack" #. type: menuentry #: guix-git/doc/guix.texi:162 msgid "Creating binary bundles." msgstr "Создание бинарных пакетов." #. type: subtitle #: guix-git/doc/guix.texi:166 #, no-wrap msgid "Using the GNU Guix Functional Package Manager" msgstr "Использование функционального пакетного менеджера GNU Guix" #. type: author #: guix-git/doc/guix.texi:167 #, no-wrap msgid "The GNU Guix Developers" msgstr "Разработчики GNU Guix" #. type: titlepage #: guix-git/doc/guix.texi:173 msgid "Edition @value{EDITION} @* @value{UPDATED} @*" msgstr "Ревизия @value{EDITION} @* @value{UPDATED} @*" #. type: node #: guix-git/doc/guix.texi:180 #, no-wrap msgid "Top" msgstr "Top" #. type: top #: guix-git/doc/guix.texi:181 #, no-wrap msgid "GNU Guix" msgstr "GNU Guix" #. type: Plain text #: guix-git/doc/guix.texi:185 msgid "This document describes GNU Guix version @value{VERSION}, a functional package management tool written for the GNU system." msgstr "В этом документе описывается GNU Guix версии @value{VERSION} — менеджер пакетов, написанный для системы GNU." #. You can replace the following paragraph with information on #. type: Plain text #: guix-git/doc/guix.texi:198 #, fuzzy #| msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you would like to translate it in your native language, consider joining @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate} (@pxref{Translating Guix})." msgid "This manual is also available in Simplified Chinese (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), French (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), German (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), Spanish (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}), Brazilian Portuguese (@pxref{Top,,, guix.pt_BR, Manual de referência do GNU Guix}), and Russian (@pxref{Top,,, guix.ru, Руководство GNU Guix}). If you would like to translate it in your native language, consider joining @uref{https://translate.fedoraproject.org/projects/guix/documentation-manual, Weblate} (@pxref{Translating Guix})." msgstr "Это руководство доступно также на (упрощённом) китайском языке (@pxref{Top,,, guix.zh_CN, GNU Guix参考手册}), на французском (@pxref{Top,,, guix.fr, Manuel de référence de GNU Guix}), немецком (@pxref{Top,,, guix.de, Referenzhandbuch zu GNU Guix}), испанском (@pxref{Top,,, guix.es, Manual de referencia de GNU Guix}) и русском (@pxref{Top,,, guix.ru, Руководство по GNU Guix}) языках. Если вы хотите перевести его на свой язык, присоединяйтесь к Проекту переводов @uref{https://translationproject.org/domain/guix-manual.html, Проект переводов}." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:232 #: guix-git/doc/guix.texi:501 guix-git/doc/guix.texi:502 #, no-wrap msgid "Introduction" msgstr "Введение" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "What is Guix about?" msgstr "Что такое Guix?" #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:237 #: guix-git/doc/guix.texi:698 guix-git/doc/guix.texi:699 #, no-wrap msgid "Installation" msgstr "Установка" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Installing Guix." msgstr "Установка Guix." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:251 #: guix-git/doc/guix.texi:1970 guix-git/doc/guix.texi:1971 #, no-wrap msgid "System Installation" msgstr "Установка системы" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Installing the whole operating system." msgstr "Полная установка операционной системы." #. type: section #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:2681 #: guix-git/doc/guix.texi:2682 guix-git/doc/guix.texi:17095 #, no-wrap msgid "Getting Started" msgstr "Начало работы" #. type: menuentry #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:387 #: guix-git/doc/guix.texi:17092 msgid "Your first steps." msgstr "Прервые шаги." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:268 #: guix-git/doc/guix.texi:2880 guix-git/doc/guix.texi:2881 #, no-wrap msgid "Package Management" msgstr "Управление пакетами" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Package installation, upgrade, etc." msgstr "Установка пакетов, обновление и т.д." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:292 #: guix-git/doc/guix.texi:5188 guix-git/doc/guix.texi:5189 #, no-wrap msgid "Channels" msgstr "Каналы" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Customizing the package collection." msgstr "Настройка коллекции пакетов." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:306 #: guix-git/doc/guix.texi:5888 guix-git/doc/guix.texi:5889 #, no-wrap msgid "Development" msgstr "Разработка" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Guix-aided software development." msgstr "Разработка программного обеспечения при поддержке Guix." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:314 #: guix-git/doc/guix.texi:7504 guix-git/doc/guix.texi:7505 #, no-wrap msgid "Programming Interface" msgstr "Программный интерфейс" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Using Guix in Scheme." msgstr "Использование Guix в Scheme." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:336 #: guix-git/doc/guix.texi:12902 guix-git/doc/guix.texi:12903 #, no-wrap msgid "Utilities" msgstr "Утилиты" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Package management commands." msgstr "Команды управления пакетами." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:362 #: guix-git/doc/guix.texi:16881 guix-git/doc/guix.texi:16882 #, no-wrap msgid "Foreign Architectures" msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Build for foreign architectures." msgstr "" #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:367 #: guix-git/doc/guix.texi:17047 guix-git/doc/guix.texi:17048 #, no-wrap msgid "System Configuration" msgstr "Настройка системы" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Configuring the operating system." msgstr "Конфигурирование операционной системы." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:441 #: guix-git/doc/guix.texi:45162 guix-git/doc/guix.texi:45163 #, no-wrap msgid "System Troubleshooting Tips" msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "When things don't go as planned." msgstr "" #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:445 #: guix-git/doc/guix.texi:45277 guix-git/doc/guix.texi:45278 #, fuzzy, no-wrap #| msgid "System Configuration" msgid "Home Configuration" msgstr "Конфигурирование системы" #. type: menuentry #: guix-git/doc/guix.texi:222 #, fuzzy #| msgid "Configuring the boot loader." msgid "Configuring the home environment." msgstr "Конфигурирование загрузчика диска." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:48293 #: guix-git/doc/guix.texi:48294 #, no-wrap msgid "Documentation" msgstr "Документация" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Browsing software user manuals." msgstr "Программы обзора пользовательских мануалов." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:472 #: guix-git/doc/guix.texi:48359 guix-git/doc/guix.texi:48360 #, fuzzy, no-wrap #| msgid "--list-formats" msgid "Platforms" msgstr "--list-roots" #. type: menuentry #: guix-git/doc/guix.texi:222 #, fuzzy #| msgid "Defining new packages." msgid "Defining platforms." msgstr "Описание новых пакетов." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:48493 #, fuzzy, no-wrap #| msgid "System calls" msgid "System Images" msgstr "Установка системы" #. type: menuentry #: guix-git/doc/guix.texi:222 #, fuzzy #| msgid "replication, of software environments" msgid "Creating system images." msgstr "повторение, окружения программного обеспечения" #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:488 #: guix-git/doc/guix.texi:49034 guix-git/doc/guix.texi:49035 #, no-wrap msgid "Installing Debugging Files" msgstr "Установка файлов отладки" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Feeding the debugger." msgstr "Запуск отладчика." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49189 #, no-wrap msgid "Using TeX and LaTeX" msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:222 #, fuzzy #| msgid "Testing Guix." msgid "Typesetting." msgstr "Тестирование Guix." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49308 #: guix-git/doc/guix.texi:49309 #, no-wrap msgid "Security Updates" msgstr "Обновления безопасности" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Deploying security fixes quickly." msgstr "Быстрое применение исправлений безопасности." #. type: chapter #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:493 #: guix-git/doc/guix.texi:49423 guix-git/doc/guix.texi:49424 #, no-wrap msgid "Bootstrapping" msgstr "Начальная загрузка" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "GNU/Linux built from scratch." msgstr "Сборка GNU/Linux с нуля." #. type: node #: guix-git/doc/guix.texi:222 guix-git/doc/guix.texi:49727 #, no-wrap msgid "Porting" msgstr "Портирование" #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Targeting another platform or kernel." msgstr "Перевод на другую платформу или ядро." #. type: menuentry #: guix-git/doc/guix.texi:222 msgid "Your help needed!" msgstr "Нужна ваша помощь!" #. type: chapter #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49777 #: guix-git/doc/guix.texi:49778 #, no-wrap msgid "Acknowledgments" msgstr "Благодарности" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Thanks!" msgstr "Спасибо!" #. type: appendix #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49799 #: guix-git/doc/guix.texi:49800 #, no-wrap msgid "GNU Free Documentation License" msgstr "Лицензия свободной документации GNU" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "The license of this manual." msgstr "Лицензия этого руководства." #. type: unnumbered #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49805 #: guix-git/doc/guix.texi:49806 #, no-wrap msgid "Concept Index" msgstr "Термины и указатели" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Concepts." msgstr "Понятия." #. type: unnumbered #: guix-git/doc/guix.texi:227 guix-git/doc/guix.texi:49809 #: guix-git/doc/guix.texi:49810 #, no-wrap msgid "Programming Index" msgstr "Программный индекс" #. type: menuentry #: guix-git/doc/guix.texi:227 msgid "Data types, functions, and variables." msgstr "Структуры данных, функции и переменные." #. type: menuentry #: guix-git/doc/guix.texi:230 msgid "--- The Detailed Node Listing ---" msgstr "--- Детальный список записей ---" #. type: section #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 #: guix-git/doc/guix.texi:530 guix-git/doc/guix.texi:531 #, no-wrap msgid "Managing Software the Guix Way" msgstr "Управление программным обеспечением Guix Way" #. type: menuentry #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 msgid "What's special." msgstr "Что особенного." #. type: section #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 #: guix-git/doc/guix.texi:585 guix-git/doc/guix.texi:586 #, no-wrap msgid "GNU Distribution" msgstr "Дистрибутив GNU" #. type: menuentry #: guix-git/doc/guix.texi:235 guix-git/doc/guix.texi:528 msgid "The packages and tools." msgstr "Пакеты и утилиты." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:733 guix-git/doc/guix.texi:734 #, no-wrap msgid "Binary Installation" msgstr "Бинарная установка" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Getting Guix running in no time!" msgstr "Запускаем Guix по-быстрому!" #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:245 #: guix-git/doc/guix.texi:731 guix-git/doc/guix.texi:865 #: guix-git/doc/guix.texi:866 #, no-wrap msgid "Setting Up the Daemon" msgstr "Настройка демона" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Preparing the build daemon's environment." msgstr "Подготовка окружения демона сборки." #. type: node #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1398 #, no-wrap msgid "Invoking guix-daemon" msgstr "Вызов guix-daemon" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Running the build daemon." msgstr "Запуск демона сборки." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1704 guix-git/doc/guix.texi:1705 #, no-wrap msgid "Application Setup" msgstr "Установка приложения" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Application-specific setup." msgstr "Установка в качестве приожения." #. type: section #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 #: guix-git/doc/guix.texi:1933 guix-git/doc/guix.texi:1934 #, no-wrap msgid "Upgrading Guix" msgstr "Обновление Guix" #. type: menuentry #: guix-git/doc/guix.texi:243 guix-git/doc/guix.texi:731 msgid "Upgrading Guix and its build daemon." msgstr "Обновление Guix и этого службы сборки." #. type: subsection #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:907 guix-git/doc/guix.texi:908 #, no-wrap msgid "Build Environment Setup" msgstr "Установка окружения сборки" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Preparing the isolated build environment." msgstr "Подготовка отдельного окружения сборки." #. type: node #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:1036 #, no-wrap msgid "Daemon Offload Setup" msgstr "Установка демона разгрузки" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Offloading builds to remote machines." msgstr "Разгрузка сборок по удалённым машинам." #. type: subsection #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 #: guix-git/doc/guix.texi:1288 guix-git/doc/guix.texi:1289 #, no-wrap msgid "SELinux Support" msgstr "Поддержка SELinux" #. type: menuentry #: guix-git/doc/guix.texi:249 guix-git/doc/guix.texi:905 msgid "Using an SELinux policy for the daemon." msgstr "Использование политики SELinux для демона." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:1343 #: guix-git/doc/guix.texi:2004 guix-git/doc/guix.texi:2006 #: guix-git/doc/guix.texi:2007 #, no-wrap msgid "Limitations" msgstr "Ограничения" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "What you can expect." msgstr "Что нужно учитывать." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2023 guix-git/doc/guix.texi:2024 #, no-wrap msgid "Hardware Considerations" msgstr "По поводу железа" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Supported hardware." msgstr "Поддерживаемое аппаратное обеспечение." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2061 guix-git/doc/guix.texi:2062 #, no-wrap msgid "USB Stick and DVD Installation" msgstr "Установочная флеш и DVD" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Preparing the installation medium." msgstr "Подготовка установочного носителя." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2152 guix-git/doc/guix.texi:2153 #, no-wrap msgid "Preparing for Installation" msgstr "Подготовка к установке" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Networking, partitioning, etc." msgstr "Сеть, разметка диска и т.д." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2175 guix-git/doc/guix.texi:2176 #, no-wrap msgid "Guided Graphical Installation" msgstr "Графическая установка в GUI" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Easy graphical installation." msgstr "Простая графическая установка." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:263 #: guix-git/doc/guix.texi:2004 guix-git/doc/guix.texi:2206 #: guix-git/doc/guix.texi:2207 #, no-wrap msgid "Manual Installation" msgstr "Ручная установка" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Manual installation for wizards." msgstr "Ручная установка для магов." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2577 guix-git/doc/guix.texi:2578 #, no-wrap msgid "After System Installation" msgstr "После установки системы" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "When installation succeeded." msgstr "Когда установка завершилась успешно." #. type: node #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2597 #, no-wrap msgid "Installing Guix in a VM" msgstr "Установка Guix на виртуальную машину" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "Guix System playground." msgstr "Площадка системы Guix." #. type: section #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 #: guix-git/doc/guix.texi:2648 guix-git/doc/guix.texi:2649 #, no-wrap msgid "Building the Installation Image" msgstr "Сборка установочного образа" #. type: menuentry #: guix-git/doc/guix.texi:261 guix-git/doc/guix.texi:2004 msgid "How this comes to be." msgstr "Как это происходит." #. type: node #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 #: guix-git/doc/guix.texi:2226 #, no-wrap msgid "Keyboard Layout and Networking and Partitioning" msgstr "Раскладка клавиатуры и работа с сетью и разбиение диска" #. type: menuentry #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 msgid "Initial setup." msgstr "Начальная установка." #. type: subsection #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 #: guix-git/doc/guix.texi:2488 guix-git/doc/guix.texi:2489 #, no-wrap msgid "Proceeding with the Installation" msgstr "В продолжении установки" #. type: menuentry #: guix-git/doc/guix.texi:266 guix-git/doc/guix.texi:2224 msgid "Installing." msgstr "Установка." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:2915 guix-git/doc/guix.texi:2916 #, no-wrap msgid "Features" msgstr "Особенности" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "How Guix will make your life brighter." msgstr "Как Guix делает жизнь ярче." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:3005 #, no-wrap msgid "Invoking guix package" msgstr "Вызов guix package" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Package installation, removal, etc." msgstr "Установка пакетов, удаление и т.д." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:282 #: guix-git/doc/guix.texi:2913 guix-git/doc/guix.texi:3618 #: guix-git/doc/guix.texi:3619 #, no-wrap msgid "Substitutes" msgstr "Подстановки" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Downloading pre-built binaries." msgstr "Скачивание собранных бинарников." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:3970 guix-git/doc/guix.texi:3971 #, no-wrap msgid "Packages with Multiple Outputs" msgstr "Пакеты со множественным выходом" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Single source package, multiple outputs." msgstr "Один исходный пакет, различные выходы." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4043 #, fuzzy, no-wrap #| msgid "Invoking guix lint" msgid "Invoking guix locate" msgstr "Запуск guix lint" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #, fuzzy #| msgid "colliding packages in profiles" msgid "Locating packages that provide a file." msgstr "соперничающие пакеты в профиле" #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4173 #, no-wrap msgid "Invoking guix gc" msgstr "Вызов guix gc" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Running the garbage collector." msgstr "Запуск сборщика мусора." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4397 #, no-wrap msgid "Invoking guix pull" msgstr "Запуск guix pull" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Fetching the latest Guix and distribution." msgstr "Закачка последнего Guix и дистрибуции." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4649 #, no-wrap msgid "Invoking guix time-machine" msgstr "Вызов guix time-machine" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Running an older revision of Guix." msgstr "Запуск более старых ревизий Guix." #. type: section #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4775 guix-git/doc/guix.texi:4776 #, no-wrap msgid "Inferiors" msgstr "Младшие версии" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Interacting with another revision of Guix." msgstr "Взаимодействие с другими ревизиями Guix." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4900 #, no-wrap msgid "Invoking guix describe" msgstr "Вызов guix describe" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Display information about your Guix revision." msgstr "Отобразить информацию о ревизии Guix." #. type: node #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 #: guix-git/doc/guix.texi:4996 #, no-wrap msgid "Invoking guix archive" msgstr "Вызов guix archive" #. type: menuentry #: guix-git/doc/guix.texi:280 guix-git/doc/guix.texi:2913 msgid "Exporting and importing store files." msgstr "Экспорт и импорт файлов склада." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3644 guix-git/doc/guix.texi:3645 #, fuzzy, no-wrap #| msgid "Official Substitute Server" msgid "Official Substitute Servers" msgstr "Официальный сервер подстановок" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "One particular source of substitutes." msgstr "Отдельный источник подстановок." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3674 guix-git/doc/guix.texi:3675 #, no-wrap msgid "Substitute Server Authorization" msgstr "Авторизация сервера подстановок" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How to enable or disable substitutes." msgstr "Как включить или отключить подстановки." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3744 guix-git/doc/guix.texi:3745 #, no-wrap msgid "Getting Substitutes from Other Servers" msgstr "Получение заменителей с других серверов" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "Substitute diversity." msgstr "Разнообразие заменителей." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3865 guix-git/doc/guix.texi:3866 #, no-wrap msgid "Substitute Authentication" msgstr "Аутентификация подстановок" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How Guix verifies substitutes." msgstr "Как Guix проверяет подстановки." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3900 guix-git/doc/guix.texi:3901 #, no-wrap msgid "Proxy Settings" msgstr "Настройки proxy" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How to get substitutes via proxy." msgstr "Как получить подстановки через proxy." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3912 guix-git/doc/guix.texi:3913 #, no-wrap msgid "Substitution Failure" msgstr "Ошибки при подстановке" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "What happens when substitution fails." msgstr "Что происходит, когда подстановка завершается ошибкой." #. type: subsection #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 #: guix-git/doc/guix.texi:3940 guix-git/doc/guix.texi:3941 #, no-wrap msgid "On Trusting Binaries" msgstr "Касательно проверенных бинарников" #. type: menuentry #: guix-git/doc/guix.texi:290 guix-git/doc/guix.texi:3642 msgid "How can you trust that binary blob?" msgstr "Как можно доверять определённому бинарному блоку?" #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5222 guix-git/doc/guix.texi:5223 #, no-wrap msgid "Specifying Additional Channels" msgstr "Указание дополнительных каналов" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Extending the package collection." msgstr "Расширение коллекции пакетов." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5268 guix-git/doc/guix.texi:5269 #, no-wrap msgid "Using a Custom Guix Channel" msgstr "Использование отдельного канала Guix" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Using a customized Guix." msgstr "Использование кастомизированного Guix." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5309 guix-git/doc/guix.texi:5310 #, no-wrap msgid "Replicating Guix" msgstr "Копирование Guix" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Running the @emph{exact same} Guix." msgstr "Запуск @emph{exact same} Guix." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5428 guix-git/doc/guix.texi:5429 #, no-wrap msgid "Channel Authentication" msgstr "Аутентификация канала" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How Guix verifies what it fetches." msgstr "Как Guix проверяет то, что получает." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5468 guix-git/doc/guix.texi:5469 #, no-wrap msgid "Channels with Substitutes" msgstr "Каналы с заменителями" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Using channels with available substitutes." msgstr "Использование каналов с доступными заменителями." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5493 guix-git/doc/guix.texi:5494 #, no-wrap msgid "Creating a Channel" msgstr "Создание канала" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How to write your custom channel." msgstr "Как написать собственный канал." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5624 guix-git/doc/guix.texi:5625 #, no-wrap msgid "Package Modules in a Sub-directory" msgstr "Пакетные модули в поддиректории" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Specifying the channel's package modules location." msgstr "Задание расположения пакетных модулей канала." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5650 guix-git/doc/guix.texi:5651 #, no-wrap msgid "Declaring Channel Dependencies" msgstr "Объявление зависимостей канала" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "How to depend on other channels." msgstr "Как зависеть от других каналов." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5692 guix-git/doc/guix.texi:5693 #, no-wrap msgid "Specifying Channel Authorizations" msgstr "Указание авторизаций канала" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Defining channel authors authorizations." msgstr "Авторизация авторов канала." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5795 guix-git/doc/guix.texi:5796 #, no-wrap msgid "Primary URL" msgstr "Основной URL" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Distinguishing mirror to original." msgstr "Отличие зеркала от оригинала." #. type: section #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 #: guix-git/doc/guix.texi:5818 guix-git/doc/guix.texi:5819 #, no-wrap msgid "Writing Channel News" msgstr "Написание новостей канала" #. type: menuentry #: guix-git/doc/guix.texi:304 guix-git/doc/guix.texi:5220 msgid "Communicating information to channel's users." msgstr "Передача информации пользователям канала." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:5910 #, no-wrap msgid "Invoking guix shell" msgstr "Запуск guix shell" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #, fuzzy #| msgid "replication, of software environments" msgid "Spawning one-off software environments." msgstr "повторение, окружения программного обеспечения" #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:6456 #, no-wrap msgid "Invoking guix environment" msgstr "Запуск guix environment" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Setting up development environments." msgstr "Настройка окружения сборки." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:6853 #, no-wrap msgid "Invoking guix pack" msgstr "Запуск guix pack" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Creating software bundles." msgstr "Создание наборов программ." #. type: section #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:7382 guix-git/doc/guix.texi:7383 #, no-wrap msgid "The GCC toolchain" msgstr "Тулчейн GCC" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Working with languages supported by GCC." msgstr "Работа с языками, поддерживаемыми gcc." #. type: node #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 #: guix-git/doc/guix.texi:7408 #, no-wrap msgid "Invoking guix git authenticate" msgstr "Запуск guix git authenticate" #. type: menuentry #: guix-git/doc/guix.texi:312 guix-git/doc/guix.texi:5908 msgid "Authenticating Git repositories." msgstr "Аутентификация Git репозиториев." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:7550 guix-git/doc/guix.texi:7551 #, no-wrap msgid "Package Modules" msgstr "Пакетные модули" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Packages from the programmer's viewpoint." msgstr "Пакеты с точки зрения программиста." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:331 #: guix-git/doc/guix.texi:7548 guix-git/doc/guix.texi:7612 #: guix-git/doc/guix.texi:7613 #, no-wrap msgid "Defining Packages" msgstr "Описание пакетов" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Defining new packages." msgstr "Описание новых пакетов." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:8437 guix-git/doc/guix.texi:8438 #, fuzzy, no-wrap msgid "Defining Package Variants" msgstr "Описание пакетов" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Customizing packages." msgstr "Кастомизация пакетов." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:8726 guix-git/doc/guix.texi:8727 #, fuzzy, no-wrap #| msgid "Writing conventions." msgid "Writing Manifests" msgstr "Написание соглашений." #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "The bill of materials of your environment." msgstr "" #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:9031 guix-git/doc/guix.texi:9032 #, no-wrap msgid "Build Systems" msgstr "Системы сборки" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Specifying how packages are built." msgstr "Задание параметров сборки пакетов." #. type: subsection #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:10360 guix-git/doc/guix.texi:10361 #: guix-git/doc/guix.texi:10903 #, no-wrap msgid "Build Phases" msgstr "Фазы сборки" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Phases of the build process of a package." msgstr "Фазы процесса сборки пакета." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:10585 guix-git/doc/guix.texi:10586 #, fuzzy, no-wrap msgid "Build Utilities" msgstr "Утилиты" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Helpers for your package definitions and more." msgstr "Импорт описаниий пакетов." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11060 guix-git/doc/guix.texi:11061 #, fuzzy, no-wrap #| msgid "search paths" msgid "Search Paths" msgstr "пути поиска" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #, fuzzy #| msgid "Preparing the isolated build environment." msgid "Declaring search path environment variables." msgstr "Подготовка отдельного окружения сборки." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11264 guix-git/doc/guix.texi:11265 #, no-wrap msgid "The Store" msgstr "Хранилище" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Manipulating the package store." msgstr "Работа с хранилищем пакетов." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11416 guix-git/doc/guix.texi:11417 #, no-wrap msgid "Derivations" msgstr "Деривации" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Low-level interface to package derivations." msgstr "Низкоуровневый интерфейс дериваций пакетов." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11609 guix-git/doc/guix.texi:11610 #, no-wrap msgid "The Store Monad" msgstr "Устройство склада" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Purely functional interface to the store." msgstr "Чисто функциональный интерфейс доступа к складу." #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:11931 guix-git/doc/guix.texi:11932 #, no-wrap msgid "G-Expressions" msgstr "G-Expressions" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Manipulating build expressions." msgstr "Управление механизмом сборки." #. type: node #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:12623 #, no-wrap msgid "Invoking guix repl" msgstr "Запуск guix repl" #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Programming Guix in Guile" msgstr "Программирование Guix в Guile" #. type: section #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 #: guix-git/doc/guix.texi:12740 guix-git/doc/guix.texi:12741 #, fuzzy, no-wrap #| msgid "Using Guix in Scheme." msgid "Using Guix Interactively" msgstr "Использование Guix в Scheme." #. type: menuentry #: guix-git/doc/guix.texi:329 guix-git/doc/guix.texi:7548 msgid "Fine-grain interaction at the REPL." msgstr "" #. type: node #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 #: guix-git/doc/guix.texi:7819 #, no-wrap msgid "package Reference" msgstr "ссылка на пакет" #. type: menuentry #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 msgid "The package data type." msgstr "Тип данных package." #. type: node #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 #: guix-git/doc/guix.texi:8131 #, no-wrap msgid "origin Reference" msgstr "Интерфейс origin" #. type: menuentry #: guix-git/doc/guix.texi:334 guix-git/doc/guix.texi:7816 msgid "The origin data type." msgstr "Тип данных origin." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:12929 #, no-wrap msgid "Invoking guix build" msgstr "Запуск guix build" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Building packages from the command line." msgstr "Сборка пакетов в командной строке." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13887 #, no-wrap msgid "Invoking guix edit" msgstr "Запуск guix edit" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Editing package definitions." msgstr "Редактирование описания пакета." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13917 #, no-wrap msgid "Invoking guix download" msgstr "Запуск guix download" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Downloading a file and printing its hash." msgstr "Загрузка файла и вывод его хэша." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:13998 #, no-wrap msgid "Invoking guix hash" msgstr "Запуск guix hash" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Computing the cryptographic hash of a file." msgstr "Вычисление криптографического хеша файла." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:14089 #, no-wrap msgid "Invoking guix import" msgstr "Запуск guix import" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Importing package definitions." msgstr "Импорт описаниий пакетов." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:14776 #, no-wrap msgid "Invoking guix refresh" msgstr "Запуск guix refresh" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Updating package definitions." msgstr "Обновление описаний пакетов." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15232 #, fuzzy, no-wrap #| msgid "Invoking guix system" msgid "Invoking guix style" msgstr "Вызов guix system" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #, fuzzy #| msgid "Editing package definitions." msgid "Styling package definitions." msgstr "Редактирование описания пакета." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15441 #, no-wrap msgid "Invoking guix lint" msgstr "Запуск guix lint" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Finding errors in package definitions." msgstr "Поиск ошибок в описаниях пакетов." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15627 #, no-wrap msgid "Invoking guix size" msgstr "Запуск guix size" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Profiling disk usage." msgstr "Обзор использования диска." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:15771 #, no-wrap msgid "Invoking guix graph" msgstr "Запуск guix graph" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Visualizing the graph of packages." msgstr "Визуализация графа пакета." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16052 #, no-wrap msgid "Invoking guix publish" msgstr "Запуск guix publish" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Sharing substitutes." msgstr "Совместное использование подстановок." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16326 #, no-wrap msgid "Invoking guix challenge" msgstr "Запуск guix challenge" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Challenging substitute servers." msgstr "Соперничающие серверы подстановок." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16515 #, no-wrap msgid "Invoking guix copy" msgstr "Запуск guix copy" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Copying to and from a remote store." msgstr "Копирование из и в удалённый склад." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16579 #, no-wrap msgid "Invoking guix container" msgstr "Запуск guix container" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Process isolation." msgstr "Изоляция процесса." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16633 #, no-wrap msgid "Invoking guix weather" msgstr "Запуск guix weather" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Assessing substitute availability." msgstr "Оценка доступности подстановок." #. type: node #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 #: guix-git/doc/guix.texi:16782 #, no-wrap msgid "Invoking guix processes" msgstr "Запуск guix processes" #. type: menuentry #: guix-git/doc/guix.texi:353 guix-git/doc/guix.texi:12927 msgid "Listing client processes." msgstr "Чтение клиентских процессов." #. type: section #: guix-git/doc/guix.texi:355 guix-git/doc/guix.texi:12930 #, no-wrap msgid "Invoking @command{guix build}" msgstr "Запуск @command{guix build}" #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:12983 guix-git/doc/guix.texi:12984 #, no-wrap msgid "Common Build Options" msgstr "Стандартные параметры сборки" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Build options for most commands." msgstr "Параметры сборки для большинства команд." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13138 guix-git/doc/guix.texi:13139 #, no-wrap msgid "Package Transformation Options" msgstr "Параметры преобразования пакета" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Creating variants of packages." msgstr "Создание вариантов пакетов." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13561 guix-git/doc/guix.texi:13562 #, no-wrap msgid "Additional Build Options" msgstr "Дополнительные параметры сборки" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Options specific to 'guix build'." msgstr "Особые параметры для 'guix build'." #. type: subsection #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 #: guix-git/doc/guix.texi:13807 guix-git/doc/guix.texi:13808 #, no-wrap msgid "Debugging Build Failures" msgstr "Отладка ошибок сборки" #. type: menuentry #: guix-git/doc/guix.texi:360 guix-git/doc/guix.texi:12981 msgid "Real life packaging experience." msgstr "Жизненный опыт в сборке пакетов." #. type: section #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 #: guix-git/doc/guix.texi:16907 guix-git/doc/guix.texi:16908 #, fuzzy, no-wrap #| msgid "cross-compilation" msgid "Cross-Compilation" msgstr "кросс-компиляция" #. type: menuentry #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 msgid "Cross-compiling for another architecture." msgstr "" #. type: section #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 #: guix-git/doc/guix.texi:16959 guix-git/doc/guix.texi:16960 #, no-wrap msgid "Native Builds" msgstr "" #. type: menuentry #: guix-git/doc/guix.texi:365 guix-git/doc/guix.texi:16905 #, fuzzy #| msgid "Targeting another platform or kernel." msgid "Targeting another architecture through native builds." msgstr "Перевод на другую платформу или ядро." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17094 #, fuzzy, no-wrap #| msgid "Getting Started" msgid "Getting Started with the System" msgstr "Начиная" #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17297 guix-git/doc/guix.texi:17298 #, no-wrap msgid "Using the Configuration System" msgstr "Использование системы конфигурации" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Customizing your GNU system." msgstr "Настройка вашей системы GNU." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:17626 #, no-wrap msgid "operating-system Reference" msgstr "Интерфейс operating-system" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Detail of operating-system declarations." msgstr "Подробные сведения об объявлениях opertaing-system." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:389 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:17845 #: guix-git/doc/guix.texi:17846 #, no-wrap msgid "File Systems" msgstr "Файловые системы" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring file system mounts." msgstr "Настройка точек подключения файловой системы." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18222 guix-git/doc/guix.texi:18223 #, no-wrap msgid "Mapped Devices" msgstr "Размеченные устройства" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Block device extra processing." msgstr "Дополнительные проверки блочных устройств." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18395 guix-git/doc/guix.texi:18396 #, fuzzy, no-wrap #| msgid "swap space" msgid "Swap Space" msgstr "место на диске" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Backing RAM with disk space." msgstr "" #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:18577 guix-git/doc/guix.texi:18578 #, no-wrap msgid "User Accounts" msgstr "Учётные записи пользователей" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Specifying user accounts." msgstr "Задание пользовательских учётных записей." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:2233 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:18758 #: guix-git/doc/guix.texi:18759 #, no-wrap msgid "Keyboard Layout" msgstr "Раскладка клавиатуры" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "How the system interprets key strokes." msgstr "Интерпретация нажатия клавиш системой." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1712 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:18903 #: guix-git/doc/guix.texi:18904 #, no-wrap msgid "Locales" msgstr "Региональные настройки" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Language and cultural convention settings." msgstr "Настройка языка и культурных особенностей." #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Specifying system services." msgstr "Настройка системных служб." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42011 guix-git/doc/guix.texi:42012 #, fuzzy, no-wrap #| msgid "Setuid Programs" msgid "Privileged Programs" msgstr "Программы setuid" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #, fuzzy #| msgid "Programs running with root privileges." msgid "Programs running with elevated privileges." msgstr "Программы, выполняемые с правами root." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1876 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:42108 #: guix-git/doc/guix.texi:42109 #, no-wrap msgid "X.509 Certificates" msgstr "Сертификаты X.509" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Authenticating HTTPS servers." msgstr "Аутентификация серверов HTTPS." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:1771 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:42172 #: guix-git/doc/guix.texi:42173 #, no-wrap msgid "Name Service Switch" msgstr "Переключатель службы имен" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring libc's name service switch." msgstr "Настройка службы имён libc." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42310 guix-git/doc/guix.texi:42311 #, no-wrap msgid "Initial RAM Disk" msgstr "Начальный RAM-диск" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Linux-Libre bootstrapping." msgstr "Начальная загрузка Linux-Libre." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42517 guix-git/doc/guix.texi:42518 #, no-wrap msgid "Bootloader Configuration" msgstr "Настройка загрузчика" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Configuring the boot loader." msgstr "Конфигурирование загрузчика диска." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:42953 #, no-wrap msgid "Invoking guix system" msgstr "Вызов guix system" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Instantiating a system configuration." msgstr "Проверка конфигурации операционной системы." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:43600 #, no-wrap msgid "Invoking guix deploy" msgstr "Запуск guix deploy" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Deploying a system configuration to a remote host." msgstr "Развёртывание конфигурации системы на удалённой машине." #. type: node #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 #: guix-git/doc/guix.texi:43841 #, no-wrap msgid "Running Guix in a VM" msgstr "Запуск Guix на виртуальной машине" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "How to run Guix System in a virtual machine." msgstr "Как запускать систему Guix на виртуальной машине." #. type: section #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:433 #: guix-git/doc/guix.texi:17092 guix-git/doc/guix.texi:43976 #: guix-git/doc/guix.texi:43977 #, no-wrap msgid "Defining Services" msgstr "Создание служб" #. type: menuentry #: guix-git/doc/guix.texi:387 guix-git/doc/guix.texi:17092 msgid "Adding new service definitions." msgstr "Добавление новых определений служб." #. type: subsection #: guix-git/doc/guix.texi:391 guix-git/doc/guix.texi:18116 #: guix-git/doc/guix.texi:18118 guix-git/doc/guix.texi:18119 #, fuzzy, no-wrap msgid "Btrfs file system" msgstr "Сетевые файловые системы" #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:19143 guix-git/doc/guix.texi:19144 #, no-wrap msgid "Base Services" msgstr "Базовые службы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Essential system services." msgstr "Ключевые службы системы." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20517 guix-git/doc/guix.texi:20518 #, no-wrap msgid "Scheduled Job Execution" msgstr "Запланированное исполнения задач" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The mcron service." msgstr "Служба mcron." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20691 guix-git/doc/guix.texi:20692 #, no-wrap msgid "Log Rotation" msgstr "Ротация логов" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The rottlog service." msgstr "Сервис rottlog." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:20915 guix-git/doc/guix.texi:20916 #, fuzzy, no-wrap #| msgid "Networking" msgid "Networking Setup" msgstr "Сеть" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #, fuzzy #| msgid "user interfaces" msgid "Setting up network interfaces." msgstr "пользовательские интерфейсы" #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:21627 guix-git/doc/guix.texi:21628 #, no-wrap msgid "Networking Services" msgstr "Сервисы сети" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #, fuzzy #| msgid "Network setup, SSH daemon, etc." msgid "Firewall, SSH daemon, etc." msgstr "Установка сети, демон SSH и т.д." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23159 guix-git/doc/guix.texi:23160 #, no-wrap msgid "Unattended Upgrades" msgstr "Автоматические обновления" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Automated system upgrades." msgstr "Автоматические обновления системы." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23312 guix-git/doc/guix.texi:23313 #, no-wrap msgid "X Window" msgstr "Оконная система X" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Graphical display." msgstr "Графический дисплей." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:23975 guix-git/doc/guix.texi:23976 #, no-wrap msgid "Printing Services" msgstr "Сервисы печати" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Local and remote printer support." msgstr "Поддержка локальных и удалённых принтеров." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:24797 guix-git/doc/guix.texi:24798 #, no-wrap msgid "Desktop Services" msgstr "Сервисы рабочего стола" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "D-Bus and desktop services." msgstr "D-Bus и сервисы рабочего стола." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:25995 guix-git/doc/guix.texi:25996 #, no-wrap msgid "Sound Services" msgstr "Звуковые сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "ALSA and Pulseaudio services." msgstr "Сервисы ALSA и Pulseaudio." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26168 guix-git/doc/guix.texi:26169 #, fuzzy, no-wrap msgid "File Search Services" msgstr "Сервисы сообщений" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Tools to search for files." msgstr "" #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26272 guix-git/doc/guix.texi:26273 #, no-wrap msgid "Database Services" msgstr "Сервисы баз данных" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "SQL databases, key-value stores, etc." msgstr "Базы данных SQL, базы ключ-значение и т. д." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:26639 guix-git/doc/guix.texi:26640 #, no-wrap msgid "Mail Services" msgstr "Почтовые сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "IMAP, POP3, SMTP, and all that." msgstr "IMAP, POP3, SMTP и прочее." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:28741 guix-git/doc/guix.texi:28742 #, no-wrap msgid "Messaging Services" msgstr "Сервисы сообщений" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Messaging services." msgstr "Сервисы сообщений." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:29252 guix-git/doc/guix.texi:29253 #, no-wrap msgid "Telephony Services" msgstr "Сервисы телефонии" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Telephony services." msgstr "Сервисы телефонии." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:29704 guix-git/doc/guix.texi:29705 #, fuzzy, no-wrap msgid "File-Sharing Services" msgstr "Сервисы сообщений" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #, fuzzy msgid "File-sharing services." msgstr "Сервисы сообщений." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:30502 guix-git/doc/guix.texi:30503 #, no-wrap msgid "Monitoring Services" msgstr "Сервисы мониторинга" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Monitoring services." msgstr "Сервисы мониторинга." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31160 guix-git/doc/guix.texi:31161 #, no-wrap msgid "Kerberos Services" msgstr "Сервисы Kerberos" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Kerberos services." msgstr "Сервисы Kerberos." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31286 guix-git/doc/guix.texi:31287 #, no-wrap msgid "LDAP Services" msgstr "LDAP Сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "LDAP services." msgstr "LDAP сервисы." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:31950 guix-git/doc/guix.texi:31951 #, no-wrap msgid "Web Services" msgstr "Веб-сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Web servers." msgstr "Веб-серверы." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:33257 guix-git/doc/guix.texi:33258 #, no-wrap msgid "Certificate Services" msgstr "Сервисы сертификатов" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "TLS certificates via Let's Encrypt." msgstr "Сертификаты TLS через Let's Encrypt." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:33437 guix-git/doc/guix.texi:33438 #, no-wrap msgid "DNS Services" msgstr "Сервисы DNS" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "DNS daemons." msgstr "DNS-демоны." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34094 guix-git/doc/guix.texi:34095 #, fuzzy, no-wrap #| msgid "VPN Services" msgid "VNC Services" msgstr "VPN-сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #, fuzzy #| msgid "VPN daemons." msgid "VNC daemons." msgstr "VPN-демоны." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34248 guix-git/doc/guix.texi:34249 #, no-wrap msgid "VPN Services" msgstr "VPN-сервисы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "VPN daemons." msgstr "VPN-демоны." #. type: node #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34618 guix-git/doc/guix.texi:34619 #: guix-git/doc/guix.texi:34814 #, no-wrap msgid "Network File System" msgstr "Сетевые файловые системы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "NFS related services." msgstr "Сервисы, работающие с сетевыми файловыми системами." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34814 guix-git/doc/guix.texi:34815 #, fuzzy, no-wrap #| msgid "Game Services" msgid "Samba Services" msgstr "Игровые службы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #, fuzzy #| msgid "pam-services" msgid "Samba services." msgstr "Базовые сервисы" #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:34814 guix-git/doc/guix.texi:34966 #: guix-git/doc/guix.texi:34967 #, no-wrap msgid "Continuous Integration" msgstr "Длительная интеграция" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Cuirass and Laminar services." msgstr "Сервис Cuirass." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:35264 guix-git/doc/guix.texi:35265 #, no-wrap msgid "Power Management Services" msgstr "Сервисы управления питанием" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Extending battery life." msgstr "Продление жизни батареи." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:35895 guix-git/doc/guix.texi:35896 #, no-wrap msgid "Audio Services" msgstr "Сервисы аудио" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "The MPD." msgstr "MPD." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:36302 guix-git/doc/guix.texi:36303 #, no-wrap msgid "Virtualization Services" msgstr "Сервисы виртуализации" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Virtualization services." msgstr "Сервисы виртуализации." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:38205 guix-git/doc/guix.texi:38206 #, no-wrap msgid "Version Control Services" msgstr "Сервисы упраления версиями" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Providing remote access to Git repositories." msgstr "Доступ к удалённым репозиториям Git." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39562 guix-git/doc/guix.texi:39563 #, no-wrap msgid "Game Services" msgstr "Игровые службы" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Game servers." msgstr "Игровые службы." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39617 guix-git/doc/guix.texi:39618 #, no-wrap msgid "PAM Mount Service" msgstr "Службы подключения PAM" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Service to mount volumes when logging in." msgstr "Служба подключения томов при входе в систему." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:39798 guix-git/doc/guix.texi:39799 #, no-wrap msgid "Guix Services" msgstr "Сервисы Guix" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Services relating specifically to Guix." msgstr "Сервисы, касающиеся конкретно Guix." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:40295 guix-git/doc/guix.texi:40296 #, no-wrap msgid "Linux Services" msgstr "Службы Linux" #. type: menuentry #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 msgid "Services tied to the Linux kernel." msgstr "Службы, привязанные к ядру Linux." #. type: subsection #: guix-git/doc/guix.texi:431 guix-git/doc/guix.texi:19141 #: guix-git/doc/guix.texi:40672 guix-git/doc/guix.texi:40673 #, no-wrap msgid "Hurd Services" msgstr "Сервисы Hurd" #. type: menuentry #: guix-git/doc/guix.texi:431 gui